diff --git a/homeassistant/components/tado/__init__.py b/homeassistant/components/tado/__init__.py index 0f4e7e1c418..1261311c767 100644 --- a/homeassistant/components/tado/__init__.py +++ b/homeassistant/components/tado/__init__.py @@ -217,9 +217,16 @@ class TadoConnector: self.data[sensor_type][sensor] = data - _LOGGER.debug("Dispatching update to %s %s: %s", sensor_type, sensor, data) + _LOGGER.debug( + "Dispatching update to %s %s %s: %s", + self.device_id, + sensor_type, + sensor, + data, + ) dispatcher_send( - self.hass, SIGNAL_TADO_UPDATE_RECEIVED.format(sensor_type, sensor) + self.hass, + SIGNAL_TADO_UPDATE_RECEIVED.format(self.device_id, sensor_type, sensor), ) def get_capabilities(self, zone_id): diff --git a/homeassistant/components/tado/climate.py b/homeassistant/components/tado/climate.py index 8b2da9e632d..7d26dbb20ee 100644 --- a/homeassistant/components/tado/climate.py +++ b/homeassistant/components/tado/climate.py @@ -215,23 +215,21 @@ class TadoClimate(TadoZoneEntity, ClimateDevice): self._current_tado_hvac_action = CURRENT_HVAC_OFF self._current_tado_swing_mode = TADO_SWING_OFF - self._undo_dispatcher = None self._tado_zone_data = None self._async_update_zone_data() - async def async_will_remove_from_hass(self): - """When entity will be removed from hass.""" - if self._undo_dispatcher: - self._undo_dispatcher() - async def async_added_to_hass(self): """Register for sensor updates.""" - self._undo_dispatcher = async_dispatcher_connect( - self.hass, - SIGNAL_TADO_UPDATE_RECEIVED.format("zone", self.zone_id), - self._async_update_callback, + self.async_on_remove( + async_dispatcher_connect( + self.hass, + SIGNAL_TADO_UPDATE_RECEIVED.format( + self._tado.device_id, "zone", self.zone_id + ), + self._async_update_callback, + ) ) @property diff --git a/homeassistant/components/tado/const.py b/homeassistant/components/tado/const.py index 67f71b97430..9fc7b198054 100644 --- a/homeassistant/components/tado/const.py +++ b/homeassistant/components/tado/const.py @@ -139,7 +139,7 @@ TADO_SWING_ON = "ON" DOMAIN = "tado" -SIGNAL_TADO_UPDATE_RECEIVED = "tado_update_received_{}_{}" +SIGNAL_TADO_UPDATE_RECEIVED = "tado_update_received_{}_{}_{}" UNIQUE_ID = "unique_id" DEFAULT_NAME = "Tado" diff --git a/homeassistant/components/tado/manifest.json b/homeassistant/components/tado/manifest.json index f739459402a..feff03d0b81 100644 --- a/homeassistant/components/tado/manifest.json +++ b/homeassistant/components/tado/manifest.json @@ -2,7 +2,7 @@ "domain": "tado", "name": "Tado", "documentation": "https://www.home-assistant.io/integrations/tado", - "requirements": ["python-tado==0.6.0"], + "requirements": ["python-tado==0.8.1"], "codeowners": ["@michaelarnauts", "@bdraco"], "config_flow": true, "homekit": { diff --git a/homeassistant/components/tado/sensor.py b/homeassistant/components/tado/sensor.py index 1d409a8a4e9..ceca0e0170e 100644 --- a/homeassistant/components/tado/sensor.py +++ b/homeassistant/components/tado/sensor.py @@ -104,20 +104,18 @@ class TadoZoneSensor(TadoZoneEntity, Entity): self._state = None self._state_attributes = None self._tado_zone_data = None - self._undo_dispatcher = None - - async def async_will_remove_from_hass(self): - """When entity will be removed from hass.""" - if self._undo_dispatcher: - self._undo_dispatcher() async def async_added_to_hass(self): """Register for sensor updates.""" - self._undo_dispatcher = async_dispatcher_connect( - self.hass, - SIGNAL_TADO_UPDATE_RECEIVED.format("zone", self.zone_id), - self._async_update_callback, + self.async_on_remove( + async_dispatcher_connect( + self.hass, + SIGNAL_TADO_UPDATE_RECEIVED.format( + self._tado.device_id, "zone", self.zone_id + ), + self._async_update_callback, + ) ) self._async_update_zone_data() @@ -245,20 +243,18 @@ class TadoDeviceSensor(Entity): self._state = None self._state_attributes = None self._tado_device_data = None - self._undo_dispatcher = None - - async def async_will_remove_from_hass(self): - """When entity will be removed from hass.""" - if self._undo_dispatcher: - self._undo_dispatcher() async def async_added_to_hass(self): """Register for sensor updates.""" - self._undo_dispatcher = async_dispatcher_connect( - self.hass, - SIGNAL_TADO_UPDATE_RECEIVED.format("device", self.device_id), - self._async_update_callback, + self.async_on_remove( + async_dispatcher_connect( + self.hass, + SIGNAL_TADO_UPDATE_RECEIVED.format( + self._tado.device_id, "device", self.device_id + ), + self._async_update_callback, + ) ) self._async_update_device_data() diff --git a/homeassistant/components/tado/water_heater.py b/homeassistant/components/tado/water_heater.py index ac9005738c4..aeb2d1ee106 100644 --- a/homeassistant/components/tado/water_heater.py +++ b/homeassistant/components/tado/water_heater.py @@ -134,20 +134,18 @@ class TadoWaterHeater(TadoZoneEntity, WaterHeaterDevice): self._current_tado_hvac_mode = CONST_MODE_SMART_SCHEDULE self._overlay_mode = CONST_MODE_SMART_SCHEDULE self._tado_zone_data = None - self._undo_dispatcher = None - - async def async_will_remove_from_hass(self): - """When entity will be removed from hass.""" - if self._undo_dispatcher: - self._undo_dispatcher() async def async_added_to_hass(self): """Register for sensor updates.""" - self._undo_dispatcher = async_dispatcher_connect( - self.hass, - SIGNAL_TADO_UPDATE_RECEIVED.format("zone", self.zone_id), - self._async_update_callback, + self.async_on_remove( + async_dispatcher_connect( + self.hass, + SIGNAL_TADO_UPDATE_RECEIVED.format( + self._tado.device_id, "zone", self.zone_id + ), + self._async_update_callback, + ) ) self._async_update_data() diff --git a/requirements_all.txt b/requirements_all.txt index ffcb70903be..179e2f0dc0a 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1676,7 +1676,7 @@ python-songpal==0.11.2 python-synology==0.6.0 # homeassistant.components.tado -python-tado==0.6.0 +python-tado==0.8.1 # homeassistant.components.telegram_bot python-telegram-bot==11.1.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 416c4a448f6..571635097a5 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -643,7 +643,7 @@ python-nest==4.1.0 python-synology==0.6.0 # homeassistant.components.tado -python-tado==0.6.0 +python-tado==0.8.1 # homeassistant.components.twitch python-twitch-client==0.6.0