diff --git a/homeassistant/components/synology_dsm/binary_sensor.py b/homeassistant/components/synology_dsm/binary_sensor.py index 3c60b99c39f..7579f350774 100644 --- a/homeassistant/components/synology_dsm/binary_sensor.py +++ b/homeassistant/components/synology_dsm/binary_sensor.py @@ -28,7 +28,7 @@ from .entity import ( from .models import SynologyDSMData -@dataclass(frozen=True) +@dataclass(frozen=True, kw_only=True) class SynologyDSMBinarySensorEntityDescription( BinarySensorEntityDescription, SynologyDSMEntityDescription ): diff --git a/homeassistant/components/synology_dsm/button.py b/homeassistant/components/synology_dsm/button.py index e74aa034aa1..529682b4c6e 100644 --- a/homeassistant/components/synology_dsm/button.py +++ b/homeassistant/components/synology_dsm/button.py @@ -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", diff --git a/homeassistant/components/synology_dsm/camera.py b/homeassistant/components/synology_dsm/camera.py index 6289c816740..19f95c710d0 100644 --- a/homeassistant/components/synology_dsm/camera.py +++ b/homeassistant/components/synology_dsm/camera.py @@ -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 ): diff --git a/homeassistant/components/synology_dsm/entity.py b/homeassistant/components/synology_dsm/entity.py index 0c91d7914f3..4bd1e526194 100644 --- a/homeassistant/components/synology_dsm/entity.py +++ b/homeassistant/components/synology_dsm/entity.py @@ -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.""" diff --git a/homeassistant/components/synology_dsm/sensor.py b/homeassistant/components/synology_dsm/sensor.py index 7e2f2582afb..47483ee4a63 100644 --- a/homeassistant/components/synology_dsm/sensor.py +++ b/homeassistant/components/synology_dsm/sensor.py @@ -40,7 +40,7 @@ from .entity import ( from .models import SynologyDSMData -@dataclass(frozen=True) +@dataclass(frozen=True, kw_only=True) class SynologyDSMSensorEntityDescription( SensorEntityDescription, SynologyDSMEntityDescription ): diff --git a/homeassistant/components/synology_dsm/switch.py b/homeassistant/components/synology_dsm/switch.py index d5845e3affe..6e1e38675a0 100644 --- a/homeassistant/components/synology_dsm/switch.py +++ b/homeassistant/components/synology_dsm/switch.py @@ -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 ): diff --git a/homeassistant/components/synology_dsm/update.py b/homeassistant/components/synology_dsm/update.py index 6505b116b73..7b1a36c57b3 100644 --- a/homeassistant/components/synology_dsm/update.py +++ b/homeassistant/components/synology_dsm/update.py @@ -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 ):