Use typed ConfigEntry in UptimeRobot (#142846)

This commit is contained in:
Simone Chemelli 2025-04-13 15:30:47 +02:00 committed by GitHub
parent 31c2d22912
commit e370248c9e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 17 additions and 18 deletions

View File

@ -4,17 +4,16 @@ from __future__ import annotations
from pyuptimerobot import UptimeRobot from pyuptimerobot import UptimeRobot
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY from homeassistant.const import CONF_API_KEY
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN, PLATFORMS from .const import DOMAIN, PLATFORMS
from .coordinator import UptimeRobotDataUpdateCoordinator from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: UptimeRobotConfigEntry) -> bool:
"""Set up UptimeRobot from a config entry.""" """Set up UptimeRobot from a config entry."""
hass.data.setdefault(DOMAIN, {}) hass.data.setdefault(DOMAIN, {})
key: str = entry.data[CONF_API_KEY] key: str = entry.data[CONF_API_KEY]
@ -37,7 +36,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return True return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(
hass: HomeAssistant, entry: UptimeRobotConfigEntry
) -> bool:
"""Unload a config entry.""" """Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok: if unload_ok:

View File

@ -7,18 +7,17 @@ from homeassistant.components.binary_sensor import (
BinarySensorEntity, BinarySensorEntity,
BinarySensorEntityDescription, BinarySensorEntityDescription,
) )
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .const import DOMAIN from .const import DOMAIN
from .coordinator import UptimeRobotDataUpdateCoordinator from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
from .entity import UptimeRobotEntity from .entity import UptimeRobotEntity
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
entry: ConfigEntry, entry: UptimeRobotConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback, async_add_entities: AddConfigEntryEntitiesCallback,
) -> None: ) -> None:
"""Set up the UptimeRobot binary_sensors.""" """Set up the UptimeRobot binary_sensors."""

View File

@ -17,16 +17,18 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
from .const import API_ATTR_OK, COORDINATOR_UPDATE_INTERVAL, DOMAIN, LOGGER from .const import API_ATTR_OK, COORDINATOR_UPDATE_INTERVAL, DOMAIN, LOGGER
type UptimeRobotConfigEntry = ConfigEntry[UptimeRobotDataUpdateCoordinator]
class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator[list[UptimeRobotMonitor]]): class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator[list[UptimeRobotMonitor]]):
"""Data update coordinator for UptimeRobot.""" """Data update coordinator for UptimeRobot."""
config_entry: ConfigEntry config_entry: UptimeRobotConfigEntry
def __init__( def __init__(
self, self,
hass: HomeAssistant, hass: HomeAssistant,
config_entry: ConfigEntry, config_entry: UptimeRobotConfigEntry,
api: UptimeRobot, api: UptimeRobot,
) -> None: ) -> None:
"""Initialize coordinator.""" """Initialize coordinator."""

View File

@ -6,16 +6,15 @@ from typing import Any
from pyuptimerobot import UptimeRobotException from pyuptimerobot import UptimeRobotException
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .const import DOMAIN from .const import DOMAIN
from .coordinator import UptimeRobotDataUpdateCoordinator from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
async def async_get_config_entry_diagnostics( async def async_get_config_entry_diagnostics(
hass: HomeAssistant, hass: HomeAssistant,
entry: ConfigEntry, entry: UptimeRobotConfigEntry,
) -> dict[str, Any]: ) -> dict[str, Any]:
"""Return diagnostics for a config entry.""" """Return diagnostics for a config entry."""
coordinator: UptimeRobotDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] coordinator: UptimeRobotDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]

View File

@ -7,13 +7,12 @@ from homeassistant.components.sensor import (
SensorEntity, SensorEntity,
SensorEntityDescription, SensorEntityDescription,
) )
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import EntityCategory from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .const import DOMAIN from .const import DOMAIN
from .coordinator import UptimeRobotDataUpdateCoordinator from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
from .entity import UptimeRobotEntity from .entity import UptimeRobotEntity
SENSORS_INFO = { SENSORS_INFO = {
@ -27,7 +26,7 @@ SENSORS_INFO = {
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
entry: ConfigEntry, entry: UptimeRobotConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback, async_add_entities: AddConfigEntryEntitiesCallback,
) -> None: ) -> None:
"""Set up the UptimeRobot sensors.""" """Set up the UptimeRobot sensors."""

View File

@ -11,18 +11,17 @@ from homeassistant.components.switch import (
SwitchEntity, SwitchEntity,
SwitchEntityDescription, SwitchEntityDescription,
) )
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .const import API_ATTR_OK, DOMAIN, LOGGER from .const import API_ATTR_OK, DOMAIN, LOGGER
from .coordinator import UptimeRobotDataUpdateCoordinator from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
from .entity import UptimeRobotEntity from .entity import UptimeRobotEntity
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
entry: ConfigEntry, entry: UptimeRobotConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback, async_add_entities: AddConfigEntryEntitiesCallback,
) -> None: ) -> None:
"""Set up the UptimeRobot switches.""" """Set up the UptimeRobot switches."""