家庭自动化故障排查:后门解锁时办公室灯未按预期闪红
家庭自动化故障排查:后门解锁触发办公室灯光闪红功能失效
我要实现的家庭自动化功能是:当后门解锁且办公室灯光已开启时,让办公室灯光闪红后恢复正常状态。目前配置后功能完全没反应,已经确认办公室灯光确实处于开启状态,但不确定是灯光配置问题,还是后门解锁的触发逻辑有问题。以下是我的自动化配置代码:
alias: Rear Door Open Alert description: THIS SHOULD FLASH THE OFFICE LIGHTS RED GIVEN THE DOOR OPENS AND THE LIGHTS ARE ON IN THE OFFICE. triggers: - device_id: 2146616f622dad9b6cad7d08c4b45fc8 domain: lock entity_id: 25b2c967bd04e0afd8fda27499e20116 type: unlocked trigger: device for: hours: 0 minutes: 0 seconds: 1 conditions: - condition: device type: is_on device_id: bc83875885b7833bf4f5f0e1d5cc4ca8 entity_id: 7f862dbd5138265590937f2fd1718805 domain: light - condition: device type: is_on device_id: 77176e116659dec5d16eb5b29bbcc28f entity_id: 59b51a95fd7d44379d69b226792ac930 domain: light actions: - repeat: count: 2 sequence: - action: light.turn_on metadata: {} data: brightness_pct: 100 flash: short rgbw_color: 255,0,0,1 brightness: 255 target: device_id: - bc83875885b7833bf4f5f0e1d5cc4ca8 - 77176e116659dec5d16eb5b29bbcc28f - action: light.turn_on metadata: {} data: rgbw_color: 255,0,0,1 flash: short brightness: 255 brightness_pct: 100 target: device_id: - bc83875885b7833bf4f5f0e1d5cc4ca8 - 77176e116659dec5d16eb5b29bbcc28f - action: light.turn_on metadata: {} data: brightness_pct: 100 rgbw_color: 255,0,0,1 brightness: 255 target: device_id: - bc83875885b7833bf4f5f0e1d5cc4ca8 - 77176e116659dec5d16eb5b29bbcc28f - action: light.turn_on metadata: {} data: brightness_pct: 100 rgb_color: - 226 - 146 - 254 target: device_id: - bc83875885b7833bf4f5f0e1d5cc4ca8 - 77176e116659dec5d16eb5b29bbcc28f mode: single
问题排查与修复方案
1. 触发器延迟导致未触发
配置里给解锁事件加了for: 1秒的延迟,要求解锁状态持续1秒才会触发自动化。但多数门锁的解锁动作是瞬间完成的,这个延迟会直接跳过触发。直接移除for参数,让自动化立即响应解锁事件:
triggers: - device_id: 2146616f622dad9b6cad7d08c4b45fc8 domain: lock entity_id: 25b2c967bd04e0afd8fda27499e20116 type: unlocked trigger: device
2. 灯光闪烁逻辑冗余且参数冲突
- 连续三次调用
light.turn_on还都带flash: short,会导致指令冲突,灯光无法正确响应。flash: short本身就是让灯闪一次,不需要重复调用。 - 同时设置
brightness_pct:100和brightness:255属于重复参数,Home Assistant会忽略其中一个,建议只保留一个。 - 最后恢复灯光用了固定的紫色,但原灯光状态可能不是这个颜色,应该先记录触发前的灯光状态,再恢复到原状态,而不是硬编码颜色。
3. 优化后的完整配置
alias: 后门解锁提醒 description: 后门解锁且办公室灯开启时,灯光闪红后恢复原状态 triggers: - device_id: 2146616f622dad9b6cad7d08c4b45fc8 domain: lock entity_id: 25b2c967bd04e0afd8fda27499e20116 type: unlocked trigger: device conditions: - condition: device type: is_on device_id: bc83875885b7833bf4f5f0e1d5cc4ca8 entity_id: 7f862dbd5138265590937f2fd1718805 domain: light - condition: device type: is_on device_id: 77176e116659dec5d16eb5b29bbcc28f entity_id: 59b51a95fd7d44379d69b226792ac930 domain: light actions: # 记录触发前的灯光状态(颜色、亮度) - variables: light1_attr: "{{ state_attr('light.7f862dbd5138265590937f2fd1718805', ['rgb_color', 'rgbw_color', 'brightness']) }}" light2_attr: "{{ state_attr('light.59b51a95fd7d44379d69b226792ac930', ['rgb_color', 'rgbw_color', 'brightness']) }}" # 闪红2次,每次闪红后短暂恢复原状态 - repeat: count: 2 sequence: # 变红 - action: light.turn_on data: rgbw_color: [255, 0, 0, 1] brightness: 255 target: device_id: - bc83875885b7833bf4f5f0e1d5cc4ca8 - 77176e116659dec5d16eb5b29bbcc28f - delay: 0.5 # 恢复原状态 - action: light.turn_on data: "{{ light1_attr }}" target: device_id: bc83875885b7833bf4f5f0e1d5cc4ca8 - action: light.turn_on data: "{{ light2_attr }}" target: device_id: 77176e116659dec5d16eb5b29bbcc28f - delay: 0.5 mode: single
额外排查步骤
- 检查门锁实体状态:在开发者工具的状态页,确认
lock.25b2c967bd04e0afd8fda27499e20116解锁时会触发unlocked事件。 - 单独测试灯光控制:手动调用
light.turn_on服务,传入rgbw_color: [255,0,0,1]和目标设备ID,确认灯光能正常变红,排除硬件或集成问题。 - 查看自动化日志:在Home Assistant日志页搜索自动化名称,查看是否有触发记录或报错,定位具体故障。
内容的提问来源于stack exchange,提问作者Zac Borders
相关产品推荐
相关产品推荐

