From 9ec870c75048488bd931f3ccde54942881f22c18 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 30 Aug 2020 13:28:09 -0500 Subject: [PATCH] Update hunterdouglas_powerview to use CoordinatorEntity (#39463) --- .../components/hunterdouglas_powerview/cover.py | 5 ++--- .../hunterdouglas_powerview/entity.py | 17 +++-------------- .../hunterdouglas_powerview/sensor.py | 4 ++-- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/homeassistant/components/hunterdouglas_powerview/cover.py b/homeassistant/components/hunterdouglas_powerview/cover.py index 871413b9f5b..402451da26e 100644 --- a/homeassistant/components/hunterdouglas_powerview/cover.py +++ b/homeassistant/components/hunterdouglas_powerview/cover.py @@ -110,7 +110,6 @@ class PowerViewShade(ShadeEntity, CoverEntity): self._scheduled_transition_update = None self._room_name = room_data.get(room_id, {}).get(ROOM_NAME_UNICODE, "") self._current_cover_position = MIN_POSITION - self._coordinator = coordinator @property def device_state_attributes(self): @@ -272,7 +271,7 @@ class PowerViewShade(ShadeEntity, CoverEntity): """When entity is added to hass.""" self._async_update_current_cover_position() self.async_on_remove( - self._coordinator.async_add_listener(self._async_update_shade_from_group) + self.coordinator.async_add_listener(self._async_update_shade_from_group) ) @callback @@ -282,5 +281,5 @@ class PowerViewShade(ShadeEntity, CoverEntity): # If a transition in in progress # the data will be wrong return - self._async_process_new_shade_data(self._coordinator.data[self._shade.id]) + self._async_process_new_shade_data(self.coordinator.data[self._shade.id]) self.async_write_ha_state() diff --git a/homeassistant/components/hunterdouglas_powerview/entity.py b/homeassistant/components/hunterdouglas_powerview/entity.py index f89ca28023b..4ed68fc3557 100644 --- a/homeassistant/components/hunterdouglas_powerview/entity.py +++ b/homeassistant/components/hunterdouglas_powerview/entity.py @@ -3,7 +3,7 @@ from aiopvapi.resources.shade import ATTR_TYPE import homeassistant.helpers.device_registry as dr -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.update_coordinator import CoordinatorEntity from .const import ( DEVICE_FIRMWARE, @@ -20,31 +20,20 @@ from .const import ( ) -class HDEntity(Entity): +class HDEntity(CoordinatorEntity): """Base class for hunter douglas entities.""" def __init__(self, coordinator, device_info, unique_id): """Initialize the entity.""" - super().__init__() - self._coordinator = coordinator + super().__init__(coordinator) self._unique_id = unique_id self._device_info = device_info - @property - def available(self): - """Return True if entity is available.""" - return self._coordinator.last_update_success - @property def unique_id(self): """Return the unique id.""" return self._unique_id - @property - def should_poll(self): - """Return False, updates are controlled via coordinator.""" - return False - @property def device_info(self): """Return the device_info of the device.""" diff --git a/homeassistant/components/hunterdouglas_powerview/sensor.py b/homeassistant/components/hunterdouglas_powerview/sensor.py index 794fdac3eac..78c6fde75f5 100644 --- a/homeassistant/components/hunterdouglas_powerview/sensor.py +++ b/homeassistant/components/hunterdouglas_powerview/sensor.py @@ -76,11 +76,11 @@ class PowerViewShadeBatterySensor(ShadeEntity): async def async_added_to_hass(self): """When entity is added to hass.""" self.async_on_remove( - self._coordinator.async_add_listener(self._async_update_shade_from_group) + self.coordinator.async_add_listener(self._async_update_shade_from_group) ) @callback def _async_update_shade_from_group(self): """Update with new data from the coordinator.""" - self._shade.raw_data = self._coordinator.data[self._shade.id] + self._shade.raw_data = self.coordinator.data[self._shade.id] self.async_write_ha_state()