From 82a9e67b7e75b07bca59ce5d4f27494a473aecf2 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 16 May 2025 10:53:24 +0200 Subject: [PATCH] Use generic in iaqualink entity (#144989) --- homeassistant/components/iaqualink/binary_sensor.py | 4 +++- homeassistant/components/iaqualink/climate.py | 2 +- homeassistant/components/iaqualink/entity.py | 4 ++-- homeassistant/components/iaqualink/light.py | 2 +- homeassistant/components/iaqualink/sensor.py | 2 +- homeassistant/components/iaqualink/switch.py | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/iaqualink/binary_sensor.py b/homeassistant/components/iaqualink/binary_sensor.py index 5546e5e9006..94f2dc94f2c 100644 --- a/homeassistant/components/iaqualink/binary_sensor.py +++ b/homeassistant/components/iaqualink/binary_sensor.py @@ -34,7 +34,9 @@ async def async_setup_entry( ) -class HassAqualinkBinarySensor(AqualinkEntity, BinarySensorEntity): +class HassAqualinkBinarySensor( + AqualinkEntity[AqualinkBinarySensor], BinarySensorEntity +): """Representation of a binary sensor.""" def __init__(self, dev: AqualinkBinarySensor) -> None: diff --git a/homeassistant/components/iaqualink/climate.py b/homeassistant/components/iaqualink/climate.py index fdd16205be4..e0d5a1d7cf4 100644 --- a/homeassistant/components/iaqualink/climate.py +++ b/homeassistant/components/iaqualink/climate.py @@ -42,7 +42,7 @@ async def async_setup_entry( ) -class HassAqualinkThermostat(AqualinkEntity, ClimateEntity): +class HassAqualinkThermostat(AqualinkEntity[AqualinkThermostat], ClimateEntity): """Representation of a thermostat.""" _attr_hvac_modes = [HVACMode.HEAT, HVACMode.OFF] diff --git a/homeassistant/components/iaqualink/entity.py b/homeassistant/components/iaqualink/entity.py index d0176ed8bfe..0b3751e5fbc 100644 --- a/homeassistant/components/iaqualink/entity.py +++ b/homeassistant/components/iaqualink/entity.py @@ -11,7 +11,7 @@ from homeassistant.helpers.entity import Entity from .const import DOMAIN -class AqualinkEntity(Entity): +class AqualinkEntity[AqualinkDeviceT: AqualinkDevice](Entity): """Abstract class for all Aqualink platforms. Entity state is updated via the interval timer within the integration. @@ -23,7 +23,7 @@ class AqualinkEntity(Entity): _attr_should_poll = False - def __init__(self, dev: AqualinkDevice) -> None: + def __init__(self, dev: AqualinkDeviceT) -> None: """Initialize the entity.""" self.dev = dev self._attr_unique_id = f"{dev.system.serial}_{dev.name}" diff --git a/homeassistant/components/iaqualink/light.py b/homeassistant/components/iaqualink/light.py index 868480b0913..946971223b2 100644 --- a/homeassistant/components/iaqualink/light.py +++ b/homeassistant/components/iaqualink/light.py @@ -38,7 +38,7 @@ async def async_setup_entry( ) -class HassAqualinkLight(AqualinkEntity, LightEntity): +class HassAqualinkLight(AqualinkEntity[AqualinkLight], LightEntity): """Representation of a light.""" def __init__(self, dev: AqualinkLight) -> None: diff --git a/homeassistant/components/iaqualink/sensor.py b/homeassistant/components/iaqualink/sensor.py index a28d527b239..ef614ff066e 100644 --- a/homeassistant/components/iaqualink/sensor.py +++ b/homeassistant/components/iaqualink/sensor.py @@ -32,7 +32,7 @@ async def async_setup_entry( ) -class HassAqualinkSensor(AqualinkEntity, SensorEntity): +class HassAqualinkSensor(AqualinkEntity[AqualinkSensor], SensorEntity): """Representation of a sensor.""" def __init__(self, dev: AqualinkSensor) -> None: diff --git a/homeassistant/components/iaqualink/switch.py b/homeassistant/components/iaqualink/switch.py index e01e294355f..959ff6e16c5 100644 --- a/homeassistant/components/iaqualink/switch.py +++ b/homeassistant/components/iaqualink/switch.py @@ -31,7 +31,7 @@ async def async_setup_entry( ) -class HassAqualinkSwitch(AqualinkEntity, SwitchEntity): +class HassAqualinkSwitch(AqualinkEntity[AqualinkSwitch], SwitchEntity): """Representation of a switch.""" def __init__(self, dev: AqualinkSwitch) -> None: