mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Remove entity description mixin in Starlink (#112943)
This commit is contained in:
parent
e696afabe7
commit
e4b43680e1
@ -32,20 +32,13 @@ async def async_setup_entry(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class StarlinkBinarySensorEntityDescriptionMixin:
|
class StarlinkBinarySensorEntityDescription(BinarySensorEntityDescription):
|
||||||
"""Mixin for required keys."""
|
"""Describes a Starlink binary sensor entity."""
|
||||||
|
|
||||||
value_fn: Callable[[StarlinkData], bool | None]
|
value_fn: Callable[[StarlinkData], bool | None]
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class StarlinkBinarySensorEntityDescription(
|
|
||||||
BinarySensorEntityDescription, StarlinkBinarySensorEntityDescriptionMixin
|
|
||||||
):
|
|
||||||
"""Describes a Starlink binary sensor entity."""
|
|
||||||
|
|
||||||
|
|
||||||
class StarlinkBinarySensorEntity(StarlinkEntity, BinarySensorEntity):
|
class StarlinkBinarySensorEntity(StarlinkEntity, BinarySensorEntity):
|
||||||
"""A BinarySensorEntity for Starlink devices. Handles creating unique IDs."""
|
"""A BinarySensorEntity for Starlink devices. Handles creating unique IDs."""
|
||||||
|
|
||||||
|
@ -31,20 +31,13 @@ async def async_setup_entry(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class StarlinkButtonEntityDescriptionMixin:
|
class StarlinkButtonEntityDescription(ButtonEntityDescription):
|
||||||
"""Mixin for required keys."""
|
"""Describes a Starlink button entity."""
|
||||||
|
|
||||||
press_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
press_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class StarlinkButtonEntityDescription(
|
|
||||||
ButtonEntityDescription, StarlinkButtonEntityDescriptionMixin
|
|
||||||
):
|
|
||||||
"""Describes a Starlink button entity."""
|
|
||||||
|
|
||||||
|
|
||||||
class StarlinkButtonEntity(StarlinkEntity, ButtonEntity):
|
class StarlinkButtonEntity(StarlinkEntity, ButtonEntity):
|
||||||
"""A ButtonEntity for Starlink devices. Handles creating unique IDs."""
|
"""A ButtonEntity for Starlink devices. Handles creating unique IDs."""
|
||||||
|
|
||||||
|
@ -26,21 +26,14 @@ async def async_setup_entry(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class StarlinkDeviceTrackerEntityDescriptionMixin:
|
class StarlinkDeviceTrackerEntityDescription(EntityDescription):
|
||||||
"""Describes a Starlink device tracker."""
|
"""Describes a Starlink button entity."""
|
||||||
|
|
||||||
latitude_fn: Callable[[StarlinkData], float]
|
latitude_fn: Callable[[StarlinkData], float]
|
||||||
longitude_fn: Callable[[StarlinkData], float]
|
longitude_fn: Callable[[StarlinkData], float]
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class StarlinkDeviceTrackerEntityDescription(
|
|
||||||
EntityDescription, StarlinkDeviceTrackerEntityDescriptionMixin
|
|
||||||
):
|
|
||||||
"""Describes a Starlink button entity."""
|
|
||||||
|
|
||||||
|
|
||||||
DEVICE_TRACKERS = [
|
DEVICE_TRACKERS = [
|
||||||
StarlinkDeviceTrackerEntityDescription(
|
StarlinkDeviceTrackerEntityDescription(
|
||||||
key="device_location",
|
key="device_location",
|
||||||
|
@ -41,20 +41,13 @@ async def async_setup_entry(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class StarlinkSensorEntityDescriptionMixin:
|
class StarlinkSensorEntityDescription(SensorEntityDescription):
|
||||||
"""Mixin for required keys."""
|
"""Describes a Starlink sensor entity."""
|
||||||
|
|
||||||
value_fn: Callable[[StarlinkData], datetime | StateType]
|
value_fn: Callable[[StarlinkData], datetime | StateType]
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class StarlinkSensorEntityDescription(
|
|
||||||
SensorEntityDescription, StarlinkSensorEntityDescriptionMixin
|
|
||||||
):
|
|
||||||
"""Describes a Starlink sensor entity."""
|
|
||||||
|
|
||||||
|
|
||||||
class StarlinkSensorEntity(StarlinkEntity, SensorEntity):
|
class StarlinkSensorEntity(StarlinkEntity, SensorEntity):
|
||||||
"""A SensorEntity for Starlink devices. Handles creating unique IDs."""
|
"""A SensorEntity for Starlink devices. Handles creating unique IDs."""
|
||||||
|
|
||||||
|
@ -31,22 +31,15 @@ async def async_setup_entry(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True, kw_only=True)
|
||||||
class StarlinkSwitchEntityDescriptionMixin:
|
class StarlinkSwitchEntityDescription(SwitchEntityDescription):
|
||||||
"""Mixin for required keys."""
|
"""Describes a Starlink switch entity."""
|
||||||
|
|
||||||
value_fn: Callable[[StarlinkData], bool | None]
|
value_fn: Callable[[StarlinkData], bool | None]
|
||||||
turn_on_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
turn_on_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
||||||
turn_off_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
turn_off_fn: Callable[[StarlinkUpdateCoordinator], Awaitable[None]]
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class StarlinkSwitchEntityDescription(
|
|
||||||
SwitchEntityDescription, StarlinkSwitchEntityDescriptionMixin
|
|
||||||
):
|
|
||||||
"""Describes a Starlink switch entity."""
|
|
||||||
|
|
||||||
|
|
||||||
class StarlinkSwitchEntity(StarlinkEntity, SwitchEntity):
|
class StarlinkSwitchEntity(StarlinkEntity, SwitchEntity):
|
||||||
"""A SwitchEntity for Starlink devices. Handles creating unique IDs."""
|
"""A SwitchEntity for Starlink devices. Handles creating unique IDs."""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user