From 76ccad40ff1c86b3ce4aa0ceb1d9b8ce7f941179 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 15 Nov 2023 03:48:31 +0100 Subject: [PATCH] Remove Rituals Parfume Genie entity descriptions required fields mixins (#103999) --- .../rituals_perfume_genie/binary_sensor.py | 13 +++---------- .../components/rituals_perfume_genie/number.py | 13 +++---------- .../components/rituals_perfume_genie/select.py | 13 +++---------- .../components/rituals_perfume_genie/sensor.py | 14 +++----------- 4 files changed, 12 insertions(+), 41 deletions(-) diff --git a/homeassistant/components/rituals_perfume_genie/binary_sensor.py b/homeassistant/components/rituals_perfume_genie/binary_sensor.py index 73499fb5ccc..ab13898394c 100644 --- a/homeassistant/components/rituals_perfume_genie/binary_sensor.py +++ b/homeassistant/components/rituals_perfume_genie/binary_sensor.py @@ -21,21 +21,14 @@ from .coordinator import RitualsDataUpdateCoordinator from .entity import DiffuserEntity -@dataclass -class RitualsentityDescriptionMixin: - """Mixin values for Rituals entities.""" +@dataclass(kw_only=True) +class RitualsBinarySensorEntityDescription(BinarySensorEntityDescription): + """Class describing Rituals binary sensor entities.""" is_on_fn: Callable[[Diffuser], bool] has_fn: Callable[[Diffuser], bool] -@dataclass -class RitualsBinarySensorEntityDescription( - BinarySensorEntityDescription, RitualsentityDescriptionMixin -): - """Class describing Rituals binary sensor entities.""" - - ENTITY_DESCRIPTIONS = ( RitualsBinarySensorEntityDescription( key="charging", diff --git a/homeassistant/components/rituals_perfume_genie/number.py b/homeassistant/components/rituals_perfume_genie/number.py index 3e6af33315f..35b5a3bd008 100644 --- a/homeassistant/components/rituals_perfume_genie/number.py +++ b/homeassistant/components/rituals_perfume_genie/number.py @@ -17,21 +17,14 @@ from .coordinator import RitualsDataUpdateCoordinator from .entity import DiffuserEntity -@dataclass -class RitualsNumberEntityDescriptionMixin: - """Mixin for required keys.""" +@dataclass(kw_only=True) +class RitualsNumberEntityDescription(NumberEntityDescription): + """Class describing Rituals number entities.""" value_fn: Callable[[Diffuser], int] set_value_fn: Callable[[Diffuser, int], Awaitable[Any]] -@dataclass -class RitualsNumberEntityDescription( - NumberEntityDescription, RitualsNumberEntityDescriptionMixin -): - """Class describing Rituals number entities.""" - - ENTITY_DESCRIPTIONS = ( RitualsNumberEntityDescription( key="perfume_amount", diff --git a/homeassistant/components/rituals_perfume_genie/select.py b/homeassistant/components/rituals_perfume_genie/select.py index 42e18624d13..2126ecb147f 100644 --- a/homeassistant/components/rituals_perfume_genie/select.py +++ b/homeassistant/components/rituals_perfume_genie/select.py @@ -17,21 +17,14 @@ from .coordinator import RitualsDataUpdateCoordinator from .entity import DiffuserEntity -@dataclass -class RitualsEntityDescriptionMixin: - """Mixin for required keys.""" +@dataclass(kw_only=True) +class RitualsSelectEntityDescription(SelectEntityDescription): + """Class describing Rituals select entities.""" current_fn: Callable[[Diffuser], str] select_fn: Callable[[Diffuser, str], Awaitable[None]] -@dataclass -class RitualsSelectEntityDescription( - SelectEntityDescription, RitualsEntityDescriptionMixin -): - """Class describing Rituals select entities.""" - - ENTITY_DESCRIPTIONS = ( RitualsSelectEntityDescription( key="room_size_square_meter", diff --git a/homeassistant/components/rituals_perfume_genie/sensor.py b/homeassistant/components/rituals_perfume_genie/sensor.py index 09189dabfad..5f7ae45d330 100644 --- a/homeassistant/components/rituals_perfume_genie/sensor.py +++ b/homeassistant/components/rituals_perfume_genie/sensor.py @@ -21,20 +21,12 @@ from .coordinator import RitualsDataUpdateCoordinator from .entity import DiffuserEntity -@dataclass -class RitualsEntityDescriptionMixin: - """Mixin values for Rituals entities.""" - - value_fn: Callable[[Diffuser], int | str] - - -@dataclass -class RitualsSensorEntityDescription( - SensorEntityDescription, RitualsEntityDescriptionMixin -): +@dataclass(kw_only=True) +class RitualsSensorEntityDescription(SensorEntityDescription): """Class describing Rituals sensor entities.""" has_fn: Callable[[Diffuser], bool] = lambda _: True + value_fn: Callable[[Diffuser], int | str] ENTITY_DESCRIPTIONS = (