From cceaa088cb18b23be8b0a148cb4bc5da8d960d42 Mon Sep 17 00:00:00 2001 From: springstan <46536646+springstan@users.noreply.github.com> Date: Sun, 30 Aug 2020 18:26:37 +0200 Subject: [PATCH] Update toon to use CoordinatorEntity (#39441) --- homeassistant/components/toon/models.py | 26 +++---------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/homeassistant/components/toon/models.py b/homeassistant/components/toon/models.py index 441b718c40a..4047ac0d744 100644 --- a/homeassistant/components/toon/models.py +++ b/homeassistant/components/toon/models.py @@ -2,7 +2,7 @@ import logging from typing import Any, Dict, Optional -from homeassistant.helpers.entity import Entity +from homeassistant.helpers.update_coordinator import CoordinatorEntity from .const import DOMAIN from .coordinator import ToonDataUpdateCoordinator @@ -10,7 +10,7 @@ from .coordinator import ToonDataUpdateCoordinator _LOGGER = logging.getLogger(__name__) -class ToonEntity(Entity): +class ToonEntity(CoordinatorEntity): """Defines a base Toon entity.""" def __init__( @@ -22,11 +22,11 @@ class ToonEntity(Entity): enabled_default: bool = True, ) -> None: """Initialize the Toon entity.""" + super().__init__(coordinator) self._enabled_default = enabled_default self._icon = icon self._name = name self._state = None - self.coordinator = coordinator @property def name(self) -> str: @@ -38,31 +38,11 @@ class ToonEntity(Entity): """Return the mdi icon of the entity.""" return self._icon - @property - def available(self) -> bool: - """Return True if entity is available.""" - return self.coordinator.last_update_success - @property def entity_registry_enabled_default(self) -> bool: """Return if the entity should be enabled when first added to the entity registry.""" return self._enabled_default - @property - def should_poll(self) -> bool: - """Return the polling requirement of the entity.""" - return False - - async def async_added_to_hass(self) -> None: - """Connect to dispatcher listening for entity data notifications.""" - self.async_on_remove( - self.coordinator.async_add_listener(self.async_write_ha_state) - ) - - async def async_update(self) -> None: - """Update Toon entity.""" - await self.coordinator.async_request_refresh() - class ToonDisplayDeviceEntity(ToonEntity): """Defines a Toon display device entity."""