From c70c9ac3410ffbd35107e5b053c16636917c868e Mon Sep 17 00:00:00 2001 From: Francois Chagnon Date: Fri, 8 Apr 2022 11:27:06 -0400 Subject: [PATCH] Add None guard for zwave_js humidifier entity (#69667) * Add None guard for humidifier entity is_on * Add guards in more places * Update homeassistant/components/zwave_js/humidifier.py Co-authored-by: Martin Hjelmare Co-authored-by: Martin Hjelmare --- homeassistant/components/zwave_js/humidifier.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/zwave_js/humidifier.py b/homeassistant/components/zwave_js/humidifier.py index b94c7a8e2a3..44d7bc19bbb 100644 --- a/homeassistant/components/zwave_js/humidifier.py +++ b/homeassistant/components/zwave_js/humidifier.py @@ -150,10 +150,9 @@ class ZWaveHumidifier(ZWaveBaseEntity, HumidifierEntity): @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 ( @@ -163,7 +162,9 @@ class ZWaveHumidifier(ZWaveBaseEntity, HumidifierEntity): 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: @@ -175,7 +176,9 @@ class ZWaveHumidifier(ZWaveBaseEntity, HumidifierEntity): 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 @@ -191,7 +194,7 @@ class ZWaveHumidifier(ZWaveBaseEntity, HumidifierEntity): @property def target_humidity(self) -> int | None: """Return the humidity we try to reach.""" - if not self._setpoint: + if not self._setpoint or self._setpoint.value is None: return None return int(self._setpoint.value)