Improve DataUpdateCoordinator typing in integrations (4) (#84658)
This commit is contained in:
parent
e170681016
commit
694fa3d014
4 changed files with 8 additions and 9 deletions
|
@ -73,7 +73,7 @@ def get_entry_data(hass: HomeAssistant) -> dict[str, ShellyEntryData]:
|
|||
return cast(dict[str, ShellyEntryData], hass.data[DOMAIN][DATA_CONFIG_ENTRY])
|
||||
|
||||
|
||||
class ShellyBlockCoordinator(DataUpdateCoordinator):
|
||||
class ShellyBlockCoordinator(DataUpdateCoordinator[None]):
|
||||
"""Coordinator for a Shelly block based device."""
|
||||
|
||||
def __init__(
|
||||
|
@ -318,7 +318,7 @@ class ShellyRestCoordinator(DataUpdateCoordinator):
|
|||
return cast(str, self.device.settings["device"]["mac"])
|
||||
|
||||
|
||||
class ShellyRpcCoordinator(DataUpdateCoordinator):
|
||||
class ShellyRpcCoordinator(DataUpdateCoordinator[None]):
|
||||
"""Coordinator for a Shelly RPC based device."""
|
||||
|
||||
def __init__(
|
||||
|
@ -543,7 +543,7 @@ class ShellyRpcCoordinator(DataUpdateCoordinator):
|
|||
elif update_type is UpdateType.DISCONNECTED:
|
||||
self.hass.async_create_task(self._async_disconnected())
|
||||
elif update_type is UpdateType.STATUS:
|
||||
self.async_set_updated_data(self.device)
|
||||
self.async_set_updated_data(None)
|
||||
elif update_type is UpdateType.EVENT and (event := self.device.event):
|
||||
self._async_device_event_handler(event)
|
||||
|
||||
|
|
|
@ -53,10 +53,9 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
return unload_ok
|
||||
|
||||
|
||||
class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator):
|
||||
class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator[list[UptimeRobotMonitor]]):
|
||||
"""Data update coordinator for UptimeRobot."""
|
||||
|
||||
data: list[UptimeRobotMonitor]
|
||||
config_entry: ConfigEntry
|
||||
|
||||
def __init__(
|
||||
|
@ -77,7 +76,7 @@ class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
self._device_registry = dev_reg
|
||||
self.api = api
|
||||
|
||||
async def _async_update_data(self) -> list[UptimeRobotMonitor] | None:
|
||||
async def _async_update_data(self) -> list[UptimeRobotMonitor]:
|
||||
"""Update data."""
|
||||
try:
|
||||
response = await self.api.async_get_monitors()
|
||||
|
@ -111,6 +110,5 @@ class UptimeRobotDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
self.hass.async_create_task(
|
||||
self.hass.config_entries.async_reload(self._config_entry_id)
|
||||
)
|
||||
return None
|
||||
|
||||
return monitors
|
||||
|
|
|
@ -14,7 +14,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
|
|||
from .const import DOMAIN, LOGGER, UPDATE_COORDINATOR_UPDATE_INTERVAL
|
||||
|
||||
|
||||
class VersionDataUpdateCoordinator(DataUpdateCoordinator):
|
||||
class VersionDataUpdateCoordinator(DataUpdateCoordinator[None]):
|
||||
"""Data update coordinator for Version entities."""
|
||||
|
||||
config_entry: ConfigEntry
|
||||
|
|
|
@ -10,6 +10,7 @@ from homeassistant.core import HomeAssistant
|
|||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||
|
||||
from .const import DOMAIN
|
||||
from .coordinator import VersionDataUpdateCoordinator
|
||||
|
||||
|
||||
async def async_get_config_entry_diagnostics(
|
||||
|
@ -17,7 +18,7 @@ async def async_get_config_entry_diagnostics(
|
|||
config_entry: ConfigEntry,
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for a config entry."""
|
||||
coordinator = hass.data[DOMAIN][config_entry.entry_id]
|
||||
coordinator: VersionDataUpdateCoordinator = hass.data[DOMAIN][config_entry.entry_id]
|
||||
device_registry = dr.async_get(hass)
|
||||
entity_registry = er.async_get(hass)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue