From 2b78d5235d1d7261d03b6ed90f4eb84996e32a91 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 30 Aug 2020 13:04:30 -0500 Subject: [PATCH] Update risco to use CoordinatorEntity (#39456) --- .../components/risco/alarm_control_panel.py | 4 +-- .../components/risco/binary_sensor.py | 2 +- homeassistant/components/risco/entity.py | 29 +++---------------- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/homeassistant/components/risco/alarm_control_panel.py b/homeassistant/components/risco/alarm_control_panel.py index e6548c2ffdc..705ec50db28 100644 --- a/homeassistant/components/risco/alarm_control_panel.py +++ b/homeassistant/components/risco/alarm_control_panel.py @@ -65,7 +65,7 @@ class RiscoAlarm(AlarmControlPanelEntity, RiscoEntity): """Init the partition.""" super().__init__(coordinator) self._partition_id = partition_id - self._partition = self._coordinator.data.partitions[self._partition_id] + self._partition = self.coordinator.data.partitions[self._partition_id] self._code = code self._code_arm_required = options[CONF_CODE_ARM_REQUIRED] self._code_disarm_required = options[CONF_CODE_DISARM_REQUIRED] @@ -76,7 +76,7 @@ class RiscoAlarm(AlarmControlPanelEntity, RiscoEntity): self._supported_states |= STATES_TO_SUPPORTED_FEATURES[state] def _get_data_from_coordinator(self): - self._partition = self._coordinator.data.partitions[self._partition_id] + self._partition = self.coordinator.data.partitions[self._partition_id] @property def device_info(self): diff --git a/homeassistant/components/risco/binary_sensor.py b/homeassistant/components/risco/binary_sensor.py index f3c35071111..757a30252c2 100644 --- a/homeassistant/components/risco/binary_sensor.py +++ b/homeassistant/components/risco/binary_sensor.py @@ -39,7 +39,7 @@ class RiscoBinarySensor(BinarySensorEntity, RiscoEntity): self._zone = zone def _get_data_from_coordinator(self): - self._zone = self._coordinator.data.zones[self._zone_id] + self._zone = self.coordinator.data.zones[self._zone_id] @property def device_info(self): diff --git a/homeassistant/components/risco/entity.py b/homeassistant/components/risco/entity.py index 0c74cdf8264..17e27caf18b 100644 --- a/homeassistant/components/risco/entity.py +++ b/homeassistant/components/risco/entity.py @@ -1,24 +1,10 @@ """A risco entity base class.""" -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.update_coordinator import CoordinatorEntity -class RiscoEntity(Entity): +class RiscoEntity(CoordinatorEntity): """Risco entity base class.""" - def __init__(self, coordinator): - """Init the instance.""" - self._coordinator = coordinator - - @property - def should_poll(self): - """No need to poll. Coordinator notifies entity of updates.""" - return False - - @property - def available(self): - """Return if entity is available.""" - return self._coordinator.last_update_success - def _get_data_from_coordinator(self): raise NotImplementedError @@ -29,17 +15,10 @@ class RiscoEntity(Entity): async def async_added_to_hass(self): """When entity is added to hass.""" self.async_on_remove( - self._coordinator.async_add_listener(self._refresh_from_coordinator) + self.coordinator.async_add_listener(self._refresh_from_coordinator) ) @property def _risco(self): """Return the Risco API object.""" - return self._coordinator.risco - - async def async_update(self): - """Update the entity. - - Only used by the generic entity update service. - """ - await self._coordinator.async_request_refresh() + return self.coordinator.risco