From e2c8d37a9a988fad349dc8b04589ba7981c86222 Mon Sep 17 00:00:00 2001 From: EiNSTeiN- Date: Fri, 8 Apr 2022 06:36:37 -0400 Subject: [PATCH 1/3] Add None guard for humidifier entity is_on --- homeassistant/components/zwave_js/humidifier.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/zwave_js/humidifier.py b/homeassistant/components/zwave_js/humidifier.py index b94c7a8e2a3622..20582ebcb87b3f 100644 --- a/homeassistant/components/zwave_js/humidifier.py +++ b/homeassistant/components/zwave_js/humidifier.py @@ -150,10 +150,9 @@ def __init__( @property def is_on(self) -> bool | None: """Return True if entity is on.""" - return int(self._current_mode.value) in [ - self.entity_description.on_mode, - HumidityControlMode.AUTO, - ] + if (value := self._current_mode.value) is None: + return None + return int(value) in [self.entity_description.on_mode, HumidityControlMode.AUTO] def _supports_inverse_mode(self) -> bool: return ( From 874aac468e4f89f1407e4bda2e9567ca04091009 Mon Sep 17 00:00:00 2001 From: EiNSTeiN- Date: Fri, 8 Apr 2022 09:28:05 -0400 Subject: [PATCH 2/3] Add guards in more places --- homeassistant/components/zwave_js/humidifier.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/zwave_js/humidifier.py b/homeassistant/components/zwave_js/humidifier.py index 20582ebcb87b3f..f054ce4545ee48 100644 --- a/homeassistant/components/zwave_js/humidifier.py +++ b/homeassistant/components/zwave_js/humidifier.py @@ -162,7 +162,9 @@ def _supports_inverse_mode(self) -> bool: async def async_turn_on(self, **kwargs: Any) -> None: """Turn on device.""" - mode = int(self._current_mode.value) + if (value := self._current_mode.value) is None: + return + mode = int(value) if mode == HumidityControlMode.OFF: new_mode = self.entity_description.on_mode elif mode == self.entity_description.inverse_mode: @@ -174,7 +176,9 @@ async def async_turn_on(self, **kwargs: Any) -> None: async def async_turn_off(self, **kwargs: Any) -> None: """Turn off device.""" - mode = int(self._current_mode.value) + if (value := self._current_mode.value) is None: + return + mode = int(value) if mode == HumidityControlMode.AUTO: if self._supports_inverse_mode(): new_mode = self.entity_description.inverse_mode @@ -190,7 +194,7 @@ async def async_turn_off(self, **kwargs: Any) -> None: @property def target_humidity(self) -> int | None: """Return the humidity we try to reach.""" - if not self._setpoint: + if not (self._setpoint and self._setpoint.value): return None return int(self._setpoint.value) From 050ac711caffb844ce85d8db3215f7e295b480f8 Mon Sep 17 00:00:00 2001 From: Francois Chagnon Date: Fri, 8 Apr 2022 10:01:38 -0400 Subject: [PATCH 3/3] Update homeassistant/components/zwave_js/humidifier.py Co-authored-by: Martin Hjelmare --- homeassistant/components/zwave_js/humidifier.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/zwave_js/humidifier.py b/homeassistant/components/zwave_js/humidifier.py index f054ce4545ee48..44d7bc19bbb19b 100644 --- a/homeassistant/components/zwave_js/humidifier.py +++ b/homeassistant/components/zwave_js/humidifier.py @@ -194,7 +194,7 @@ async def async_turn_off(self, **kwargs: Any) -> None: @property def target_humidity(self) -> int | None: """Return the humidity we try to reach.""" - if not (self._setpoint and self._setpoint.value): + if not self._setpoint or self._setpoint.value is None: return None return int(self._setpoint.value)