diff --git a/homeassistant/components/tado/__init__.py b/homeassistant/components/tado/__init__.py index 0f4e7e1c4182..1261311c767d 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 8b2da9e632dc..7d26dbb20ee0 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 67f71b974307..9fc7b1980542 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 f739459402a4..feff03d0b818 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 1d409a8a4e97..ceca0e0170e1 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 ac9005738c40..aeb2d1ee1066 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 ffcb70903be5..179e2f0dc0a7 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 416c4a448f6c..571635097a5a 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