diff --git a/homeassistant/components/anova/__init__.py b/homeassistant/components/anova/__init__.py index 4ae4750b9a9..9307cfc4bdd 100644 --- a/homeassistant/components/anova/__init__.py +++ b/homeassistant/components/anova/__init__.py @@ -18,8 +18,7 @@ from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.helpers import aiohttp_client -from .coordinator import AnovaCoordinator -from .models import AnovaConfigEntry, AnovaData +from .coordinator import AnovaConfigEntry, AnovaCoordinator, AnovaData PLATFORMS = [Platform.SENSOR] @@ -59,7 +58,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AnovaConfigEntry) -> boo # websocket client assert api.websocket_handler is not None devices = list(api.websocket_handler.devices.values()) - coordinators = [AnovaCoordinator(hass, device) for device in devices] + coordinators = [AnovaCoordinator(hass, entry, device) for device in devices] entry.runtime_data = AnovaData(api_jwt=api.jwt, coordinators=coordinators, api=api) await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) return True diff --git a/homeassistant/components/anova/coordinator.py b/homeassistant/components/anova/coordinator.py index 93c6fdbf1c5..811c32c97b5 100644 --- a/homeassistant/components/anova/coordinator.py +++ b/homeassistant/components/anova/coordinator.py @@ -1,8 +1,9 @@ """Support for Anova Coordinators.""" +from dataclasses import dataclass import logging -from anova_wifi import APCUpdate, APCWifiDevice +from anova_wifi import AnovaApi, APCUpdate, APCWifiDevice from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant @@ -14,15 +15,33 @@ from .const import DOMAIN _LOGGER = logging.getLogger(__name__) +@dataclass +class AnovaData: + """Data for the Anova integration.""" + + api_jwt: str + coordinators: list["AnovaCoordinator"] + api: AnovaApi + + +type AnovaConfigEntry = ConfigEntry[AnovaData] + + class AnovaCoordinator(DataUpdateCoordinator[APCUpdate]): """Anova custom coordinator.""" - config_entry: ConfigEntry + config_entry: AnovaConfigEntry - def __init__(self, hass: HomeAssistant, anova_device: APCWifiDevice) -> None: + def __init__( + self, + hass: HomeAssistant, + config_entry: AnovaConfigEntry, + anova_device: APCWifiDevice, + ) -> None: """Set up Anova Coordinator.""" super().__init__( hass, + config_entry=config_entry, name="Anova Precision Cooker", logger=_LOGGER, ) diff --git a/homeassistant/components/anova/models.py b/homeassistant/components/anova/models.py deleted file mode 100644 index eef8180cf88..00000000000 --- a/homeassistant/components/anova/models.py +++ /dev/null @@ -1,20 +0,0 @@ -"""Dataclass models for the Anova integration.""" - -from dataclasses import dataclass - -from anova_wifi import AnovaApi - -from homeassistant.config_entries import ConfigEntry - -from .coordinator import AnovaCoordinator - -type AnovaConfigEntry = ConfigEntry[AnovaData] - - -@dataclass -class AnovaData: - """Data for the Anova integration.""" - - api_jwt: str - coordinators: list[AnovaCoordinator] - api: AnovaApi diff --git a/homeassistant/components/anova/sensor.py b/homeassistant/components/anova/sensor.py index aa572a0ee9b..7365e4597ba 100644 --- a/homeassistant/components/anova/sensor.py +++ b/homeassistant/components/anova/sensor.py @@ -18,9 +18,8 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType -from .coordinator import AnovaCoordinator +from .coordinator import AnovaConfigEntry, AnovaCoordinator from .entity import AnovaDescriptionEntity -from .models import AnovaConfigEntry @dataclass(frozen=True, kw_only=True)