用途:为 Home Assistant 自定义集成编写设备条件与设备动作,使自动化在设备层面能检查状态并直接下发命令。\n\n主要能力:设备条件通过 device_condition.py 定义 async_get_conditions 与 async_condition_from_config,示例条件类型为 is_on、is_off、is_connected,使用 DEVICE_CONDITION_BASE_SCHEMA 扩展配置模式;设备动作通过 device_action.py 定义 async_get_actions 与 async_call_action_from_config,示例动作类型为 turn_on、turn_off、toggle,最终通过 hass.services.async_call 调用服务。\n\n使用方式:把对应文件放入集成包内,Home Assistant 依据文件名自动发现,无需修改 manifest。注意三类设备自动化的判别键不对称且为有意设计:trigger 设 CONF_PLATFORM 为 device,condition 设 CONF_CONDITION 为 device,action 两者都不设,靠模块位置区分。\n\n限制与提醒:示例中的实体解析与状态判断为占位,需替换为真实逻辑,未处理类型返回 True 只是占位并非正确实现。integration_type 是独立分类字段(device / hub / service / helper / system,默认 hub),应按集成实际拓扑设置,不应因带有设备自动化就强制设为 device。相关技能:设备触发器见 ha-device-triggers,服务动作见 ha-service-actions。
ha-device-conditions-actions
编程与开发
更新于 10-15 23:48