diff --git a/custom_components/oasis_mini/__init__.py b/custom_components/oasis_mini/__init__.py index 7caeb10..adbe647 100644 --- a/custom_components/oasis_mini/__init__.py +++ b/custom_components/oasis_mini/__init__.py @@ -110,7 +110,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: OasisDeviceConfigEntry) raise mqtt_client = OasisMqttClient() - coordinator = OasisDeviceCoordinator(hass, cloud_client, mqtt_client) + coordinator = OasisDeviceCoordinator(hass, entry, cloud_client, mqtt_client) try: mqtt_client.start() diff --git a/custom_components/oasis_mini/coordinator.py b/custom_components/oasis_mini/coordinator.py index 5bbec8e..aca39f7 100644 --- a/custom_components/oasis_mini/coordinator.py +++ b/custom_components/oasis_mini/coordinator.py @@ -4,6 +4,7 @@ from __future__ import annotations from datetime import datetime, timedelta import logging +from typing import TYPE_CHECKING import async_timeout @@ -15,6 +16,9 @@ import homeassistant.util.dt as dt_util from .const import DOMAIN from .pyoasiscontrol import OasisCloudClient, OasisDevice, OasisMqttClient +if TYPE_CHECKING: + from . import OasisDeviceConfigEntry + _LOGGER = logging.getLogger(__name__) @@ -27,6 +31,7 @@ class OasisDeviceCoordinator(DataUpdateCoordinator[list[OasisDevice]]): def __init__( self, hass: HomeAssistant, + config_entry: OasisDeviceConfigEntry, cloud_client: OasisCloudClient, mqtt_client: OasisMqttClient, ) -> None: @@ -34,12 +39,14 @@ class OasisDeviceCoordinator(DataUpdateCoordinator[list[OasisDevice]]): Create an OasisDeviceCoordinator that manages OasisDevice discovery and updates using cloud and MQTT clients. Parameters: + config_entry (OasisDeviceConfigEntry): The config entry whose runtime data contains device serial numbers. cloud_client (OasisCloudClient): Client for communicating with the Oasis cloud API and fetching device data. mqtt_client (OasisMqttClient): Client for registering devices and coordinating MQTT-based readiness/status. """ super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=timedelta(minutes=10), always_update=False,