diff --git a/homeassistant/components/accuweather/sensor.py b/homeassistant/components/accuweather/sensor.py index 448c00eb53f..220575541ad 100644 --- a/homeassistant/components/accuweather/sensor.py +++ b/homeassistant/components/accuweather/sensor.py @@ -58,11 +58,12 @@ async def async_setup_entry( async_add_entities(sensors) -class AccuWeatherSensor(CoordinatorEntity, SensorEntity): +class AccuWeatherSensor( + CoordinatorEntity[AccuWeatherDataUpdateCoordinator], SensorEntity +): """Define an AccuWeather entity.""" _attr_attribution = ATTRIBUTION - coordinator: AccuWeatherDataUpdateCoordinator entity_description: AccuWeatherSensorDescription def __init__( diff --git a/homeassistant/components/accuweather/weather.py b/homeassistant/components/accuweather/weather.py index 4ab9342de62..536f66a3cb9 100644 --- a/homeassistant/components/accuweather/weather.py +++ b/homeassistant/components/accuweather/weather.py @@ -56,11 +56,11 @@ async def async_setup_entry( async_add_entities([AccuWeatherEntity(name, coordinator)]) -class AccuWeatherEntity(CoordinatorEntity, WeatherEntity): +class AccuWeatherEntity( + CoordinatorEntity[AccuWeatherDataUpdateCoordinator], WeatherEntity +): """Define an AccuWeather entity.""" - coordinator: AccuWeatherDataUpdateCoordinator - def __init__( self, name: str, coordinator: AccuWeatherDataUpdateCoordinator ) -> None: diff --git a/homeassistant/components/aemet/sensor.py b/homeassistant/components/aemet/sensor.py index f22c6d321b1..f98e3fff49e 100644 --- a/homeassistant/components/aemet/sensor.py +++ b/homeassistant/components/aemet/sensor.py @@ -64,7 +64,7 @@ async def async_setup_entry( async_add_entities(entities) -class AbstractAemetSensor(CoordinatorEntity, SensorEntity): +class AbstractAemetSensor(CoordinatorEntity[WeatherUpdateCoordinator], SensorEntity): """Abstract class for an AEMET OpenData sensor.""" _attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION} diff --git a/homeassistant/components/aemet/weather.py b/homeassistant/components/aemet/weather.py index cf23d6f3643..2bbb4d0da55 100644 --- a/homeassistant/components/aemet/weather.py +++ b/homeassistant/components/aemet/weather.py @@ -43,7 +43,7 @@ async def async_setup_entry( async_add_entities(entities, False) -class AemetWeather(CoordinatorEntity, WeatherEntity): +class AemetWeather(CoordinatorEntity[WeatherUpdateCoordinator], WeatherEntity): """Implementation of an AEMET OpenData sensor.""" _attr_attribution = ATTRIBUTION diff --git a/homeassistant/components/airly/sensor.py b/homeassistant/components/airly/sensor.py index 3dab90f5620..9b647b93afa 100644 --- a/homeassistant/components/airly/sensor.py +++ b/homeassistant/components/airly/sensor.py @@ -134,10 +134,9 @@ async def async_setup_entry( async_add_entities(sensors, False) -class AirlySensor(CoordinatorEntity, SensorEntity): +class AirlySensor(CoordinatorEntity[AirlyDataUpdateCoordinator], SensorEntity): """Define an Airly sensor.""" - coordinator: AirlyDataUpdateCoordinator entity_description: AirlySensorEntityDescription def __init__( diff --git a/homeassistant/components/airnow/sensor.py b/homeassistant/components/airnow/sensor.py index fcd3cfd6f45..780e40ed2ba 100644 --- a/homeassistant/components/airnow/sensor.py +++ b/homeassistant/components/airnow/sensor.py @@ -70,11 +70,9 @@ async def async_setup_entry( async_add_entities(entities, False) -class AirNowSensor(CoordinatorEntity, SensorEntity): +class AirNowSensor(CoordinatorEntity[AirNowDataUpdateCoordinator], SensorEntity): """Define an AirNow sensor.""" - coordinator: AirNowDataUpdateCoordinator - def __init__( self, coordinator: AirNowDataUpdateCoordinator, diff --git a/homeassistant/components/airzone/__init__.py b/homeassistant/components/airzone/__init__.py index 24a2978d88f..c1fd6deddf2 100644 --- a/homeassistant/components/airzone/__init__.py +++ b/homeassistant/components/airzone/__init__.py @@ -20,7 +20,7 @@ from .coordinator import AirzoneUpdateCoordinator PLATFORMS: list[Platform] = [Platform.SENSOR] -class AirzoneEntity(CoordinatorEntity): +class AirzoneEntity(CoordinatorEntity[AirzoneUpdateCoordinator]): """Define an Airzone entity.""" def __init__( diff --git a/homeassistant/components/amberelectric/binary_sensor.py b/homeassistant/components/amberelectric/binary_sensor.py index 422ff66db59..1931bcbd32c 100644 --- a/homeassistant/components/amberelectric/binary_sensor.py +++ b/homeassistant/components/amberelectric/binary_sensor.py @@ -24,7 +24,9 @@ PRICE_SPIKE_ICONS = { } -class AmberPriceGridSensor(CoordinatorEntity, BinarySensorEntity): +class AmberPriceGridSensor( + CoordinatorEntity[AmberUpdateCoordinator], BinarySensorEntity +): """Sensor to show single grid binary values.""" _attr_attribution = ATTRIBUTION diff --git a/homeassistant/components/amberelectric/sensor.py b/homeassistant/components/amberelectric/sensor.py index 6d5fb105008..522cde2a95f 100644 --- a/homeassistant/components/amberelectric/sensor.py +++ b/homeassistant/components/amberelectric/sensor.py @@ -51,7 +51,7 @@ def friendly_channel_type(channel_type: str) -> str: return "General" -class AmberSensor(CoordinatorEntity, SensorEntity): +class AmberSensor(CoordinatorEntity[AmberUpdateCoordinator], SensorEntity): """Amber Base Sensor.""" _attr_attribution = ATTRIBUTION @@ -180,7 +180,7 @@ class AmberPriceDescriptorSensor(AmberSensor): return self.coordinator.data[self.entity_description.key][self.channel_type] -class AmberGridSensor(CoordinatorEntity, SensorEntity): +class AmberGridSensor(CoordinatorEntity[AmberUpdateCoordinator], SensorEntity): """Sensor to show single grid specific values.""" _attr_attribution = ATTRIBUTION diff --git a/homeassistant/components/aseko_pool_live/entity.py b/homeassistant/components/aseko_pool_live/entity.py index 963bb536671..58974bcc326 100644 --- a/homeassistant/components/aseko_pool_live/entity.py +++ b/homeassistant/components/aseko_pool_live/entity.py @@ -8,11 +8,9 @@ from . import AsekoDataUpdateCoordinator from .const import DOMAIN -class AsekoEntity(CoordinatorEntity): +class AsekoEntity(CoordinatorEntity[AsekoDataUpdateCoordinator]): """Representation of an aseko entity.""" - coordinator: AsekoDataUpdateCoordinator - def __init__(self, unit: Unit, coordinator: AsekoDataUpdateCoordinator) -> None: """Initialize the aseko entity.""" super().__init__(coordinator) diff --git a/homeassistant/components/aurora/__init__.py b/homeassistant/components/aurora/__init__.py index a029f2cf61b..01d6092a4f2 100644 --- a/homeassistant/components/aurora/__init__.py +++ b/homeassistant/components/aurora/__init__.py @@ -118,7 +118,7 @@ class AuroraDataUpdateCoordinator(DataUpdateCoordinator): raise UpdateFailed(f"Error updating from NOAA: {error}") from error -class AuroraEntity(CoordinatorEntity): +class AuroraEntity(CoordinatorEntity[AuroraDataUpdateCoordinator]): """Implementation of the base Aurora Entity.""" _attr_extra_state_attributes = {"attribution": ATTRIBUTION} diff --git a/homeassistant/components/awair/sensor.py b/homeassistant/components/awair/sensor.py index 89c505bd4b9..1859ace1d4c 100644 --- a/homeassistant/components/awair/sensor.py +++ b/homeassistant/components/awair/sensor.py @@ -102,7 +102,7 @@ async def async_setup_entry( async_add_entities(entities) -class AwairSensor(CoordinatorEntity, SensorEntity): +class AwairSensor(CoordinatorEntity[AwairDataUpdateCoordinator], SensorEntity): """Defines an Awair sensor entity.""" entity_description: AwairSensorEntityDescription diff --git a/homeassistant/components/azure_devops/__init__.py b/homeassistant/components/azure_devops/__init__.py index 1b1c65ae6d1..c6de8515979 100644 --- a/homeassistant/components/azure_devops/__init__.py +++ b/homeassistant/components/azure_devops/__init__.py @@ -94,10 +94,9 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: return unload_ok -class AzureDevOpsEntity(CoordinatorEntity): +class AzureDevOpsEntity(CoordinatorEntity[DataUpdateCoordinator[list[DevOpsBuild]]]): """Defines a base Azure DevOps entity.""" - coordinator: DataUpdateCoordinator[list[DevOpsBuild]] entity_description: AzureDevOpsEntityDescription def __init__( diff --git a/homeassistant/components/braviatv/media_player.py b/homeassistant/components/braviatv/media_player.py index 69df0b245b8..99a2e5a1cb1 100644 --- a/homeassistant/components/braviatv/media_player.py +++ b/homeassistant/components/braviatv/media_player.py @@ -67,10 +67,9 @@ async def async_setup_entry( ) -class BraviaTVMediaPlayer(CoordinatorEntity, MediaPlayerEntity): +class BraviaTVMediaPlayer(CoordinatorEntity[BraviaTVCoordinator], MediaPlayerEntity): """Representation of a Bravia TV Media Player.""" - coordinator: BraviaTVCoordinator _attr_device_class = MediaPlayerDeviceClass.TV _attr_supported_features = SUPPORT_BRAVIA diff --git a/homeassistant/components/braviatv/remote.py b/homeassistant/components/braviatv/remote.py index 7e01f26d0a5..016f8363b09 100644 --- a/homeassistant/components/braviatv/remote.py +++ b/homeassistant/components/braviatv/remote.py @@ -37,11 +37,9 @@ async def async_setup_entry( ) -class BraviaTVRemote(CoordinatorEntity, RemoteEntity): +class BraviaTVRemote(CoordinatorEntity[BraviaTVCoordinator], RemoteEntity): """Representation of a Bravia TV Remote.""" - coordinator: BraviaTVCoordinator - def __init__( self, coordinator: BraviaTVCoordinator, diff --git a/homeassistant/components/canary/alarm_control_panel.py b/homeassistant/components/canary/alarm_control_panel.py index 4d29d4893e7..165bae0b497 100644 --- a/homeassistant/components/canary/alarm_control_panel.py +++ b/homeassistant/components/canary/alarm_control_panel.py @@ -48,10 +48,11 @@ async def async_setup_entry( async_add_entities(alarms, True) -class CanaryAlarm(CoordinatorEntity, AlarmControlPanelEntity): +class CanaryAlarm( + CoordinatorEntity[CanaryDataUpdateCoordinator], AlarmControlPanelEntity +): """Representation of a Canary alarm control panel.""" - coordinator: CanaryDataUpdateCoordinator _attr_supported_features = ( SUPPORT_ALARM_ARM_HOME | SUPPORT_ALARM_ARM_AWAY | SUPPORT_ALARM_ARM_NIGHT ) diff --git a/homeassistant/components/canary/camera.py b/homeassistant/components/canary/camera.py index a4c5a5ac837..46826d80291 100644 --- a/homeassistant/components/canary/camera.py +++ b/homeassistant/components/canary/camera.py @@ -78,11 +78,9 @@ async def async_setup_entry( async_add_entities(cameras, True) -class CanaryCamera(CoordinatorEntity, Camera): +class CanaryCamera(CoordinatorEntity[CanaryDataUpdateCoordinator], Camera): """An implementation of a Canary security camera.""" - coordinator: CanaryDataUpdateCoordinator - def __init__( self, hass: HomeAssistant, diff --git a/homeassistant/components/canary/sensor.py b/homeassistant/components/canary/sensor.py index cf2b0970311..3de088016a9 100644 --- a/homeassistant/components/canary/sensor.py +++ b/homeassistant/components/canary/sensor.py @@ -76,11 +76,9 @@ async def async_setup_entry( async_add_entities(sensors, True) -class CanarySensor(CoordinatorEntity, SensorEntity): +class CanarySensor(CoordinatorEntity[CanaryDataUpdateCoordinator], SensorEntity): """Representation of a Canary sensor.""" - coordinator: CanaryDataUpdateCoordinator - def __init__( self, coordinator: CanaryDataUpdateCoordinator, diff --git a/homeassistant/components/climacell/__init__.py b/homeassistant/components/climacell/__init__.py index e408476aad3..cf80b83fc36 100644 --- a/homeassistant/components/climacell/__init__.py +++ b/homeassistant/components/climacell/__init__.py @@ -273,7 +273,7 @@ class ClimaCellDataUpdateCoordinator(DataUpdateCoordinator): return data -class ClimaCellEntity(CoordinatorEntity): +class ClimaCellEntity(CoordinatorEntity[ClimaCellDataUpdateCoordinator]): """Base ClimaCell Entity.""" def __init__(