diff --git a/homeassistant/components/idasen_desk/__init__.py b/homeassistant/components/idasen_desk/__init__.py index 671319e46ebffd68ab6ef9f7ccfa8866a8e8ee19..1ea0efeef725406c1deb0838cb78f1ff531dccee 100644 --- a/homeassistant/components/idasen_desk/__init__.py +++ b/homeassistant/components/idasen_desk/__init__.py @@ -9,25 +9,22 @@ from idasen_ha.errors import AuthFailedError from homeassistant.components import bluetooth from homeassistant.components.bluetooth.match import ADDRESS, BluetoothCallbackMatcher -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_ADDRESS, EVENT_HOMEASSISTANT_STOP, Platform from homeassistant.core import Event, HomeAssistant, callback from homeassistant.exceptions import ConfigEntryNotReady -from .coordinator import IdasenDeskCoordinator +from .coordinator import IdasenDeskConfigEntry, IdasenDeskCoordinator PLATFORMS: list[Platform] = [Platform.BUTTON, Platform.COVER, Platform.SENSOR] _LOGGER = logging.getLogger(__name__) -type IdasenDeskConfigEntry = ConfigEntry[IdasenDeskCoordinator] - async def async_setup_entry(hass: HomeAssistant, entry: IdasenDeskConfigEntry) -> bool: """Set up IKEA Idasen from a config entry.""" address: str = entry.data[CONF_ADDRESS].upper() - coordinator = IdasenDeskCoordinator(hass, entry.title, address) + coordinator = IdasenDeskCoordinator(hass, entry, address) entry.runtime_data = coordinator try: diff --git a/homeassistant/components/idasen_desk/button.py b/homeassistant/components/idasen_desk/button.py index cd7553da1acba0ca61c928f19abc296dbf008b88..afd2f72917c0cd1754d82cd249abde14c8d5b7f3 100644 --- a/homeassistant/components/idasen_desk/button.py +++ b/homeassistant/components/idasen_desk/button.py @@ -10,7 +10,7 @@ from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import IdasenDeskConfigEntry, IdasenDeskCoordinator +from .coordinator import IdasenDeskConfigEntry, IdasenDeskCoordinator from .entity import IdasenDeskEntity _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/idasen_desk/coordinator.py b/homeassistant/components/idasen_desk/coordinator.py index d9e90cfe5ea62265a525d5c1721db654526c2a02..5da3d57cf9a6f38f787fb98f26d83017e1d4e705 100644 --- a/homeassistant/components/idasen_desk/coordinator.py +++ b/homeassistant/components/idasen_desk/coordinator.py @@ -7,24 +7,31 @@ import logging from idasen_ha import Desk from homeassistant.components import bluetooth +from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.update_coordinator import DataUpdateCoordinator _LOGGER = logging.getLogger(__name__) +type IdasenDeskConfigEntry = ConfigEntry[IdasenDeskCoordinator] + class IdasenDeskCoordinator(DataUpdateCoordinator[int | None]): """Class to manage updates for the Idasen Desk.""" + config_entry: IdasenDeskConfigEntry + def __init__( self, hass: HomeAssistant, - name: str, + config_entry: IdasenDeskConfigEntry, address: str, ) -> None: """Init IdasenDeskCoordinator.""" - super().__init__(hass, _LOGGER, name=name) + super().__init__( + hass, _LOGGER, config_entry=config_entry, name=config_entry.title + ) self.address = address self._expected_connected = False diff --git a/homeassistant/components/idasen_desk/cover.py b/homeassistant/components/idasen_desk/cover.py index a8ba0983e99a447a4bb663f599e180a07e6e8c9f..b99eb67d8f582c6093d0171b7c4b44cf1209f592 100644 --- a/homeassistant/components/idasen_desk/cover.py +++ b/homeassistant/components/idasen_desk/cover.py @@ -16,7 +16,7 @@ from homeassistant.core import HomeAssistant from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import IdasenDeskConfigEntry, IdasenDeskCoordinator +from .coordinator import IdasenDeskConfigEntry, IdasenDeskCoordinator from .entity import IdasenDeskEntity diff --git a/homeassistant/components/idasen_desk/entity.py b/homeassistant/components/idasen_desk/entity.py index bda7afd528ce914187796a0895bf6bcfcd7d140a..46730ee13fe77c73d7b9ff04f99713585f30d108 100644 --- a/homeassistant/components/idasen_desk/entity.py +++ b/homeassistant/components/idasen_desk/entity.py @@ -5,7 +5,7 @@ from __future__ import annotations from homeassistant.helpers import device_registry as dr from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import IdasenDeskCoordinator +from .coordinator import IdasenDeskCoordinator class IdasenDeskEntity(CoordinatorEntity[IdasenDeskCoordinator]): diff --git a/homeassistant/components/idasen_desk/sensor.py b/homeassistant/components/idasen_desk/sensor.py index 4613d316a52d18ec3a110d1c315b15fd6bef8538..f4ba163b123706dd958635af4b01bca0ade4082e 100644 --- a/homeassistant/components/idasen_desk/sensor.py +++ b/homeassistant/components/idasen_desk/sensor.py @@ -15,7 +15,7 @@ from homeassistant.const import UnitOfLength from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import IdasenDeskConfigEntry, IdasenDeskCoordinator +from .coordinator import IdasenDeskConfigEntry, IdasenDeskCoordinator from .entity import IdasenDeskEntity