Explicitly pass in the config_entry in knocki coordinator (#138125)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 20:28:56 +01:00 committed by GitHub
parent b6afe130fc
commit db5605223f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 6 deletions

View File

@ -4,17 +4,14 @@ from __future__ import annotations
from knocki import Event, EventType, KnockiClient from knocki import Event, EventType, KnockiClient
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_TOKEN, Platform from homeassistant.const import CONF_TOKEN, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .coordinator import KnockiCoordinator from .coordinator import KnockiConfigEntry, KnockiCoordinator
PLATFORMS: list[Platform] = [Platform.EVENT] PLATFORMS: list[Platform] = [Platform.EVENT]
type KnockiConfigEntry = ConfigEntry[KnockiCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: KnockiConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: KnockiConfigEntry) -> bool:
"""Set up Knocki from a config entry.""" """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] 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() await coordinator.async_config_entry_first_refresh()

View File

@ -3,21 +3,29 @@
from knocki import Event, KnockiClient, KnockiConnectionError, Trigger from knocki import Event, KnockiClient, KnockiConnectionError, Trigger
from homeassistant.components.event import DOMAIN as EVENT_DOMAIN from homeassistant.components.event import DOMAIN as EVENT_DOMAIN
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import DOMAIN, LOGGER from .const import DOMAIN, LOGGER
type KnockiConfigEntry = ConfigEntry[KnockiCoordinator]
class KnockiCoordinator(DataUpdateCoordinator[dict[int, Trigger]]): class KnockiCoordinator(DataUpdateCoordinator[dict[int, Trigger]]):
"""The Knocki coordinator.""" """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.""" """Initialize the coordinator."""
super().__init__( super().__init__(
hass, hass,
logger=LOGGER, logger=LOGGER,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
) )
self.client = client self.client = client