Store runtime data inside the config entry in Certificate Expiry (#116819)

replace optional timeout by sane default
This commit is contained in:
Michael 2024-05-05 01:33:24 +02:00 committed by GitHub
parent ddf9d6c53a
commit e66581e3a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 11 deletions

View File

@ -7,21 +7,21 @@ from homeassistant.const import CONF_HOST, CONF_PORT, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.start import async_at_started from homeassistant.helpers.start import async_at_started
from .const import DOMAIN
from .coordinator import CertExpiryDataUpdateCoordinator from .coordinator import CertExpiryDataUpdateCoordinator
PLATFORMS = [Platform.SENSOR] PLATFORMS = [Platform.SENSOR]
CertExpiryConfigEntry = ConfigEntry[CertExpiryDataUpdateCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: CertExpiryConfigEntry) -> bool:
"""Load the saved entities.""" """Load the saved entities."""
host: str = entry.data[CONF_HOST] host: str = entry.data[CONF_HOST]
port: int = entry.data[CONF_PORT] port: int = entry.data[CONF_PORT]
coordinator = CertExpiryDataUpdateCoordinator(hass, host, port) coordinator = CertExpiryDataUpdateCoordinator(hass, host, port)
hass.data.setdefault(DOMAIN, {}) entry.runtime_data = coordinator
hass.data[DOMAIN][entry.entry_id] = coordinator
if entry.unique_id is None: if entry.unique_id is None:
hass.config_entries.async_update_entry(entry, unique_id=f"{host}:{port}") hass.config_entries.async_update_entry(entry, unique_id=f"{host}:{port}")

View File

@ -12,7 +12,7 @@ from homeassistant.components.sensor import (
SensorDeviceClass, SensorDeviceClass,
SensorEntity, SensorEntity,
) )
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.config_entries import SOURCE_IMPORT
from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_START from homeassistant.const import CONF_HOST, CONF_PORT, EVENT_HOMEASSISTANT_START
from homeassistant.core import Event, HomeAssistant, callback from homeassistant.core import Event, HomeAssistant, callback
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -22,7 +22,7 @@ from homeassistant.helpers.event import async_call_later
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import CertExpiryDataUpdateCoordinator from . import CertExpiryConfigEntry, CertExpiryDataUpdateCoordinator
from .const import DEFAULT_PORT, DOMAIN from .const import DEFAULT_PORT, DOMAIN
SCAN_INTERVAL = timedelta(hours=12) SCAN_INTERVAL = timedelta(hours=12)
@ -62,15 +62,13 @@ async def async_setup_platform(
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
entry: ConfigEntry, entry: CertExpiryConfigEntry,
async_add_entities: AddEntitiesCallback, async_add_entities: AddEntitiesCallback,
) -> None: ) -> None:
"""Add cert-expiry entry.""" """Add cert-expiry entry."""
coordinator: CertExpiryDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] coordinator = entry.runtime_data
sensors = [ sensors = [SSLCertificateTimestamp(coordinator)]
SSLCertificateTimestamp(coordinator),
]
async_add_entities(sensors, True) async_add_entities(sensors, True)