Add guards for missing value in binary_sensor platform of zwave_js integration (#46293)

This commit is contained in:
Marcel van der Veldt 2021-02-10 16:30:16 +01:00 committed by GitHub
parent 917a616ce1
commit 74647e1fa8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -268,8 +268,10 @@ class ZWaveBooleanBinarySensor(ZWaveBaseEntity, BinarySensorEntity):
self._name = self.generate_name(include_value_name=True)
@property
def is_on(self) -> bool:
def is_on(self) -> Optional[bool]:
"""Return if the sensor is on or off."""
if self.info.primary_value.value is None:
return None
return bool(self.info.primary_value.value)
@property
@ -312,8 +314,10 @@ class ZWaveNotificationBinarySensor(ZWaveBaseEntity, BinarySensorEntity):
self._mapping_info = self._get_sensor_mapping()
@property
def is_on(self) -> bool:
def is_on(self) -> Optional[bool]:
"""Return if the sensor is on or off."""
if self.info.primary_value.value is None:
return None
return int(self.info.primary_value.value) == int(self.state_key)
@property
@ -361,8 +365,10 @@ class ZWavePropertyBinarySensor(ZWaveBaseEntity, BinarySensorEntity):
self._name = self.generate_name(include_value_name=True)
@property
def is_on(self) -> bool:
def is_on(self) -> Optional[bool]:
"""Return if the sensor is on or off."""
if self.info.primary_value.value is None:
return None
return self.info.primary_value.value in self._mapping_info["on_states"]
@property