diff --git a/homeassistant/components/knocki/__init__.py b/homeassistant/components/knocki/__init__.py index dfdf060e3b5..966f1dbf309 100644 --- a/homeassistant/components/knocki/__init__.py +++ b/homeassistant/components/knocki/__init__.py @@ -4,17 +4,14 @@ from __future__ import annotations from knocki import Event, EventType, KnockiClient -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_TOKEN, Platform from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession -from .coordinator import KnockiCoordinator +from .coordinator import KnockiConfigEntry, KnockiCoordinator PLATFORMS: list[Platform] = [Platform.EVENT] -type KnockiConfigEntry = ConfigEntry[KnockiCoordinator] - async def async_setup_entry(hass: HomeAssistant, entry: KnockiConfigEntry) -> bool: """Set up Knocki from a config entry.""" @@ -22,7 +19,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: KnockiConfigEntry) -> bo session=async_get_clientsession(hass), token=entry.data[CONF_TOKEN] ) - coordinator = KnockiCoordinator(hass, client) + coordinator = KnockiCoordinator(hass, entry, client) await coordinator.async_config_entry_first_refresh() diff --git a/homeassistant/components/knocki/coordinator.py b/homeassistant/components/knocki/coordinator.py index c1e32b817e1..f5cc373f5c1 100644 --- a/homeassistant/components/knocki/coordinator.py +++ b/homeassistant/components/knocki/coordinator.py @@ -3,21 +3,29 @@ from knocki import Event, KnockiClient, KnockiConnectionError, Trigger from homeassistant.components.event import DOMAIN as EVENT_DOMAIN +from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import entity_registry as er from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from .const import DOMAIN, LOGGER +type KnockiConfigEntry = ConfigEntry[KnockiCoordinator] + class KnockiCoordinator(DataUpdateCoordinator[dict[int, Trigger]]): """The Knocki coordinator.""" - def __init__(self, hass: HomeAssistant, client: KnockiClient) -> None: + config_entry: KnockiConfigEntry + + def __init__( + self, hass: HomeAssistant, config_entry: KnockiConfigEntry, client: KnockiClient + ) -> None: """Initialize the coordinator.""" super().__init__( hass, logger=LOGGER, + config_entry=config_entry, name=DOMAIN, ) self.client = client