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 homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.aiohttp_client import async_get_clientsession
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."""
hass.data.setdefault(DOMAIN, {})
key: str = entry.data[CONF_API_KEY]
@ -37,7 +36,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
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_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:

View File

@ -7,18 +7,17 @@ from homeassistant.components.binary_sensor import (
BinarySensorEntity,
BinarySensorEntityDescription,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .const import DOMAIN
from .coordinator import UptimeRobotDataUpdateCoordinator
from .coordinator import UptimeRobotConfigEntry, UptimeRobotDataUpdateCoordinator
from .entity import UptimeRobotEntity
async def async_setup_entry(
hass: HomeAssistant,
entry: ConfigEntry,
entry: UptimeRobotConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback,
) -> None:
"""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
type UptimeRobotConfigEntry = ConfigEntry[UptimeRobotDataUpdateCoordinator]
class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator[list[UptimeRobotMonitor]]):
"""Data update coordinator for UptimeRobot."""
config_entry: ConfigEntry
config_entry: UptimeRobotConfigEntry
def __init__(
self,
hass: HomeAssistant,
config_entry: ConfigEntry,
config_entry: UptimeRobotConfigEntry,
api: UptimeRobot,
) -> None:
"""Initialize coordinator."""

View File

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

View File

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

View File

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