1
0
mirror of https://github.com/home-assistant/core.git synced 2026-04-02 16:36:08 +01:00

More platforms

This commit is contained in:
epenet
2026-04-01 11:06:54 +00:00
parent aa4cadf9cd
commit e7837c2ef0

View File

@@ -2,6 +2,7 @@
from __future__ import annotations
from tuya_device_handlers import TUYA_QUIRKS_REGISTRY
from tuya_device_handlers.definition.alarm_control_panel import (
TuyaAlarmControlPanelDefinition,
get_default_definition,
@@ -51,6 +52,25 @@ _TUYA_TO_HA_STATE_MAPPINGS = {
}
def _get_quirk_entities(
manager: Manager, device: CustomerDevice
) -> list[TuyaAlarmEntity] | None:
if (quirk := TUYA_QUIRKS_REGISTRY.get_quirk_for_device(device)) is None or (
entity_quirks := quirk.alarm_control_panel_quirks
) is None:
return None
return [
TuyaAlarmEntity(
device,
manager,
AlarmControlPanelEntityDescription(key=entity_quirk.key),
definition,
)
for entity_quirk in entity_quirks
if (definition := entity_quirk.definition_fn(device))
]
async def async_setup_entry(
hass: HomeAssistant,
entry: TuyaConfigEntry,
@@ -65,6 +85,9 @@ async def async_setup_entry(
entities: list[TuyaAlarmEntity] = []
for device_id in device_ids:
device = manager.device_map[device_id]
if (quirk_entities := _get_quirk_entities(manager, device)) is not None:
entities.extend(quirk_entities)
continue
if (description := ALARM.get(device.category)) and (
definition := get_default_definition(device)
):