diff --git a/homeassistant/components/husqvarna_automower/__init__.py b/homeassistant/components/husqvarna_automower/__init__.py index a08256fb0b5..1945647a706 100644 --- a/homeassistant/components/husqvarna_automower/__init__.py +++ b/homeassistant/components/husqvarna_automower/__init__.py @@ -5,7 +5,6 @@ import logging from aioautomower.session import AutomowerSession from aiohttp import ClientResponseError -from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady @@ -13,7 +12,7 @@ from homeassistant.helpers import aiohttp_client, config_entry_oauth2_flow from homeassistant.util import dt as dt_util from . import api -from .coordinator import AutomowerDataUpdateCoordinator +from .coordinator import AutomowerConfigEntry, AutomowerDataUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -29,8 +28,6 @@ PLATFORMS: list[Platform] = [ Platform.SWITCH, ] -type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator] - async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry) -> bool: """Set up this integration using UI.""" @@ -61,7 +58,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry) -> # without the scope. So only polling would be possible. raise ConfigEntryAuthFailed - coordinator = AutomowerDataUpdateCoordinator(hass, automower_api) + coordinator = AutomowerDataUpdateCoordinator(hass, entry, automower_api) await coordinator.async_config_entry_first_refresh() entry.runtime_data = coordinator diff --git a/homeassistant/components/husqvarna_automower/coordinator.py b/homeassistant/components/husqvarna_automower/coordinator.py index a587b4f3821..819ee41a43d 100644 --- a/homeassistant/components/husqvarna_automower/coordinator.py +++ b/homeassistant/components/husqvarna_automower/coordinator.py @@ -6,7 +6,6 @@ import asyncio from collections.abc import Callable from datetime import timedelta import logging -from typing import TYPE_CHECKING from aioautomower.exceptions import ( ApiError, @@ -17,6 +16,7 @@ from aioautomower.exceptions import ( from aioautomower.model import MowerAttributes from aioautomower.session import AutomowerSession +from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.helpers import device_registry as dr, entity_registry as er @@ -24,25 +24,30 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda from .const import DOMAIN -if TYPE_CHECKING: - from . import AutomowerConfigEntry - _LOGGER = logging.getLogger(__name__) MAX_WS_RECONNECT_TIME = 600 SCAN_INTERVAL = timedelta(minutes=8) DEFAULT_RECONNECT_TIME = 2 # Define a default reconnect time +type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator] + class AutomowerDataUpdateCoordinator(DataUpdateCoordinator[dict[str, MowerAttributes]]): """Class to manage fetching Husqvarna data.""" config_entry: AutomowerConfigEntry - def __init__(self, hass: HomeAssistant, api: AutomowerSession) -> None: + def __init__( + self, + hass: HomeAssistant, + config_entry: AutomowerConfigEntry, + api: AutomowerSession, + ) -> None: """Initialize data updater.""" super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=SCAN_INTERVAL, )