mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Remove entity description mixin in Synology DSM (#112946)
This commit is contained in:
parent
a7f71eaa35
commit
2a5be33f34
@ -28,7 +28,7 @@ from .entity import (
|
||||
from .models import SynologyDSMData
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMBinarySensorEntityDescription(
|
||||
BinarySensorEntityDescription, SynologyDSMEntityDescription
|
||||
):
|
||||
|
@ -25,20 +25,13 @@ from .models import SynologyDSMData
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SynologyDSMbuttonDescriptionMixin:
|
||||
"""Mixin to describe a Synology DSM button entity."""
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMbuttonDescription(ButtonEntityDescription):
|
||||
"""Class to describe a Synology DSM button entity."""
|
||||
|
||||
press_action: Callable[[SynoApi], Callable[[], Coroutine[Any, Any, None]]]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SynologyDSMbuttonDescription(
|
||||
ButtonEntityDescription, SynologyDSMbuttonDescriptionMixin
|
||||
):
|
||||
"""Class to describe a Synology DSM button entity."""
|
||||
|
||||
|
||||
BUTTONS: Final = [
|
||||
SynologyDSMbuttonDescription(
|
||||
key="reboot",
|
||||
|
@ -36,7 +36,7 @@ from .models import SynologyDSMData
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMCameraEntityDescription(
|
||||
CameraEntityDescription, SynologyDSMEntityDescription
|
||||
):
|
||||
|
@ -19,18 +19,13 @@ from .coordinator import (
|
||||
_CoordinatorT = TypeVar("_CoordinatorT", bound=SynologyDSMUpdateCoordinator[Any])
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SynologyDSMRequiredKeysMixin:
|
||||
"""Mixin for required keys."""
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMEntityDescription(EntityDescription):
|
||||
"""Generic Synology DSM entity description."""
|
||||
|
||||
api_key: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SynologyDSMEntityDescription(EntityDescription, SynologyDSMRequiredKeysMixin):
|
||||
"""Generic Synology DSM entity description."""
|
||||
|
||||
|
||||
class SynologyDSMBaseEntity(CoordinatorEntity[_CoordinatorT]):
|
||||
"""Representation of a Synology NAS entry."""
|
||||
|
||||
|
@ -40,7 +40,7 @@ from .entity import (
|
||||
from .models import SynologyDSMData
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMSensorEntityDescription(
|
||||
SensorEntityDescription, SynologyDSMEntityDescription
|
||||
):
|
||||
|
@ -23,7 +23,7 @@ from .models import SynologyDSMData
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMSwitchEntityDescription(
|
||||
SwitchEntityDescription, SynologyDSMEntityDescription
|
||||
):
|
||||
|
@ -20,7 +20,7 @@ from .entity import SynologyDSMBaseEntity, SynologyDSMEntityDescription
|
||||
from .models import SynologyDSMData
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class SynologyDSMUpdateEntityEntityDescription(
|
||||
UpdateEntityDescription, SynologyDSMEntityDescription
|
||||
):
|
||||
|
Loading…
x
Reference in New Issue
Block a user