diff --git a/homeassistant/components/tuya/alarm_control_panel.py b/homeassistant/components/tuya/alarm_control_panel.py index 235806b178e..8891f6275ed 100644 --- a/homeassistant/components/tuya/alarm_control_panel.py +++ b/homeassistant/components/tuya/alarm_control_panel.py @@ -4,6 +4,7 @@ from __future__ import annotations from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_device_handlers.definition.alarm_control_panel import ( + AlarmControlPanelQuirk, TuyaAlarmControlPanelDefinition, get_default_definition, ) @@ -52,6 +53,12 @@ _TUYA_TO_HA_STATE_MAPPINGS = { } +def _get_quirk_entity_description( + entity_quirk: AlarmControlPanelQuirk, +) -> AlarmControlPanelEntityDescription: + return AlarmControlPanelEntityDescription(key=entity_quirk.key) + + def _get_quirk_entities( manager: Manager, device: CustomerDevice ) -> list[TuyaAlarmEntity] | None: @@ -63,7 +70,7 @@ def _get_quirk_entities( TuyaAlarmEntity( device, manager, - AlarmControlPanelEntityDescription(key=entity_quirk.key), + _get_quirk_entity_description(entity_quirk), definition, ) for entity_quirk in entity_quirks diff --git a/homeassistant/components/tuya/camera.py b/homeassistant/components/tuya/camera.py index f7a342c0432..ca9bf3f3248 100644 --- a/homeassistant/components/tuya/camera.py +++ b/homeassistant/components/tuya/camera.py @@ -4,6 +4,7 @@ from __future__ import annotations from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_device_handlers.definition.camera import ( + CameraQuirk, TuyaCameraDefinition, get_default_definition, ) @@ -29,6 +30,12 @@ CAMERAS: dict[DeviceCategory, CameraEntityDescription] = { } +def _get_quirk_entity_description( + entity_quirk: CameraQuirk, +) -> CameraEntityDescription: + return CameraEntityDescription(key=entity_quirk.key) + + def _get_quirk_entities( manager: Manager, device: CustomerDevice ) -> list[TuyaCameraEntity] | None: @@ -40,7 +47,7 @@ def _get_quirk_entities( TuyaCameraEntity( device, manager, - CameraEntityDescription(key=entity_quirk.key), + _get_quirk_entity_description(entity_quirk), definition, ) for entity_quirk in entity_quirks diff --git a/homeassistant/components/tuya/fan.py b/homeassistant/components/tuya/fan.py index 5823622f70d..a34dd7cfedd 100644 --- a/homeassistant/components/tuya/fan.py +++ b/homeassistant/components/tuya/fan.py @@ -6,6 +6,7 @@ from typing import Any from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_device_handlers.definition.fan import ( + FanQuirk, TuyaFanDefinition, get_default_definition, ) @@ -45,6 +46,12 @@ _HA_TO_TUYA_DIRECTION_MAPPINGS = { } +def _get_quirk_entity_description( + entity_quirk: FanQuirk, +) -> FanEntityDescription: + return FanEntityDescription(key=entity_quirk.key) + + def _get_quirk_entities( manager: Manager, device: CustomerDevice ) -> list[TuyaFanEntity] | None: @@ -56,7 +63,7 @@ def _get_quirk_entities( TuyaFanEntity( device, manager, - FanEntityDescription(key=entity_quirk.key), + _get_quirk_entity_description(entity_quirk), definition, ) for entity_quirk in entity_quirks diff --git a/homeassistant/components/tuya/vacuum.py b/homeassistant/components/tuya/vacuum.py index e4df30a3e6f..67d26f470bf 100644 --- a/homeassistant/components/tuya/vacuum.py +++ b/homeassistant/components/tuya/vacuum.py @@ -7,6 +7,7 @@ from typing import Any from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_device_handlers.definition.vacuum import ( TuyaVacuumDefinition, + VacuumQuirk, get_default_definition, ) from tuya_device_handlers.helpers.homeassistant import ( @@ -43,6 +44,12 @@ VACUUMS: dict[DeviceCategory, StateVacuumEntityDescription] = { } +def _get_quirk_entity_description( + entity_quirk: VacuumQuirk, +) -> StateVacuumEntityDescription: + return StateVacuumEntityDescription(key=entity_quirk.key) + + def _get_quirk_entities( manager: Manager, device: CustomerDevice ) -> list[TuyaVacuumEntity] | None: @@ -54,7 +61,7 @@ def _get_quirk_entities( TuyaVacuumEntity( device, manager, - StateVacuumEntityDescription(key=entity_quirk.key), + _get_quirk_entity_description(entity_quirk), definition, ) for entity_quirk in entity_quirks