From b5c5db9ca0e8df9f666a2142ab6ff4a247f12c59 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 11 Mar 2024 11:54:00 +0100 Subject: [PATCH] Remove entity description mixin in Vallox (#112963) --- homeassistant/components/vallox/binary_sensor.py | 13 +++---------- homeassistant/components/vallox/number.py | 11 +++-------- homeassistant/components/vallox/switch.py | 11 +++-------- 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/homeassistant/components/vallox/binary_sensor.py b/homeassistant/components/vallox/binary_sensor.py index 9ba81dcd4d1..fbcfa403738 100644 --- a/homeassistant/components/vallox/binary_sensor.py +++ b/homeassistant/components/vallox/binary_sensor.py @@ -42,20 +42,13 @@ class ValloxBinarySensorEntity(ValloxEntity, BinarySensorEntity): return self.coordinator.data.get(self.entity_description.metric_key) == 1 -@dataclass(frozen=True) -class ValloxMetricKeyMixin: - """Dataclass to allow defining metric_key without a default value.""" +@dataclass(frozen=True, kw_only=True) +class ValloxBinarySensorEntityDescription(BinarySensorEntityDescription): + """Describes Vallox binary sensor entity.""" metric_key: str -@dataclass(frozen=True) -class ValloxBinarySensorEntityDescription( - BinarySensorEntityDescription, ValloxMetricKeyMixin -): - """Describes Vallox binary sensor entity.""" - - BINARY_SENSOR_ENTITIES: tuple[ValloxBinarySensorEntityDescription, ...] = ( ValloxBinarySensorEntityDescription( key="post_heater", diff --git a/homeassistant/components/vallox/number.py b/homeassistant/components/vallox/number.py index c89cdbf17b9..83316a13645 100644 --- a/homeassistant/components/vallox/number.py +++ b/homeassistant/components/vallox/number.py @@ -59,18 +59,13 @@ class ValloxNumberEntity(ValloxEntity, NumberEntity): await self.coordinator.async_request_refresh() -@dataclass(frozen=True) -class ValloxMetricMixin: - """Holds Vallox metric key.""" +@dataclass(frozen=True, kw_only=True) +class ValloxNumberEntityDescription(NumberEntityDescription): + """Describes Vallox number entity.""" metric_key: str -@dataclass(frozen=True) -class ValloxNumberEntityDescription(NumberEntityDescription, ValloxMetricMixin): - """Describes Vallox number entity.""" - - NUMBER_ENTITIES: tuple[ValloxNumberEntityDescription, ...] = ( ValloxNumberEntityDescription( key="supply_air_target_home", diff --git a/homeassistant/components/vallox/switch.py b/homeassistant/components/vallox/switch.py index 8adb8274a64..90e2311bf95 100644 --- a/homeassistant/components/vallox/switch.py +++ b/homeassistant/components/vallox/switch.py @@ -62,18 +62,13 @@ class ValloxSwitchEntity(ValloxEntity, SwitchEntity): await self.coordinator.async_request_refresh() -@dataclass(frozen=True) -class ValloxMetricKeyMixin: - """Dataclass to allow defining metric_key without a default value.""" +@dataclass(frozen=True, kw_only=True) +class ValloxSwitchEntityDescription(SwitchEntityDescription): + """Describes Vallox switch entity.""" metric_key: str -@dataclass(frozen=True) -class ValloxSwitchEntityDescription(SwitchEntityDescription, ValloxMetricKeyMixin): - """Describes Vallox switch entity.""" - - SWITCH_ENTITIES: tuple[ValloxSwitchEntityDescription, ...] = ( ValloxSwitchEntityDescription( key="bypass_locked",