diff options
-rw-r--r-- | broadlink/__init__.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/broadlink/__init__.py b/broadlink/__init__.py index 3fe28a81c920..e757f90005a8 100644 --- a/broadlink/__init__.py +++ b/broadlink/__init__.py @@ -245,6 +245,11 @@ class device: packet[0x32] = self.id[2] packet[0x33] = self.id[3] + # pad the payload for AES encryption + if len(payload)>0: + numpad=(len(payload)//16+1)*16 + payload=payload.ljust(numpad,"\x00") + checksum = 0xbeaf for i in range(len(payload)): checksum += payload[i] @@ -539,4 +544,4 @@ def setup(ssid, password, security_mode): socket.SOCK_DGRAM) # UDP sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) - sock.sendto(payload, ('255.255.255.255', 80)) \ No newline at end of file + sock.sendto(payload, ('255.255.255.255', 80)) |