我的需求为当离开房间 5 分钟后自动关闭灯光,于是买了一个小米的人体传感器 2s,这个传感器比其他的设备多了一个光照亮度检测,可以顺带实现晚上起夜自动亮床边灯带
但是由于我贪便宜买的这个是人体传感器,而不是人在传感器,导致有些时候会误判关灯(人在传感器内有个雷达,比较适合于静止的人;人体则适合移动/路过的)
另外当在 Home Assistant 内配合小米插件时,Motion detected 这个 entity 只有”上一次触发有人的时间“这个状态,而没有像在米家内的”隔一段时间无人“的状态,而我的想法是每隔一分钟判断上一次触发过了多久,超过了 300 秒就执行关灯(走后五分钟关灯方便临时离开的情况)
{% set t = states('event.xiaomi_cn_blt_3_xxx_pir1g_motion_detected_e_2_1008') | as_datetime %} {{ t is not none and (now() - t).total_seconds() > 300 }} #记得修改 event id于是最终的自动化是:
alias: Turn Off Light When No Motion
description: ""
triggers:
- minutes: /1
trigger: time_pattern
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: >-
{% set t = states('event.xiaomi_cn_blt_3_xxx_pir1g_motion_detected_e_2_1008') | as_datetime %} {{ t is not none and (now() - t).total_seconds()
> 300 }}
sequence:
- action: light.turn_off
target:
entity_id: light.xxx #灯的 entity
mode: single
需要注意,如果你也打算买一个类似的设备,大多是需要搭配小米自家的网关的,而且必须有蓝牙 Mesh 协议,有些旧的网关只支持 Zigbee 协议是不能连接上的
最划算的方案是买一个二手的小爱音箱,记得跟卖家确认支持的协议再下单























