diff --git a/homeassistant/components/huawei_lte/binary_sensor.py b/homeassistant/components/huawei_lte/binary_sensor.py index b053e801c95..9a5f148d138 100644 --- a/homeassistant/components/huawei_lte/binary_sensor.py +++ b/homeassistant/components/huawei_lte/binary_sensor.py @@ -81,11 +81,14 @@ class HuaweiLteBaseBinarySensor(HuaweiLteBaseEntity, BinarySensorEntity): try: value = self.router.data[self.key][self.item] except KeyError: + value = None _LOGGER.debug("%s[%s] not in data", self.key, self.item) + if value is None: + self._raw_state = value self._available = False - return - self._available = True - self._raw_state = str(value) + else: + self._raw_state = str(value) + self._available = True CONNECTION_STATE_ATTRIBUTES = { diff --git a/homeassistant/components/huawei_lte/sensor.py b/homeassistant/components/huawei_lte/sensor.py index 56bb6dbcdf9..3815ac831b5 100644 --- a/homeassistant/components/huawei_lte/sensor.py +++ b/homeassistant/components/huawei_lte/sensor.py @@ -434,12 +434,11 @@ class HuaweiLteSensor(HuaweiLteBaseEntity): value = self.router.data[self.key][self.item] except KeyError: _LOGGER.debug("%s[%s] not in data", self.key, self.item) - self._available = False - return - self._available = True + value = None formatter = self.meta.formatter if not callable(formatter): formatter = format_default self._state, self._unit = formatter(value) + self._available = value is not None