From 401d25e60f82583ea24d62beba60ec39128a1127 Mon Sep 17 00:00:00 2001 From: whc2001 Date: Fri, 12 Jul 2024 17:32:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=A7=20fix=20humidifier=20mode=20se?= =?UTF-8?q?tting=20when=20power=20is=20off?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/xiaomi_miot/humidifier.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom_components/xiaomi_miot/humidifier.py b/custom_components/xiaomi_miot/humidifier.py index ebd112edf..e4d7a8f10 100644 --- a/custom_components/xiaomi_miot/humidifier.py +++ b/custom_components/xiaomi_miot/humidifier.py @@ -190,6 +190,9 @@ def available_modes(self): def set_mode(self, mode: str): if mode == MODE_OFF: return self.turn_off() + if mode != MODE_OFF and not self.is_on: + if not self.turn_on(): + return False if not self._prop_mode: return False val = self._prop_mode.list_value(mode) From 280f7ed1f357825fdf35fb8b24376cf1ec847253 Mon Sep 17 00:00:00 2001 From: whc2001 Date: Fri, 12 Jul 2024 17:42:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=94=A7=20allow=20mode=20sanity=20chec?= =?UTF-8?q?k=20before=20turning=20on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom_components/xiaomi_miot/humidifier.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/xiaomi_miot/humidifier.py b/custom_components/xiaomi_miot/humidifier.py index e4d7a8f10..d09b1456c 100644 --- a/custom_components/xiaomi_miot/humidifier.py +++ b/custom_components/xiaomi_miot/humidifier.py @@ -190,12 +190,12 @@ def available_modes(self): def set_mode(self, mode: str): if mode == MODE_OFF: return self.turn_off() - if mode != MODE_OFF and not self.is_on: - if not self.turn_on(): - return False if not self._prop_mode: return False val = self._prop_mode.list_value(mode) if val is None: return False + if mode != MODE_OFF and not self.is_on: + if not self.turn_on(): + return False return self.set_property(self._prop_mode, val)