mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Fix a bug where long sms messages get cut off (#34359)
* Fix a bug where long sms messages get cut off * Clean up Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
parent
b78b705e32
commit
a9bbc42981
@ -34,14 +34,29 @@ class SMSNotificationService(BaseNotificationService):
|
|||||||
|
|
||||||
def send_message(self, message="", **kwargs):
|
def send_message(self, message="", **kwargs):
|
||||||
"""Send SMS message."""
|
"""Send SMS message."""
|
||||||
# Prepare message data
|
smsinfo = {
|
||||||
# We tell that we want to use first SMSC number stored in phone
|
"Class": -1,
|
||||||
gammu_message = {
|
"Unicode": False,
|
||||||
"Text": message,
|
"Entries": [{"ID": "ConcatenatedTextLong", "Buffer": message}],
|
||||||
"SMSC": {"Location": 1},
|
|
||||||
"Number": self.number,
|
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
self.gateway.SendSMS(gammu_message)
|
# Encode messages
|
||||||
|
encoded = gammu.EncodeSMS(smsinfo) # pylint: disable=no-member
|
||||||
except gammu.GSMError as exc: # pylint: disable=no-member
|
except gammu.GSMError as exc: # pylint: disable=no-member
|
||||||
_LOGGER.error("Sending to %s failed: %s", self.number, exc)
|
_LOGGER.error("Encoding message %s failed: %s", message, exc)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Send messages
|
||||||
|
for encoded_message in encoded:
|
||||||
|
# Prepare message data
|
||||||
|
gammu_message = {
|
||||||
|
"Text": encoded_message["Text"],
|
||||||
|
# We tell that we want to use first SMSC number stored in phone
|
||||||
|
"SMSC": {"Location": 1},
|
||||||
|
"Number": self.number,
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
# Actually send the message
|
||||||
|
self.gateway.SendSMS(gammu_message)
|
||||||
|
except gammu.GSMError as exc: # pylint: disable=no-member
|
||||||
|
_LOGGER.error("Sending to %s failed: %s", self.number, exc)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user