From 1f0f1ac388047dcc9f71be2f6070e78760b57d8a Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Fri, 7 Feb 2025 19:39:21 +0100 Subject: [PATCH] Explicitly pass in the config_entry in autarco coordinator init (#137718) explicitly pass in the config_entry in autarco coordinator init --- homeassistant/components/autarco/__init__.py | 8 +++----- homeassistant/components/autarco/coordinator.py | 6 +++++- homeassistant/components/autarco/diagnostics.py | 2 +- homeassistant/components/autarco/sensor.py | 3 +-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/autarco/__init__.py b/homeassistant/components/autarco/__init__.py index f42bfdf4a0e..a524535c122 100644 --- a/homeassistant/components/autarco/__init__.py +++ b/homeassistant/components/autarco/__init__.py @@ -6,18 +6,15 @@ import asyncio from autarco import Autarco, AutarcoConnectionError -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryNotReady from homeassistant.helpers.aiohttp_client import async_get_clientsession -from .coordinator import AutarcoDataUpdateCoordinator +from .coordinator import AutarcoConfigEntry, AutarcoDataUpdateCoordinator PLATFORMS: list[Platform] = [Platform.SENSOR] -type AutarcoConfigEntry = ConfigEntry[list[AutarcoDataUpdateCoordinator]] - async def async_setup_entry(hass: HomeAssistant, entry: AutarcoConfigEntry) -> bool: """Set up Autarco from a config entry.""" @@ -34,7 +31,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: AutarcoConfigEntry) -> b raise ConfigEntryNotReady from err coordinators: list[AutarcoDataUpdateCoordinator] = [ - AutarcoDataUpdateCoordinator(hass, client, site) for site in account_sites + AutarcoDataUpdateCoordinator(hass, entry, client, site) + for site in account_sites ] await asyncio.gather( diff --git a/homeassistant/components/autarco/coordinator.py b/homeassistant/components/autarco/coordinator.py index dd8786bca25..deb40155443 100644 --- a/homeassistant/components/autarco/coordinator.py +++ b/homeassistant/components/autarco/coordinator.py @@ -22,6 +22,8 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda from .const import DOMAIN, LOGGER, SCAN_INTERVAL +type AutarcoConfigEntry = ConfigEntry[list[AutarcoDataUpdateCoordinator]] + class AutarcoData(NamedTuple): """Class for defining data in dict.""" @@ -35,11 +37,12 @@ class AutarcoData(NamedTuple): class AutarcoDataUpdateCoordinator(DataUpdateCoordinator[AutarcoData]): """Class to manage fetching Autarco data from the API.""" - config_entry: ConfigEntry + config_entry: AutarcoConfigEntry def __init__( self, hass: HomeAssistant, + config_entry: AutarcoConfigEntry, client: Autarco, account_site: AccountSite, ) -> None: @@ -47,6 +50,7 @@ class AutarcoDataUpdateCoordinator(DataUpdateCoordinator[AutarcoData]): super().__init__( hass, LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=SCAN_INTERVAL, ) diff --git a/homeassistant/components/autarco/diagnostics.py b/homeassistant/components/autarco/diagnostics.py index c865a38ffd8..a2dd0c5a361 100644 --- a/homeassistant/components/autarco/diagnostics.py +++ b/homeassistant/components/autarco/diagnostics.py @@ -6,7 +6,7 @@ from typing import Any from homeassistant.core import HomeAssistant -from . import AutarcoConfigEntry, AutarcoDataUpdateCoordinator +from .coordinator import AutarcoConfigEntry, AutarcoDataUpdateCoordinator async def async_get_config_entry_diagnostics( diff --git a/homeassistant/components/autarco/sensor.py b/homeassistant/components/autarco/sensor.py index c870197a504..b7c4312815b 100644 --- a/homeassistant/components/autarco/sensor.py +++ b/homeassistant/components/autarco/sensor.py @@ -20,9 +20,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import AutarcoConfigEntry from .const import DOMAIN -from .coordinator import AutarcoDataUpdateCoordinator +from .coordinator import AutarcoConfigEntry, AutarcoDataUpdateCoordinator @dataclass(frozen=True, kw_only=True)