diff --git a/homeassistant/components/electric_kiwi/sensor.py b/homeassistant/components/electric_kiwi/sensor.py index 83431dfd925..5f0351fd39b 100644 --- a/homeassistant/components/electric_kiwi/sensor.py +++ b/homeassistant/components/electric_kiwi/sensor.py @@ -34,20 +34,13 @@ ATTR_NEXT_BILLING_DATE = "next_billing_date" ATTR_HOP_PERCENTAGE = "hop_percentage" -@dataclass(frozen=True) -class ElectricKiwiAccountRequiredKeysMixin: - """Mixin for required keys.""" +@dataclass(frozen=True, kw_only=True) +class ElectricKiwiAccountSensorEntityDescription(SensorEntityDescription): + """Describes Electric Kiwi sensor entity.""" value_func: Callable[[AccountBalance], float | datetime] -@dataclass(frozen=True) -class ElectricKiwiAccountSensorEntityDescription( - SensorEntityDescription, ElectricKiwiAccountRequiredKeysMixin -): - """Describes Electric Kiwi sensor entity.""" - - ACCOUNT_SENSOR_TYPES: tuple[ElectricKiwiAccountSensorEntityDescription, ...] = ( ElectricKiwiAccountSensorEntityDescription( key=ATTR_TOTAL_RUNNING_BALANCE, @@ -85,21 +78,13 @@ ACCOUNT_SENSOR_TYPES: tuple[ElectricKiwiAccountSensorEntityDescription, ...] = ( ) -@dataclass(frozen=True) -class ElectricKiwiHOPRequiredKeysMixin: - """Mixin for required HOP keys.""" +@dataclass(frozen=True, kw_only=True) +class ElectricKiwiHOPSensorEntityDescription(SensorEntityDescription): + """Describes Electric Kiwi HOP sensor entity.""" value_func: Callable[[Hop], datetime] -@dataclass(frozen=True) -class ElectricKiwiHOPSensorEntityDescription( - SensorEntityDescription, - ElectricKiwiHOPRequiredKeysMixin, -): - """Describes Electric Kiwi HOP sensor entity.""" - - def _check_and_move_time(hop: Hop, time: str) -> datetime: """Return the time a day forward if HOP end_time is in the past.""" date_time = datetime.combine(