diff --git a/homeassistant/components/airzone/__init__.py b/homeassistant/components/airzone/__init__.py index aa168dce858..a56f2cc2445 100644 --- a/homeassistant/components/airzone/__init__.py +++ b/homeassistant/components/airzone/__init__.py @@ -15,7 +15,6 @@ from aioairzone.const import ( ) from aioairzone.localapi import AirzoneLocalApi, ConnectionOptions -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT, Platform from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import ( @@ -25,7 +24,7 @@ from homeassistant.helpers import ( ) from .const import DOMAIN, MANUFACTURER -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator PLATFORMS: list[Platform] = [ Platform.BINARY_SENSOR, @@ -38,8 +37,6 @@ PLATFORMS: list[Platform] = [ _LOGGER = logging.getLogger(__name__) -type AirzoneConfigEntry = ConfigEntry[AirzoneUpdateCoordinator] - async def _async_migrate_unique_ids( hass: HomeAssistant, @@ -90,7 +87,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirzoneConfigEntry) -> b ) airzone = AirzoneLocalApi(aiohttp_client.async_get_clientsession(hass), options) - coordinator = AirzoneUpdateCoordinator(hass, airzone) + coordinator = AirzoneUpdateCoordinator(hass, entry, airzone) await coordinator.async_config_entry_first_refresh() await _async_migrate_unique_ids(hass, entry, coordinator) diff --git a/homeassistant/components/airzone/binary_sensor.py b/homeassistant/components/airzone/binary_sensor.py index eec78156fe0..48f6ce8fd94 100644 --- a/homeassistant/components/airzone/binary_sensor.py +++ b/homeassistant/components/airzone/binary_sensor.py @@ -25,8 +25,7 @@ from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import AirzoneEntity, AirzoneSystemEntity, AirzoneZoneEntity diff --git a/homeassistant/components/airzone/climate.py b/homeassistant/components/airzone/climate.py index 4ed54286cff..23355a070ab 100644 --- a/homeassistant/components/airzone/climate.py +++ b/homeassistant/components/airzone/climate.py @@ -50,9 +50,8 @@ from homeassistant.core import HomeAssistant, callback from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry from .const import API_TEMPERATURE_STEP, TEMP_UNIT_LIB_TO_HASS -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import AirzoneZoneEntity BASE_FAN_SPEEDS: Final[dict[int, str]] = { diff --git a/homeassistant/components/airzone/coordinator.py b/homeassistant/components/airzone/coordinator.py index 8ec2cbe07ca..4b4519beed8 100644 --- a/homeassistant/components/airzone/coordinator.py +++ b/homeassistant/components/airzone/coordinator.py @@ -10,6 +10,7 @@ from typing import Any from aioairzone.exceptions import AirzoneError from aioairzone.localapi import AirzoneLocalApi +from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed @@ -19,17 +20,27 @@ SCAN_INTERVAL = timedelta(seconds=60) _LOGGER = logging.getLogger(__name__) +type AirzoneConfigEntry = ConfigEntry[AirzoneUpdateCoordinator] + class AirzoneUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): """Class to manage fetching data from the Airzone device.""" - def __init__(self, hass: HomeAssistant, airzone: AirzoneLocalApi) -> None: + config_entry: AirzoneConfigEntry + + def __init__( + self, + hass: HomeAssistant, + config_entry: AirzoneConfigEntry, + airzone: AirzoneLocalApi, + ) -> None: """Initialize.""" self.airzone = airzone super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=SCAN_INTERVAL, ) diff --git a/homeassistant/components/airzone/diagnostics.py b/homeassistant/components/airzone/diagnostics.py index 2945df7b6fb..e745a85ee5e 100644 --- a/homeassistant/components/airzone/diagnostics.py +++ b/homeassistant/components/airzone/diagnostics.py @@ -10,7 +10,7 @@ from homeassistant.components.diagnostics import async_redact_data from homeassistant.const import CONF_UNIQUE_ID from homeassistant.core import HomeAssistant -from . import AirzoneConfigEntry +from .coordinator import AirzoneConfigEntry TO_REDACT_API = [ API_MAC, diff --git a/homeassistant/components/airzone/entity.py b/homeassistant/components/airzone/entity.py index 59d58fb62b0..c0d7901981b 100644 --- a/homeassistant/components/airzone/entity.py +++ b/homeassistant/components/airzone/entity.py @@ -31,9 +31,8 @@ from homeassistant.helpers import device_registry as dr from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import AirzoneConfigEntry from .const import DOMAIN, MANUFACTURER -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/airzone/select.py b/homeassistant/components/airzone/select.py index 2bc11bc4228..56a9b06ea21 100644 --- a/homeassistant/components/airzone/select.py +++ b/homeassistant/components/airzone/select.py @@ -27,8 +27,7 @@ from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import AirzoneEntity, AirzoneZoneEntity diff --git a/homeassistant/components/airzone/sensor.py b/homeassistant/components/airzone/sensor.py index ef8ddbb3b65..0b5c5666c89 100644 --- a/homeassistant/components/airzone/sensor.py +++ b/homeassistant/components/airzone/sensor.py @@ -30,9 +30,8 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry from .const import TEMP_UNIT_LIB_TO_HASS -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import ( AirzoneEntity, AirzoneHotWaterEntity, diff --git a/homeassistant/components/airzone/switch.py b/homeassistant/components/airzone/switch.py index 93136810604..69bf33666a5 100644 --- a/homeassistant/components/airzone/switch.py +++ b/homeassistant/components/airzone/switch.py @@ -16,8 +16,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import AirzoneEntity, AirzoneZoneEntity diff --git a/homeassistant/components/airzone/water_heater.py b/homeassistant/components/airzone/water_heater.py index 8fd563b33d8..2a1ca72db21 100644 --- a/homeassistant/components/airzone/water_heater.py +++ b/homeassistant/components/airzone/water_heater.py @@ -30,9 +30,8 @@ from homeassistant.const import ATTR_TEMPERATURE, STATE_OFF from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import AirzoneConfigEntry from .const import TEMP_UNIT_LIB_TO_HASS -from .coordinator import AirzoneUpdateCoordinator +from .coordinator import AirzoneConfigEntry, AirzoneUpdateCoordinator from .entity import AirzoneHotWaterEntity OPERATION_LIB_TO_HASS: Final[dict[HotWaterOperation, str]] = {