From 34a87fd98503adb969c7e7d29b76be22933935c1 Mon Sep 17 00:00:00 2001 From: trz0332 Date: Thu, 18 Aug 2022 20:19:49 +0800 Subject: [PATCH 1/3] Update __init__.py --- broadlink/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/broadlink/__init__.py b/broadlink/__init__.py index 2f66c427..4c791365 100644 --- a/broadlink/__init__.py +++ b/broadlink/__init__.py @@ -67,6 +67,7 @@ 0xA56C: ("SP4L-EU", "Broadlink"), 0xA589: ("SP4L-UK", "Broadlink"), 0xA5D3: ("SP4L-EU", "Broadlink"), + 0xA4F9: ("WS4", "Broadlink (OEM)"), }, sp4b: { 0x5115: ("SCB1E", "Broadlink"), @@ -140,6 +141,9 @@ a1: { 0x2714: ("e-Sensor", "Broadlink"), }, + a2: { + 0x4F60: ("e-Sensor", "Broadlink"), + }, mp1: { 0x4EB5: ("MP1-1K4S", "Broadlink"), 0x4EF7: ("MP1-1K4S", "Broadlink (OEM)"), From 11fd90541b135f1306a398b2393b3b92da34baf3 Mon Sep 17 00:00:00 2001 From: trz0332 Date: Thu, 18 Aug 2022 20:21:05 +0800 Subject: [PATCH 2/3] Update sensor.py --- broadlink/sensor.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/broadlink/sensor.py b/broadlink/sensor.py index 33e7587d..e7ec87b9 100644 --- a/broadlink/sensor.py +++ b/broadlink/sensor.py @@ -45,3 +45,26 @@ def check_sensors_raw(self) -> dict: "air_quality": data[0x6], "noise": data[0x8], } + +class a2(Device): + """Controls a Broadlink A2.""" + + TYPE = "A2" + + + def check_sensors_raw(self) -> dict: + """Return the state of the sensors in raw format.""" + #packet = bytearray([0x1]) + packet=bytes.fromhex("0c00a5a55a5ab9c0010b") + response = self.send_packet(0x6A, packet) + e.check_error(response[0x22:0x24]) + payload = self.decrypt(response[0x38:]) + data = payload[0x6:] + + return { + "temperature": data[0xd]*255+ data[0xe], + "humidity": data[0xf]*255+ data[0x10], + "PM10": data[0x7]*255+ data[0x8], + "PM2.5": data[0x9]*255+ data[0xa], + "PM1.0": data[0xb]*255+ data[0xc], + } From 237c943f20e49c1d6b150bc3a0058bdb1b2bcbd4 Mon Sep 17 00:00:00 2001 From: trz0332 Date: Thu, 18 Aug 2022 20:53:48 +0800 Subject: [PATCH 3/3] Update __init__.py --- broadlink/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/broadlink/__init__.py b/broadlink/__init__.py index 4c791365..96491a2d 100644 --- a/broadlink/__init__.py +++ b/broadlink/__init__.py @@ -12,7 +12,7 @@ from .hub import s3 from .light import lb1, lb2 from .remote import rm, rm4, rm4mini, rm4pro, rmmini, rmminib, rmpro -from .sensor import a1 +from .sensor import a1,a2 from .switch import bg1, mp1, sp1, sp2, sp2s, sp3, sp3s, sp4, sp4b SUPPORTED_TYPES = {