Refactor get coordinator

This commit is contained in:
Andre Basche 2023-05-25 00:52:54 +02:00
parent 9518031f24
commit e9d1bb2056
9 changed files with 43 additions and 69 deletions

View file

@ -1,7 +1,6 @@
import logging
import pkg_resources
from homeassistant.components import persistent_notification
from homeassistant.components.button import ButtonEntityDescription, ButtonEntity
from homeassistant.config_entries import ConfigEntry
@ -10,7 +9,7 @@ from pyhon import Hon
from pyhon.appliance import HonAppliance
from .const import DOMAIN
from .hon import HonCoordinator, HonEntity
from .hon import HonEntity, get_coordinator
_LOGGER = logging.getLogger(__name__)
@ -42,14 +41,9 @@ BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = {
async def async_setup_entry(hass, entry: ConfigEntry, async_add_entities) -> None:
hon: Hon = hass.data[DOMAIN][entry.unique_id]
coordinators = hass.data[DOMAIN]["coordinators"]
appliances = []
for device in hon.appliances:
if device.unique_id in coordinators:
coordinator = hass.data[DOMAIN]["coordinators"][device.unique_id]
else:
coordinator = HonCoordinator(hass, device)
hass.data[DOMAIN]["coordinators"][device.unique_id] = coordinator
coordinator = get_coordinator(hass, device)
await coordinator.async_config_entry_first_refresh()
if descriptions := BUTTONS.get(device.appliance_type):