Explicitly pass in the config_entry in fujitsu_fglair coordinator (#137826)

explicitly pass in the config_entry in coordinator
pull/137857/head
Michael 2025-02-08 15:33:55 +01:00 committed by GitHub
parent 04c20b9534
commit bc07598f47
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 13 additions and 10 deletions

View File

@ -7,18 +7,15 @@ from contextlib import suppress
from ayla_iot_unofficial import new_ayla_api from ayla_iot_unofficial import new_ayla_api
from ayla_iot_unofficial.fujitsu_consts import FGLAIR_APP_CREDENTIALS from ayla_iot_unofficial.fujitsu_consts import FGLAIR_APP_CREDENTIALS
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, Platform from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import aiohttp_client from homeassistant.helpers import aiohttp_client
from .const import API_TIMEOUT, CONF_EUROPE, CONF_REGION, REGION_DEFAULT, REGION_EU from .const import API_TIMEOUT, CONF_EUROPE, CONF_REGION, REGION_DEFAULT, REGION_EU
from .coordinator import FGLairCoordinator from .coordinator import FGLairConfigEntry, FGLairCoordinator
PLATFORMS: list[Platform] = [Platform.CLIMATE, Platform.SENSOR] PLATFORMS: list[Platform] = [Platform.CLIMATE, Platform.SENSOR]
type FGLairConfigEntry = ConfigEntry[FGLairCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bool:
"""Set up Fujitsu HVAC (based on Ayla IOT) from a config entry.""" """Set up Fujitsu HVAC (based on Ayla IOT) from a config entry."""
@ -33,7 +30,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: FGLairConfigEntry) -> bo
timeout=API_TIMEOUT, timeout=API_TIMEOUT,
) )
coordinator = FGLairCoordinator(hass, api) coordinator = FGLairCoordinator(hass, entry, api)
await coordinator.async_config_entry_first_refresh() await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator entry.runtime_data = coordinator

View File

@ -27,8 +27,7 @@ from homeassistant.const import ATTR_TEMPERATURE, PRECISION_HALVES, UnitOfTemper
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import FGLairConfigEntry from .coordinator import FGLairConfigEntry, FGLairCoordinator
from .coordinator import FGLairCoordinator
from .entity import FGLairEntity from .entity import FGLairEntity
HA_TO_FUJI_FAN = { HA_TO_FUJI_FAN = {

View File

@ -5,6 +5,7 @@ import logging
from ayla_iot_unofficial import AylaApi, AylaAuthError from ayla_iot_unofficial import AylaApi, AylaAuthError
from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC from ayla_iot_unofficial.fujitsu_hvac import FujitsuHVAC
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
@ -13,15 +14,22 @@ from .const import API_REFRESH
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
type FGLairConfigEntry = ConfigEntry[FGLairCoordinator]
class FGLairCoordinator(DataUpdateCoordinator[dict[str, FujitsuHVAC]]): class FGLairCoordinator(DataUpdateCoordinator[dict[str, FujitsuHVAC]]):
"""Coordinator for Fujitsu HVAC integration.""" """Coordinator for Fujitsu HVAC integration."""
def __init__(self, hass: HomeAssistant, api: AylaApi) -> None: config_entry: FGLairConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: FGLairConfigEntry, api: AylaApi
) -> None:
"""Initialize coordinator for Fujitsu HVAC integration.""" """Initialize coordinator for Fujitsu HVAC integration."""
super().__init__( super().__init__(
hass, hass,
_LOGGER, _LOGGER,
config_entry=config_entry,
name="Fujitsu HVAC data", name="Fujitsu HVAC data",
update_interval=API_REFRESH, update_interval=API_REFRESH,
) )

View File

@ -11,8 +11,7 @@ from homeassistant.const import UnitOfTemperature
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .climate import FGLairConfigEntry from .coordinator import FGLairConfigEntry, FGLairCoordinator
from .coordinator import FGLairCoordinator
from .entity import FGLairEntity from .entity import FGLairEntity