From 823ce159ddd46ca62eed82a715ae09ffe33d769e Mon Sep 17 00:00:00 2001 From: kanshurichard Date: Fri, 4 Apr 2025 00:00:02 +0800 Subject: [PATCH 1/2] Fix the error to adapt for real A2 requests --- .DS_Store | Bin 0 -> 6148 bytes broadlink/sensor.py | 29 +++-------------------------- 2 files changed, 3 insertions(+), 26 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..723960bcec2610086afa2acc5bf040fb694b98e8 GIT binary patch literal 6148 zcmeHK%}T>S5T0$TO(;SS3VK`cTClAmikDF93mDOZN=-=7(3q99wTDv3U0=u-@p+ut z-H4?XJc-yDnEhtwC(C{bJ6Qk_opICxr~`n5N?3AnSRxcBU67LX5DNW_2oi`Pg+Vx3 z$Y#f1WPskC3n65nAb>CLZ}=1@D#Ykp_>{!MQM36jO6AJhdex~qHRslUP!oR?jK;%G zkX_U4La8Jy>>#|1`;%UM^HimyAWr+4E{LN(rrcb`X{06{HBO_UuJuj8aUHi;-;3-&$E~tH02=l%J>|+vamN4p;t%0)af8RgFG?=%)mSY zWizc)|3CZw{y$&DGiHDp_*V>wO4sjpa7(tgE^Ll^twg;;C850B;AaUMx)ozCwc>45 aE$EkIAbJ*agXlrw9|27R56r-?GVlQxl1+dB literal 0 HcmV?d00001 diff --git a/broadlink/sensor.py b/broadlink/sensor.py index 284576fa..12d4a1ca 100644 --- a/broadlink/sensor.py +++ b/broadlink/sensor.py @@ -47,39 +47,16 @@ class a2(Device): TYPE = "A2" - def _send(self, operation: int, data: Sequence = b""): + def _send(self, data: bytes) -> bytes: """Send a command to the device.""" - packet = bytearray(12) - packet[0x02] = 0xA5 - packet[0x03] = 0xA5 - packet[0x04] = 0x5A - packet[0x05] = 0x5A - packet[0x08] = operation - packet[0x09] = 0x0B - - if data: - data_len = len(data) - packet[0x0A] = data_len & 0xFF - packet[0x0B] = data_len >> 8 - packet += bytes(2) - packet.extend(data) - - checksum = sum(packet, 0xBEAF) & 0xFFFF - packet[0x06] = checksum & 0xFF - packet[0x07] = checksum >> 8 - - packet_len = len(packet) - 2 - packet[0x00] = packet_len & 0xFF - packet[0x01] = packet_len >> 8 - - resp = self.send_packet(0x6A, packet) + resp = self.send_packet(0x6A, data) e.check_error(resp[0x22:0x24]) payload = self.decrypt(resp[0x38:]) return payload def check_sensors_raw(self) -> dict: """Return the state of the sensors in raw format.""" - data = self._send(1) + data = self._send(bytes.fromhex("0c00a5a55a5ab9c0010b000000000000")) return { "temperature": data[0x13] * 256 + data[0x14], From a0e43db0e88f8b230a6a7cfe817f92cc15dfc9c2 Mon Sep 17 00:00:00 2001 From: kanshurichard Date: Fri, 4 Apr 2025 00:06:49 +0800 Subject: [PATCH 2/2] Delete .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 723960bcec2610086afa2acc5bf040fb694b98e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5T0$TO(;SS3VK`cTClAmikDF93mDOZN=-=7(3q99wTDv3U0=u-@p+ut z-H4?XJc-yDnEhtwC(C{bJ6Qk_opICxr~`n5N?3AnSRxcBU67LX5DNW_2oi`Pg+Vx3 z$Y#f1WPskC3n65nAb>CLZ}=1@D#Ykp_>{!MQM36jO6AJhdex~qHRslUP!oR?jK;%G zkX_U4La8Jy>>#|1`;%UM^HimyAWr+4E{LN(rrcb`X{06{HBO_UuJuj8aUHi;-;3-&$E~tH02=l%J>|+vamN4p;t%0)af8RgFG?=%)mSY zWizc)|3CZw{y$&DGiHDp_*V>wO4sjpa7(tgE^Ll^twg;;C850B;AaUMx)ozCwc>45 aE$EkIAbJ*agXlrw9|27R56r-?GVlQxl1+dB