Explicitly pass in the config_entry in technove coordinator (#137910)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 14:48:15 +01:00 committed by GitHub
parent ac3eead8ac
commit 242bbaeff9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 14 additions and 20 deletions

View File

@ -2,16 +2,13 @@
from __future__ import annotations from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .coordinator import TechnoVEDataUpdateCoordinator from .coordinator import TechnoVEConfigEntry, TechnoVEDataUpdateCoordinator
PLATFORMS = [Platform.BINARY_SENSOR, Platform.NUMBER, Platform.SENSOR, Platform.SWITCH] PLATFORMS = [Platform.BINARY_SENSOR, Platform.NUMBER, Platform.SENSOR, Platform.SWITCH]
TechnoVEConfigEntry = ConfigEntry[TechnoVEDataUpdateCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: TechnoVEConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: TechnoVEConfigEntry) -> bool:
"""Set up TechnoVE from a config entry.""" """Set up TechnoVE from a config entry."""
@ -25,6 +22,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: TechnoVEConfigEntry) ->
return True return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: TechnoVEConfigEntry) -> bool:
"""Unload a config entry.""" """Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)

View File

@ -16,8 +16,7 @@ from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import TechnoVEConfigEntry from .coordinator import TechnoVEConfigEntry, TechnoVEDataUpdateCoordinator
from .coordinator import TechnoVEDataUpdateCoordinator
from .entity import TechnoVEEntity from .entity import TechnoVEEntity

View File

@ -2,10 +2,9 @@
from __future__ import annotations from __future__ import annotations
from typing import TYPE_CHECKING
from technove import Station as TechnoVEStation, TechnoVE, TechnoVEError from technove import Station as TechnoVEStation, TechnoVE, TechnoVEError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -13,22 +12,24 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
from .const import DOMAIN, LOGGER, SCAN_INTERVAL from .const import DOMAIN, LOGGER, SCAN_INTERVAL
if TYPE_CHECKING: type TechnoVEConfigEntry = ConfigEntry[TechnoVEDataUpdateCoordinator]
from . import TechnoVEConfigEntry
class TechnoVEDataUpdateCoordinator(DataUpdateCoordinator[TechnoVEStation]): class TechnoVEDataUpdateCoordinator(DataUpdateCoordinator[TechnoVEStation]):
"""Class to manage fetching TechnoVE data from single endpoint.""" """Class to manage fetching TechnoVE data from single endpoint."""
def __init__(self, hass: HomeAssistant, entry: TechnoVEConfigEntry) -> None: config_entry: TechnoVEConfigEntry
def __init__(self, hass: HomeAssistant, config_entry: TechnoVEConfigEntry) -> None:
"""Initialize global TechnoVE data updater.""" """Initialize global TechnoVE data updater."""
self.technove = TechnoVE( self.technove = TechnoVE(
entry.data[CONF_HOST], config_entry.data[CONF_HOST],
session=async_get_clientsession(hass), session=async_get_clientsession(hass),
) )
super().__init__( super().__init__(
hass, hass,
LOGGER, LOGGER,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
update_interval=SCAN_INTERVAL, update_interval=SCAN_INTERVAL,
) )

View File

@ -8,7 +8,7 @@ from typing import Any
from homeassistant.components.diagnostics import async_redact_data from homeassistant.components.diagnostics import async_redact_data
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from . import TechnoVEConfigEntry from .coordinator import TechnoVEConfigEntry
TO_REDACT = {"unique_id", "mac_address"} TO_REDACT = {"unique_id", "mac_address"}

View File

@ -19,9 +19,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ServiceValidationError from homeassistant.exceptions import ServiceValidationError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import TechnoVEConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import TechnoVEDataUpdateCoordinator from .coordinator import TechnoVEConfigEntry, TechnoVEDataUpdateCoordinator
from .entity import TechnoVEEntity from .entity import TechnoVEEntity
from .helpers import technove_exception_handler from .helpers import technove_exception_handler

View File

@ -24,8 +24,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType from homeassistant.helpers.typing import StateType
from . import TechnoVEConfigEntry from .coordinator import TechnoVEConfigEntry, TechnoVEDataUpdateCoordinator
from .coordinator import TechnoVEDataUpdateCoordinator
from .entity import TechnoVEEntity from .entity import TechnoVEEntity
STATUS_TYPE = [s.value for s in Status if s != Status.UNKNOWN] STATUS_TYPE = [s.value for s in Status if s != Status.UNKNOWN]

View File

@ -14,9 +14,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ServiceValidationError from homeassistant.exceptions import ServiceValidationError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import TechnoVEConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import TechnoVEDataUpdateCoordinator from .coordinator import TechnoVEConfigEntry, TechnoVEDataUpdateCoordinator
from .entity import TechnoVEEntity from .entity import TechnoVEEntity
from .helpers import technove_exception_handler from .helpers import technove_exception_handler