mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 01:08:12 +00:00
Remove Deconz entity descriptions required fields mixins (#104009)
This commit is contained in:
parent
b400b33b0d
commit
2c003d8c10
@ -65,24 +65,15 @@ T = TypeVar(
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzBinarySensorDescriptionMixin(Generic[T]):
|
||||
"""Required values when describing secondary sensor attributes."""
|
||||
|
||||
update_key: str
|
||||
value_fn: Callable[[T], bool | None]
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzBinarySensorDescription(
|
||||
BinarySensorEntityDescription,
|
||||
DeconzBinarySensorDescriptionMixin[T],
|
||||
):
|
||||
@dataclass(kw_only=True)
|
||||
class DeconzBinarySensorDescription(Generic[T], BinarySensorEntityDescription):
|
||||
"""Class describing deCONZ binary sensor entities."""
|
||||
|
||||
instance_check: type[T] | None = None
|
||||
name_suffix: str = ""
|
||||
old_unique_id_suffix: str = ""
|
||||
update_key: str
|
||||
value_fn: Callable[[T], bool | None]
|
||||
|
||||
|
||||
ENTITY_DESCRIPTIONS: tuple[DeconzBinarySensorDescription, ...] = (
|
||||
|
@ -23,18 +23,13 @@ from .deconz_device import DeconzDevice, DeconzSceneMixin
|
||||
from .gateway import DeconzGateway, get_gateway_from_config_entry
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzButtonDescriptionMixin:
|
||||
"""Required values when describing deCONZ button entities."""
|
||||
|
||||
suffix: str
|
||||
button_fn: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzButtonDescription(ButtonEntityDescription, DeconzButtonDescriptionMixin):
|
||||
@dataclass(kw_only=True)
|
||||
class DeconzButtonDescription(ButtonEntityDescription):
|
||||
"""Class describing deCONZ button entities."""
|
||||
|
||||
button_fn: str
|
||||
suffix: str
|
||||
|
||||
|
||||
ENTITY_DESCRIPTIONS = {
|
||||
PydeconzScene: [
|
||||
|
@ -31,9 +31,9 @@ from .util import serial_from_unique_id
|
||||
T = TypeVar("T", Presence, PydeconzSensorBase)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzNumberDescriptionMixin(Generic[T]):
|
||||
"""Required values when describing deCONZ number entities."""
|
||||
@dataclass(kw_only=True)
|
||||
class DeconzNumberDescription(Generic[T], NumberEntityDescription):
|
||||
"""Class describing deCONZ number entities."""
|
||||
|
||||
instance_check: type[T]
|
||||
name_suffix: str
|
||||
@ -42,11 +42,6 @@ class DeconzNumberDescriptionMixin(Generic[T]):
|
||||
value_fn: Callable[[T], float | None]
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzNumberDescription(NumberEntityDescription, DeconzNumberDescriptionMixin[T]):
|
||||
"""Class describing deCONZ number entities."""
|
||||
|
||||
|
||||
ENTITY_DESCRIPTIONS: tuple[DeconzNumberDescription, ...] = (
|
||||
DeconzNumberDescription[Presence](
|
||||
key="delay",
|
||||
|
@ -91,22 +91,16 @@ T = TypeVar(
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzSensorDescriptionMixin(Generic[T]):
|
||||
"""Required values when describing secondary sensor attributes."""
|
||||
|
||||
supported_fn: Callable[[T], bool]
|
||||
update_key: str
|
||||
value_fn: Callable[[T], datetime | StateType]
|
||||
|
||||
|
||||
@dataclass
|
||||
class DeconzSensorDescription(SensorEntityDescription, DeconzSensorDescriptionMixin[T]):
|
||||
@dataclass(kw_only=True)
|
||||
class DeconzSensorDescription(Generic[T], SensorEntityDescription):
|
||||
"""Class describing deCONZ binary sensor entities."""
|
||||
|
||||
instance_check: type[T] | None = None
|
||||
name_suffix: str = ""
|
||||
old_unique_id_suffix: str = ""
|
||||
supported_fn: Callable[[T], bool]
|
||||
update_key: str
|
||||
value_fn: Callable[[T], datetime | StateType]
|
||||
|
||||
|
||||
ENTITY_DESCRIPTIONS: tuple[DeconzSensorDescription, ...] = (
|
||||
|
Loading…
x
Reference in New Issue
Block a user