From 59af3a396c373a1f41a79b108051530374c71bcb Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Fri, 25 Apr 2025 14:12:59 +0200 Subject: [PATCH] Remove unnecessary mixins from AVM Fritz!SmartHome (#143658) remove unnecessary mixin --- homeassistant/components/fritzbox/binary_sensor.py | 13 ++++--------- homeassistant/components/fritzbox/sensor.py | 12 +++--------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/fritzbox/binary_sensor.py b/homeassistant/components/fritzbox/binary_sensor.py index 75683017cb7..b8e78a9ee5c 100644 --- a/homeassistant/components/fritzbox/binary_sensor.py +++ b/homeassistant/components/fritzbox/binary_sensor.py @@ -22,19 +22,14 @@ from .entity import FritzBoxDeviceEntity from .model import FritzEntityDescriptionMixinBase -@dataclass(frozen=True) -class FritzEntityDescriptionMixinBinarySensor(FritzEntityDescriptionMixinBase): - """BinarySensor description mixin for Fritz!Smarthome entities.""" - - is_on: Callable[[FritzhomeDevice], bool | None] - - -@dataclass(frozen=True) +@dataclass(frozen=True, kw_only=True) class FritzBinarySensorEntityDescription( - BinarySensorEntityDescription, FritzEntityDescriptionMixinBinarySensor + BinarySensorEntityDescription, FritzEntityDescriptionMixinBase ): """Description for Fritz!Smarthome binary sensor entities.""" + is_on: Callable[[FritzhomeDevice], bool | None] + BINARY_SENSOR_TYPES: Final[tuple[FritzBinarySensorEntityDescription, ...]] = ( FritzBinarySensorEntityDescription( diff --git a/homeassistant/components/fritzbox/sensor.py b/homeassistant/components/fritzbox/sensor.py index 801a3a67a6e..8e3ab5d6892 100644 --- a/homeassistant/components/fritzbox/sensor.py +++ b/homeassistant/components/fritzbox/sensor.py @@ -35,20 +35,14 @@ from .entity import FritzBoxDeviceEntity from .model import FritzEntityDescriptionMixinBase -@dataclass(frozen=True) -class FritzEntityDescriptionMixinSensor(FritzEntityDescriptionMixinBase): - """Sensor description mixin for Fritz!Smarthome entities.""" - - native_value: Callable[[FritzhomeDevice], StateType | datetime] - - -@dataclass(frozen=True) +@dataclass(frozen=True, kw_only=True) class FritzSensorEntityDescription( - SensorEntityDescription, FritzEntityDescriptionMixinSensor + SensorEntityDescription, FritzEntityDescriptionMixinBase ): """Description for Fritz!Smarthome sensor entities.""" entity_category_fn: Callable[[FritzhomeDevice], EntityCategory | None] | None = None + native_value: Callable[[FritzhomeDevice], StateType | datetime] def suitable_eco_temperature(device: FritzhomeDevice) -> bool: