From 2ab4d8d55119d4a1ca24139ab175e1527c221c07 Mon Sep 17 00:00:00 2001 From: fustom Date: Mon, 14 Nov 2022 11:37:56 +0100 Subject: [PATCH] Add heating_cooling state --- broadlink/climate.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/broadlink/climate.py b/broadlink/climate.py index eee5f119..15aea900 100644 --- a/broadlink/climate.py +++ b/broadlink/climate.py @@ -64,6 +64,7 @@ def get_full_status(self) -> dict: data["power"] = payload[4] & 1 data["active"] = (payload[4] >> 4) & 1 data["temp_manual"] = (payload[4] >> 6) & 1 + data["heating_cooling"] = (payload[4] >> 7) & 1 data["room_temp"] = payload[5] / 2.0 data["thermostat_temp"] = payload[6] / 2.0 data["auto_mode"] = payload[7] & 0xF @@ -185,9 +186,11 @@ def set_temp(self, temp: float) -> None: # Set device on(1) or off(0), does not deactivate Wifi connectivity. # Remote lock disables control by buttons on thermostat. - def set_power(self, power: int = 1, remote_lock: int = 0) -> None: + # heating_cooling: heating(0) cooling(1) + def set_power(self, power: int = 1, remote_lock: int = 0, heating_cooling: int = 0) -> None: """Set the power state of the device.""" - self.send_request([0x01, 0x06, 0x00, 0x00, remote_lock, power]) + state = (heating_cooling << 7) + power + self.send_request([0x01, 0x06, 0x00, 0x00, remote_lock, state]) # set time on device # n.b. day=1 is Monday, ..., day=7 is Sunday