以下方法经本人验证通过,环境如下:
Home Assistant 0.91.4
Node-RED V0.20.5
node-red-contrib-home-assistant-websocket 0.13.1
米家多功能网关及相关设备已接入Home Assistant
前言:在文章 将home-assistant接入node-red实现自动化 的最后,我们实现了一个简单的自动化,既判断有人移动时开灯。对应的,本文将实现一个简单的无人自动延时关灯的自动化。
第一步:拖入节点
按下图所示,拖入poll state , switch , current state , call service 及 debug 节点,并依次将他们连接起来
双击 poll state 节点,如下图所示进行编辑
- Entity ID ,自然是范围内的那个人体感应器
- Update Interval 填写60秒,即每分钟刷新一次感应器的状态,这个可以根据你需要的精度自己设置
- 将Output on Changed 和 Output on Connect 都勾上
双击 switch 节点,如下图所示进行编辑
- 属性填写 data.attributes[“No motion since”] ,意思是获取无人移动的时间
- 条件处增加条件,大于等于120,表示超过120秒无人移动即向下传递消息(关灯)
其余节点的设置不在赘述,参考 将home-assistant接入node-red实现自动化 修改即可
第二步: 部署,即可完成设置
- No motion since 这个属性在米家和Aqara的人体感应器里是有的,如果你使用的是其他的移动感应器,请根据实际情况填写
- No motion since 的值,米家和Aqara的移动感应器里只会有60,120,180,300,600,1200和1800,因此本文这种方法也只能对这几个时间进行设置才有实际意义
- 查看更多关于Node-Red自动化的文章可点击此处: https://www.feeus.com/tag/node-red/
如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!
好像swtch 节点那个设置用不了!!!
我这边用的是早期zigbee方式的人体感应器,有可能是新的人体感应器data.attributes[“No motion since”] 这个属性要更改一下,建议你核实下