Remove entity description mixin in Electric Kiwi (#112411)

This commit is contained in:
Joost Lekkerkerker 2024-03-05 20:47:01 +01:00 committed by GitHub
parent 85edafa887
commit ff21a2fcca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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(