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 <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
Francois Chagnon 2022-04-08 11:27:06 -04:00 committed by GitHub
parent fa13a243d4
commit c70c9ac341
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)