diff --git a/homeassistant/components/powerfox/__init__.py b/homeassistant/components/powerfox/__init__.py index 243f3aacc4f..8e51985211d 100644 --- a/homeassistant/components/powerfox/__init__.py +++ b/homeassistant/components/powerfox/__init__.py @@ -6,18 +6,15 @@ import asyncio from powerfox import Powerfox, PowerfoxConnectionError -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 PowerfoxDataUpdateCoordinator +from .coordinator import PowerfoxConfigEntry, PowerfoxDataUpdateCoordinator PLATFORMS: list[Platform] = [Platform.SENSOR] -type PowerfoxConfigEntry = ConfigEntry[list[PowerfoxDataUpdateCoordinator]] - async def async_setup_entry(hass: HomeAssistant, entry: PowerfoxConfigEntry) -> bool: """Set up Powerfox from a config entry.""" @@ -34,7 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: PowerfoxConfigEntry) -> raise ConfigEntryNotReady from err coordinators: list[PowerfoxDataUpdateCoordinator] = [ - PowerfoxDataUpdateCoordinator(hass, client, device) for device in devices + PowerfoxDataUpdateCoordinator(hass, entry, client, device) for device in devices ] await asyncio.gather( diff --git a/homeassistant/components/powerfox/coordinator.py b/homeassistant/components/powerfox/coordinator.py index a4a26759b69..bd76b7cc166 100644 --- a/homeassistant/components/powerfox/coordinator.py +++ b/homeassistant/components/powerfox/coordinator.py @@ -18,15 +18,18 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda from .const import DOMAIN, LOGGER, SCAN_INTERVAL +type PowerfoxConfigEntry = ConfigEntry[list[PowerfoxDataUpdateCoordinator]] + class PowerfoxDataUpdateCoordinator(DataUpdateCoordinator[Poweropti]): """Class to manage fetching Powerfox data from the API.""" - config_entry: ConfigEntry + config_entry: PowerfoxConfigEntry def __init__( self, hass: HomeAssistant, + config_entry: PowerfoxConfigEntry, client: Powerfox, device: Device, ) -> None: @@ -34,6 +37,7 @@ class PowerfoxDataUpdateCoordinator(DataUpdateCoordinator[Poweropti]): super().__init__( hass, LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=SCAN_INTERVAL, ) diff --git a/homeassistant/components/powerfox/diagnostics.py b/homeassistant/components/powerfox/diagnostics.py index 4c6b0f8c6eb..8514e42537e 100644 --- a/homeassistant/components/powerfox/diagnostics.py +++ b/homeassistant/components/powerfox/diagnostics.py @@ -9,7 +9,7 @@ from powerfox import HeatMeter, PowerMeter, WaterMeter from homeassistant.core import HomeAssistant -from . import PowerfoxConfigEntry, PowerfoxDataUpdateCoordinator +from .coordinator import PowerfoxConfigEntry, PowerfoxDataUpdateCoordinator async def async_get_config_entry_diagnostics( diff --git a/homeassistant/components/powerfox/sensor.py b/homeassistant/components/powerfox/sensor.py index 6505139fcd9..d293c5c7a53 100644 --- a/homeassistant/components/powerfox/sensor.py +++ b/homeassistant/components/powerfox/sensor.py @@ -17,8 +17,7 @@ from homeassistant.const import UnitOfEnergy, UnitOfPower, UnitOfVolume from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import PowerfoxConfigEntry -from .coordinator import PowerfoxDataUpdateCoordinator +from .coordinator import PowerfoxConfigEntry, PowerfoxDataUpdateCoordinator from .entity import PowerfoxEntity