From 865b866c043a585f4dfced1d99e4cbc206afbdf1 Mon Sep 17 00:00:00 2001 From: Diogo Gomes Date: Sun, 25 Feb 2018 02:07:14 +0000 Subject: [PATCH] Fix for unavailable units during initial startup --- homeassistant/components/sensor/filter.py | 26 +++++++++-------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/sensor/filter.py b/homeassistant/components/sensor/filter.py index 6bf258f4b7a..8e3cda2b7c3 100644 --- a/homeassistant/components/sensor/filter.py +++ b/homeassistant/components/sensor/filter.py @@ -119,24 +119,19 @@ class SensorFilter(Entity): self._state = new_state.state for filt in self._filters: - filtered_state = filt.filter_state(self._state) - _LOGGER.debug("%s(%s) -> %s", filt.name, self._state, - filtered_state) - self._state = filtered_state - filt.states.append(filtered_state) + try: + filtered_state = filt.filter_state(self._state) + _LOGGER.debug("%s(%s) -> %s", filt.name, self._state, + filtered_state) + self._state = filtered_state + filt.states.append(filtered_state) + except ValueError: + _LOGGER.warning("Could not convert state to number") self.async_schedule_update_ha_state(True) - @callback - def filter_sensor_startup(event): - """Update filter on startup.""" - async_track_state_change( - self.hass, self._entity, filter_sensor_state_listener) - - self.async_schedule_update_ha_state(True) - - self.hass.bus.async_listen_once( - EVENT_HOMEASSISTANT_START, filter_sensor_startup) + async_track_state_change( + self.hass, self._entity, filter_sensor_state_listener) @property def name(self): @@ -167,7 +162,6 @@ class SensorFilter(Entity): def device_state_attributes(self): """Return the state attributes of the sensor.""" state_attr = { - ATTR_UNIT_OF_MEASUREMENT: self._unit_of_measurement, ATTR_ENTITY_ID: self._entity } for filt in self._filters: