SuperAPI AI 工具集

ha-device-triggers

通用与其它

查看项目

更新于 10-16 06:22

技能介绍

用途:为 Home Assistant 自定义集成实现设备触发器,使自动化能由设备专属事件(如按键按下、移动侦测、门铃按下)触发。资料强调设备触发器/条件/动作属于可选的用户体验功能,并非集成质量等级(IQS)规则,不应为提升 IQS 等级而实现,只在设备确实受益于基于设备的自动化时添加。

主要能力:在 device_trigger.py 中定义 TRIGGER_TYPES、TRIGGER_SCHEMA 与 async_get_triggers、async_attach_trigger;可选提供 async_validate_trigger_config 做动态校验,以及 async_get_trigger_capabilities 暴露额外字段(如 subtype、按住时长);通过 strings.json 的 device_automation.trigger_type 提供标签;用 hass.bus.async_fire 触发 {DOMAIN}_event 事件。

文件结构:custom_components/{domain}/ 下包含 device_trigger.py、device_condition.py、device_action.py、strings.json。

触发时机:设备有物理按键或输入、产生事件(移动、门铃)、硬件状态变化需自动化触发,或标准实体触发器不足时。

使用方式:按模板实现模块级 TRIGGER_SCHEMA;async_get_triggers 检查设备标识属于本集成后返回触发列表;async_attach_trigger 将事件触发器以 platform_type="device" 挂载。测试可用 async_get_triggers 并断言触发数量与类型成员关系,注意 TRIGGER_TYPES 为集合,顺序不保证。

限制:不用于 IQS 升级;具体设备能力判断、支持的触发类型与示例均为通用模板,实际需按设备模型或已存储能力确定。相关技能:ha-device-conditions-actions、ha-yaml-automations、ha-entity-platforms。