From 07e9d806078342cd001b1ed459a1e7778648f6d3 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sat, 8 Feb 2025 21:46:05 +0100 Subject: [PATCH] Explicitly pass in the config_entry in weheat coordinator (#137868) explicitly pass in the config_entry in coordinator --- homeassistant/components/weheat/__init__.py | 7 ++----- homeassistant/components/weheat/binary_sensor.py | 3 +-- homeassistant/components/weheat/coordinator.py | 7 +++++++ homeassistant/components/weheat/sensor.py | 3 +-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/weheat/__init__.py b/homeassistant/components/weheat/__init__.py index d8d8616c867..b67c3540dc5 100644 --- a/homeassistant/components/weheat/__init__.py +++ b/homeassistant/components/weheat/__init__.py @@ -8,7 +8,6 @@ import aiohttp from weheat.abstractions.discovery import HeatPumpDiscovery from weheat.exceptions import UnauthorizedException -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_ACCESS_TOKEN, Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady @@ -19,12 +18,10 @@ from homeassistant.helpers.config_entry_oauth2_flow import ( ) from .const import API_URL, LOGGER -from .coordinator import WeheatDataUpdateCoordinator +from .coordinator import WeheatConfigEntry, WeheatDataUpdateCoordinator PLATFORMS: list[Platform] = [Platform.BINARY_SENSOR, Platform.SENSOR] -type WeheatConfigEntry = ConfigEntry[list[WeheatDataUpdateCoordinator]] - async def async_setup_entry(hass: HomeAssistant, entry: WeheatConfigEntry) -> bool: """Set up Weheat from a config entry.""" @@ -58,7 +55,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: WeheatConfigEntry) -> bo for pump_info in discovered_heat_pumps: LOGGER.debug("Adding %s", pump_info) # for each pump, add a coordinator - new_coordinator = WeheatDataUpdateCoordinator(hass, session, pump_info) + new_coordinator = WeheatDataUpdateCoordinator(hass, entry, session, pump_info) await new_coordinator.async_config_entry_first_refresh() diff --git a/homeassistant/components/weheat/binary_sensor.py b/homeassistant/components/weheat/binary_sensor.py index 1fb8f614a40..0ffa876ad0f 100644 --- a/homeassistant/components/weheat/binary_sensor.py +++ b/homeassistant/components/weheat/binary_sensor.py @@ -14,8 +14,7 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType -from . import WeheatConfigEntry -from .coordinator import WeheatDataUpdateCoordinator +from .coordinator import WeheatConfigEntry, WeheatDataUpdateCoordinator from .entity import WeheatEntity # Coordinator is used to centralize the data updates diff --git a/homeassistant/components/weheat/coordinator.py b/homeassistant/components/weheat/coordinator.py index 4a85380e4a3..d7e53258e9b 100644 --- a/homeassistant/components/weheat/coordinator.py +++ b/homeassistant/components/weheat/coordinator.py @@ -13,6 +13,7 @@ from weheat.exceptions import ( UnauthorizedException, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_ACCESS_TOKEN from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed @@ -30,13 +31,18 @@ EXCEPTIONS = ( ApiException, ) +type WeheatConfigEntry = ConfigEntry[list[WeheatDataUpdateCoordinator]] + class WeheatDataUpdateCoordinator(DataUpdateCoordinator[HeatPump]): """A custom coordinator for the Weheat heatpump integration.""" + config_entry: WeheatConfigEntry + def __init__( self, hass: HomeAssistant, + config_entry: WeheatConfigEntry, session: OAuth2Session, heat_pump: HeatPumpDiscovery.HeatPumpInfo, ) -> None: @@ -44,6 +50,7 @@ class WeheatDataUpdateCoordinator(DataUpdateCoordinator[HeatPump]): super().__init__( hass, logger=LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=timedelta(seconds=UPDATE_INTERVAL), ) diff --git a/homeassistant/components/weheat/sensor.py b/homeassistant/components/weheat/sensor.py index 2d840aec86a..5d948c6d565 100644 --- a/homeassistant/components/weheat/sensor.py +++ b/homeassistant/components/weheat/sensor.py @@ -22,13 +22,12 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType -from . import WeheatConfigEntry from .const import ( DISPLAY_PRECISION_COP, DISPLAY_PRECISION_WATER_TEMP, DISPLAY_PRECISION_WATTS, ) -from .coordinator import WeheatDataUpdateCoordinator +from .coordinator import WeheatConfigEntry, WeheatDataUpdateCoordinator from .entity import WeheatEntity # Coordinator is used to centralize the data updates