Explicitly pass in the config_entry in hydrawise coordinator (#138148)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 21:27:47 +01:00 committed by GitHub
parent a27dd08a7c
commit 5dea4164a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 4 deletions

View File

@ -39,10 +39,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
app_id=APP_ID, app_id=APP_ID,
) )
main_coordinator = HydrawiseMainDataUpdateCoordinator(hass, hydrawise) main_coordinator = HydrawiseMainDataUpdateCoordinator(hass, config_entry, hydrawise)
await main_coordinator.async_config_entry_first_refresh() await main_coordinator.async_config_entry_first_refresh()
water_use_coordinator = HydrawiseWaterUseDataUpdateCoordinator( water_use_coordinator = HydrawiseWaterUseDataUpdateCoordinator(
hass, hydrawise, main_coordinator hass, config_entry, hydrawise, main_coordinator
) )
await water_use_coordinator.async_config_entry_first_refresh() await water_use_coordinator.async_config_entry_first_refresh()
hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = ( hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = (

View File

@ -7,6 +7,7 @@ from dataclasses import dataclass, field
from pydrawise import HydrawiseBase from pydrawise import HydrawiseBase
from pydrawise.schema import Controller, ControllerWaterUseSummary, Sensor, User, Zone from pydrawise.schema import Controller, ControllerWaterUseSummary, Sensor, User, Zone
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from homeassistant.util.dt import now from homeassistant.util.dt import now
@ -39,6 +40,7 @@ class HydrawiseDataUpdateCoordinator(DataUpdateCoordinator[HydrawiseData]):
"""Base class for Hydrawise Data Update Coordinators.""" """Base class for Hydrawise Data Update Coordinators."""
api: HydrawiseBase api: HydrawiseBase
config_entry: ConfigEntry
class HydrawiseMainDataUpdateCoordinator(HydrawiseDataUpdateCoordinator): class HydrawiseMainDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
@ -49,9 +51,17 @@ class HydrawiseMainDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
integration are updated in a timely manner. integration are updated in a timely manner.
""" """
def __init__(self, hass: HomeAssistant, api: HydrawiseBase) -> None: def __init__(
self, hass: HomeAssistant, config_entry: ConfigEntry, api: HydrawiseBase
) -> None:
"""Initialize HydrawiseDataUpdateCoordinator.""" """Initialize HydrawiseDataUpdateCoordinator."""
super().__init__(hass, LOGGER, name=DOMAIN, update_interval=MAIN_SCAN_INTERVAL) super().__init__(
hass,
LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=MAIN_SCAN_INTERVAL,
)
self.api = api self.api = api
async def _async_update_data(self) -> HydrawiseData: async def _async_update_data(self) -> HydrawiseData:
@ -82,6 +92,7 @@ class HydrawiseWaterUseDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
def __init__( def __init__(
self, self,
hass: HomeAssistant, hass: HomeAssistant,
config_entry: ConfigEntry,
api: HydrawiseBase, api: HydrawiseBase,
main_coordinator: HydrawiseMainDataUpdateCoordinator, main_coordinator: HydrawiseMainDataUpdateCoordinator,
) -> None: ) -> None:
@ -89,6 +100,7 @@ class HydrawiseWaterUseDataUpdateCoordinator(HydrawiseDataUpdateCoordinator):
super().__init__( super().__init__(
hass, hass,
LOGGER, LOGGER,
config_entry=config_entry,
name=f"{DOMAIN} water use", name=f"{DOMAIN} water use",
update_interval=WATER_USE_SCAN_INTERVAL, update_interval=WATER_USE_SCAN_INTERVAL,
) )