From b01efc55a23d29a79ff088d37d716783f39b59d7 Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Tue, 27 Dec 2022 21:24:33 +0100 Subject: [PATCH] Improve `lyric` generic typing (#84637) --- homeassistant/components/lyric/__init__.py | 6 +++--- homeassistant/components/lyric/climate.py | 7 ++++--- homeassistant/components/lyric/sensor.py | 7 ++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/lyric/__init__.py b/homeassistant/components/lyric/__init__.py index 8a93591b037..228cf4c1d5d 100644 --- a/homeassistant/components/lyric/__init__.py +++ b/homeassistant/components/lyric/__init__.py @@ -105,7 +105,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: except (LyricException, ClientResponseError) as exception: raise UpdateFailed(exception) from exception - coordinator = DataUpdateCoordinator( + coordinator = DataUpdateCoordinator[Lyric]( hass, _LOGGER, # Name of the data. For logging purposes. @@ -133,12 +133,12 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: return unload_ok -class LyricEntity(CoordinatorEntity): +class LyricEntity(CoordinatorEntity[DataUpdateCoordinator[Lyric]]): """Defines a base Honeywell Lyric entity.""" def __init__( self, - coordinator: DataUpdateCoordinator, + coordinator: DataUpdateCoordinator[Lyric], location: LyricLocation, device: LyricDevice, key: str, diff --git a/homeassistant/components/lyric/climate.py b/homeassistant/components/lyric/climate.py index a8930a14848..4de413c45dc 100644 --- a/homeassistant/components/lyric/climate.py +++ b/homeassistant/components/lyric/climate.py @@ -6,6 +6,7 @@ import logging from time import localtime, strftime, time from typing import Any +from aiolyric import Lyric from aiolyric.objects.device import LyricDevice from aiolyric.objects.location import LyricLocation import voluptuous as vol @@ -97,7 +98,7 @@ async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up the Honeywell Lyric climate platform based on a config entry.""" - coordinator: DataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] + coordinator: DataUpdateCoordinator[Lyric] = hass.data[DOMAIN][entry.entry_id] entities = [] @@ -130,12 +131,12 @@ async def async_setup_entry( class LyricClimate(LyricDeviceEntity, ClimateEntity): """Defines a Honeywell Lyric climate entity.""" - coordinator: DataUpdateCoordinator + coordinator: DataUpdateCoordinator[Lyric] entity_description: ClimateEntityDescription def __init__( self, - coordinator: DataUpdateCoordinator, + coordinator: DataUpdateCoordinator[Lyric], description: ClimateEntityDescription, location: LyricLocation, device: LyricDevice, diff --git a/homeassistant/components/lyric/sensor.py b/homeassistant/components/lyric/sensor.py index 528161f3d6e..1201a675a5d 100644 --- a/homeassistant/components/lyric/sensor.py +++ b/homeassistant/components/lyric/sensor.py @@ -6,6 +6,7 @@ from dataclasses import dataclass from datetime import datetime, timedelta from typing import cast +from aiolyric import Lyric from aiolyric.objects.device import LyricDevice from aiolyric.objects.location import LyricLocation @@ -63,7 +64,7 @@ async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback ) -> None: """Set up the Honeywell Lyric sensor platform based on a config entry.""" - coordinator: DataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] + coordinator: DataUpdateCoordinator[Lyric] = hass.data[DOMAIN][entry.entry_id] entities = [] @@ -179,12 +180,12 @@ async def async_setup_entry( class LyricSensor(LyricDeviceEntity, SensorEntity): """Define a Honeywell Lyric sensor.""" - coordinator: DataUpdateCoordinator + coordinator: DataUpdateCoordinator[Lyric] entity_description: LyricSensorEntityDescription def __init__( self, - coordinator: DataUpdateCoordinator, + coordinator: DataUpdateCoordinator[Lyric], description: LyricSensorEntityDescription, location: LyricLocation, device: LyricDevice,