Explicitly pass in the config_entry in apcupsd coordinator init (#137709)

explicitly pass in the config_entry in apcupsd coordinator init
This commit is contained in:
Michael 2025-02-07 23:55:41 +01:00 committed by GitHub
parent 1d3cef5c6f
commit fd1213b70d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 12 deletions

View File

@ -4,13 +4,10 @@ from __future__ import annotations
from typing import Final
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant
from .coordinator import APCUPSdCoordinator
type APCUPSdConfigEntry = ConfigEntry[APCUPSdCoordinator]
from .coordinator import APCUPSdConfigEntry, APCUPSdCoordinator
PLATFORMS: Final = (Platform.BINARY_SENSOR, Platform.SENSOR)
@ -20,7 +17,7 @@ async def async_setup_entry(
) -> bool:
"""Use config values to set up a function enabling status retrieval."""
host, port = config_entry.data[CONF_HOST], config_entry.data[CONF_PORT]
coordinator = APCUPSdCoordinator(hass, host, port)
coordinator = APCUPSdCoordinator(hass, config_entry, host, port)
await coordinator.async_config_entry_first_refresh()

View File

@ -12,8 +12,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import APCUPSdConfigEntry
from .coordinator import APCUPSdCoordinator
from .coordinator import APCUPSdConfigEntry, APCUPSdCoordinator
PARALLEL_UPDATES = 0

View File

@ -25,6 +25,8 @@ _LOGGER = logging.getLogger(__name__)
UPDATE_INTERVAL: Final = timedelta(seconds=60)
REQUEST_REFRESH_COOLDOWN: Final = 5
type APCUPSdConfigEntry = ConfigEntry[APCUPSdCoordinator]
class APCUPSdData(dict[str, str]):
"""Store data about an APCUPSd and provide a few helper methods for easier accesses."""
@ -57,13 +59,20 @@ class APCUPSdCoordinator(DataUpdateCoordinator[APCUPSdData]):
updates from the server.
"""
config_entry: ConfigEntry
config_entry: APCUPSdConfigEntry
def __init__(self, hass: HomeAssistant, host: str, port: int) -> None:
def __init__(
self,
hass: HomeAssistant,
config_entry: APCUPSdConfigEntry,
host: str,
port: int,
) -> None:
"""Initialize the data object."""
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=UPDATE_INTERVAL,
request_refresh_debouncer=Debouncer(

View File

@ -7,7 +7,7 @@ from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.core import HomeAssistant
from . import APCUPSdConfigEntry
from .coordinator import APCUPSdConfigEntry
TO_REDACT = {"SERIALNO", "HOSTNAME"}

View File

@ -24,9 +24,8 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import APCUPSdConfigEntry
from .const import LAST_S_TEST
from .coordinator import APCUPSdCoordinator
from .coordinator import APCUPSdConfigEntry, APCUPSdCoordinator
PARALLEL_UPDATES = 0