mirror of
https://github.com/home-assistant/core.git
synced 2025-07-29 08:07:45 +00:00
Remove entity description mixin in Renault (#112925)
* Remove entity description mixin in Renault * Update homeassistant/components/renault/sensor.py Co-authored-by: epenet <6771947+epenet@users.noreply.github.com> * Update homeassistant/components/renault/button.py Co-authored-by: epenet <6771947+epenet@users.noreply.github.com> --------- Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
This commit is contained in:
parent
ae003c21c8
commit
85bc72f9f1
@ -16,19 +16,11 @@ from .entity import RenaultEntity
|
||||
from .renault_hub import RenaultHub
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RenaultButtonRequiredKeysMixin:
|
||||
"""Mixin for required keys."""
|
||||
|
||||
async_press: Callable[[RenaultButtonEntity], Coroutine[Any, Any, Any]]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RenaultButtonEntityDescription(
|
||||
ButtonEntityDescription, RenaultButtonRequiredKeysMixin
|
||||
):
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class RenaultButtonEntityDescription(ButtonEntityDescription):
|
||||
"""Class describing Renault button entities."""
|
||||
|
||||
async_press: Callable[[RenaultButtonEntity], Coroutine[Any, Any, Any]]
|
||||
requires_electricity: bool = False
|
||||
|
||||
|
||||
|
@ -18,21 +18,14 @@ from .entity import RenaultDataEntity, RenaultDataEntityDescription
|
||||
from .renault_hub import RenaultHub
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RenaultSelectRequiredKeysMixin:
|
||||
"""Mixin for required keys."""
|
||||
|
||||
data_key: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class RenaultSelectEntityDescription(
|
||||
SelectEntityDescription,
|
||||
RenaultDataEntityDescription,
|
||||
RenaultSelectRequiredKeysMixin,
|
||||
SelectEntityDescription, RenaultDataEntityDescription
|
||||
):
|
||||
"""Class describing Renault select entities."""
|
||||
|
||||
data_key: str
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant,
|
||||
|
@ -43,22 +43,14 @@ from .renault_hub import RenaultHub
|
||||
from .renault_vehicle import RenaultVehicleProxy
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RenaultSensorRequiredKeysMixin(Generic[T]):
|
||||
"""Mixin for required keys."""
|
||||
|
||||
data_key: str
|
||||
entity_class: type[RenaultSensor[T]]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class RenaultSensorEntityDescription(
|
||||
SensorEntityDescription,
|
||||
RenaultDataEntityDescription,
|
||||
RenaultSensorRequiredKeysMixin[T],
|
||||
SensorEntityDescription, RenaultDataEntityDescription, Generic[T]
|
||||
):
|
||||
"""Class describing Renault sensor entities."""
|
||||
|
||||
data_key: str
|
||||
entity_class: type[RenaultSensor[T]]
|
||||
condition_lambda: Callable[[RenaultVehicleProxy], bool] | None = None
|
||||
requires_fuel: bool = False
|
||||
value_lambda: Callable[[RenaultSensor[T]], StateType | datetime] | None = None
|
||||
|
Loading…
x
Reference in New Issue
Block a user