From a8bde2df3c7a94ed8f1af46c9784b6d7a5cb0124 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 11 Mar 2024 11:49:44 +0100 Subject: [PATCH] Remove entity description mixin in Z-Wave.js (#112979) --- homeassistant/components/zwave_js/binary_sensor.py | 13 +++---------- homeassistant/components/zwave_js/humidifier.py | 13 +++---------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/homeassistant/components/zwave_js/binary_sensor.py b/homeassistant/components/zwave_js/binary_sensor.py index dd3ded326b4..8137623379a 100644 --- a/homeassistant/components/zwave_js/binary_sensor.py +++ b/homeassistant/components/zwave_js/binary_sensor.py @@ -59,20 +59,13 @@ class NotificationZWaveJSEntityDescription(BinarySensorEntityDescription): states: tuple[str, ...] | None = None -@dataclass(frozen=True) -class PropertyZWaveJSMixin: - """Represent the mixin for property sensor descriptions.""" +@dataclass(frozen=True, kw_only=True) +class PropertyZWaveJSEntityDescription(BinarySensorEntityDescription): + """Represent the entity description for property name sensors.""" on_states: tuple[str, ...] -@dataclass(frozen=True) -class PropertyZWaveJSEntityDescription( - BinarySensorEntityDescription, PropertyZWaveJSMixin -): - """Represent the entity description for property name sensors.""" - - # Mappings for Notification sensors # https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/notifications.json NOTIFICATION_SENSOR_MAPPINGS: tuple[NotificationZWaveJSEntityDescription, ...] = ( diff --git a/homeassistant/components/zwave_js/humidifier.py b/homeassistant/components/zwave_js/humidifier.py index be9e9a791fc..4030115ab1f 100644 --- a/homeassistant/components/zwave_js/humidifier.py +++ b/homeassistant/components/zwave_js/humidifier.py @@ -35,9 +35,9 @@ from .entity import ZWaveBaseEntity PARALLEL_UPDATES = 0 -@dataclass(frozen=True) -class ZwaveHumidifierEntityDescriptionRequiredKeys: - """A class for humidifier entity description required keys.""" +@dataclass(frozen=True, kw_only=True) +class ZwaveHumidifierEntityDescription(HumidifierEntityDescription): + """A class that describes the humidifier or dehumidifier entity.""" # The "on" control mode for this entity, e.g. HUMIDIFY for humidifier on_mode: HumidityControlMode @@ -49,13 +49,6 @@ class ZwaveHumidifierEntityDescriptionRequiredKeys: setpoint_type: HumidityControlSetpointType -@dataclass(frozen=True) -class ZwaveHumidifierEntityDescription( - HumidifierEntityDescription, ZwaveHumidifierEntityDescriptionRequiredKeys -): - """A class that describes the humidifier or dehumidifier entity.""" - - HUMIDIFIER_ENTITY_DESCRIPTION = ZwaveHumidifierEntityDescription( key="humidifier", device_class=HumidifierDeviceClass.HUMIDIFIER,