Explicitly pass in the config_entry in cert_expiry coordinator init (#137728)

explicitly pass in the config_entry in cert_expiry coordinator init
This commit is contained in:
Michael 2025-02-08 13:21:13 +01:00 committed by GitHub
parent 0a842d171b
commit 2d72b814d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 17 additions and 9 deletions

View File

@ -2,24 +2,21 @@
from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.start import async_at_started
from .coordinator import CertExpiryDataUpdateCoordinator
from .coordinator import CertExpiryConfigEntry, CertExpiryDataUpdateCoordinator
PLATFORMS = [Platform.SENSOR]
type CertExpiryConfigEntry = ConfigEntry[CertExpiryDataUpdateCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: CertExpiryConfigEntry) -> bool:
"""Load the saved entities."""
host: str = entry.data[CONF_HOST]
port: int = entry.data[CONF_PORT]
coordinator = CertExpiryDataUpdateCoordinator(hass, host, port)
coordinator = CertExpiryDataUpdateCoordinator(hass, entry, host, port)
entry.runtime_data = coordinator
@ -34,6 +31,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: CertExpiryConfigEntry) -
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: CertExpiryConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)

View File

@ -5,6 +5,7 @@ from __future__ import annotations
from datetime import datetime, timedelta
import logging
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -14,11 +15,21 @@ from .helper import get_cert_expiry_timestamp
_LOGGER = logging.getLogger(__name__)
type CertExpiryConfigEntry = ConfigEntry[CertExpiryDataUpdateCoordinator]
class CertExpiryDataUpdateCoordinator(DataUpdateCoordinator[datetime | None]):
"""Class to manage fetching Cert Expiry data from single endpoint."""
def __init__(self, hass: HomeAssistant, host: str, port: int) -> None:
config_entry: CertExpiryConfigEntry
def __init__(
self,
hass: HomeAssistant,
config_entry: CertExpiryConfigEntry,
host: str,
port: int,
) -> None:
"""Initialize global Cert Expiry data updater."""
self.host = host
self.port = port
@ -31,6 +42,7 @@ class CertExpiryDataUpdateCoordinator(DataUpdateCoordinator[datetime | None]):
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=name,
update_interval=timedelta(hours=12),
always_update=False,

View File

@ -9,9 +9,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import CertExpiryConfigEntry
from .const import DOMAIN
from .coordinator import CertExpiryDataUpdateCoordinator
from .coordinator import CertExpiryConfigEntry, CertExpiryDataUpdateCoordinator
from .entity import CertExpiryEntity