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:
@@ -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)
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user