Node-Red 实现无人时自动延时关灯


以下方法经本人验证通过,环境如下:

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/

如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!

2人评论了“Node-Red 实现无人时自动延时关灯”

    1. 我这边用的是早期zigbee方式的人体感应器,有可能是新的人体感应器data.attributes[“No motion since”] 这个属性要更改一下,建议你核实下

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

13 − 13 =