From 1215398aef230cfa5821fb87447ffdd09be6af97 Mon Sep 17 00:00:00 2001 From: Khole Date: Wed, 17 Jul 2019 23:17:44 +0100 Subject: [PATCH] Hive water heater - Remove Duplication of appending entities (#25210) * climate_water_heater * updated names * Update water_heater * Update requirements * Updated reqirements * Version update * updated Versiojn * Update device list * Removed unused Attributes * removed duplicate appending entities * re-added missing hotwater * Move call to async_added_to_hass * Move session append to async_added_to_hass * White space --- homeassistant/components/hive/climate.py | 7 +++++-- homeassistant/components/hive/water_heater.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/hive/climate.py b/homeassistant/components/hive/climate.py index 811f6fe4da4..bfc43e3357f 100644 --- a/homeassistant/components/hive/climate.py +++ b/homeassistant/components/hive/climate.py @@ -35,7 +35,6 @@ def setup_platform(hass, config, add_entities, discovery_info=None): climate = HiveClimateEntity(session, discovery_info) add_entities([climate]) - session.entities.append(climate) class HiveClimateEntity(ClimateDevice): @@ -52,7 +51,6 @@ class HiveClimateEntity(ClimateDevice): self.data_updatesource = '{}.{}'.format( self.device_type, self.node_id) self._unique_id = '{}-{}'.format(self.node_id, self.device_type) - self.session.entities.append(self) @property def unique_id(self): @@ -145,6 +143,11 @@ class HiveClimateEntity(ClimateDevice): """Return a list of available preset modes.""" return SUPPORT_PRESET + async def async_added_to_hass(self): + """When entity is added to Home Assistant.""" + await super().async_added_to_hass() + self.session.entities.append(self) + def set_hvac_mode(self, hvac_mode): """Set new target hvac mode.""" new_mode = HASS_TO_HIVE_STATE[hvac_mode] diff --git a/homeassistant/components/hive/water_heater.py b/homeassistant/components/hive/water_heater.py index f0ec2de08b3..943abde5dc7 100644 --- a/homeassistant/components/hive/water_heater.py +++ b/homeassistant/components/hive/water_heater.py @@ -34,7 +34,6 @@ def setup_platform(hass, config, add_entities, discovery_info=None): water_heater = HiveWaterHeater(session, discovery_info) add_entities([water_heater]) - session.entities.append(water_heater) class HiveWaterHeater(WaterHeaterDevice): @@ -50,7 +49,6 @@ class HiveWaterHeater(WaterHeaterDevice): self.device_type, self.node_id) self._unique_id = '{}-{}'.format(self.node_id, self.device_type) self._unit_of_measurement = TEMP_CELSIUS - self.session.entities.append(self) @property def unique_id(self): @@ -99,6 +97,11 @@ class HiveWaterHeater(WaterHeaterDevice): """List of available operation modes.""" return SUPPORT_WATER_HEATER + async def async_added_to_hass(self): + """When entity is added to Home Assistant.""" + await super().async_added_to_hass() + self.session.entities.append(self) + def set_operation_mode(self, operation_mode): """Set operation mode.""" new_mode = HASS_TO_HIVE_STATE[operation_mode]