diff --git a/broadlink/__init__.py b/broadlink/__init__.py index 12d8b30..bfa3052 100644 --- a/broadlink/__init__.py +++ b/broadlink/__init__.py @@ -179,8 +179,16 @@ class device: aes = AES.new(bytes(self.key), AES.MODE_CBC, bytes(self.iv)) payload = aes.decrypt(bytes(enc_payload)) + if not payload: + return False + + key = payload[0x04:0x14] + if len(key) % 16 != 0: + return False + self.id = payload[0x00:0x04] - self.key = payload[0x04:0x14] + self.key = key + return True def get_type(self): return self.type