以下方法经本人验证通过,环境如下:
Home Assistant 0.91.4 Docker方式安装
Node-RED V0.20.5
node-red-contrib-home-assistant-websocket 0.13.1
米家多功能网关及相关设备已接入Home Assistant
第一步: 获取Home Assistant 的长期令牌(Access Token)
使用管理员用户登陆Home Assistant,点击左上角的用户小圆圈,打开用户资料
![](https://www.feeus.com/wp-content/uploads/2019/07/image.png)
在页面最下方创建长期访问令牌,并记下它(一串字符串,打开个记事本复制粘贴下来吧,后面要用到)
第二步:Node-Red中安装模块
打开Node-Red页面,点击右上角的选项图标,打开”节点管理”对话框
选择”安装”,搜索”node-red-contrib-home-assistant-websocket”,安装该模块
安装成功后会在右侧节点列表处增加home assistant节点组
![](https://www.feeus.com/wp-content/uploads/2019/07/屏幕快照-2019-07-09-23.24.36.png)
第三步:添加Server
将events:state 节点拖入流程中,并双击打开编辑窗口
在Server 中选择”添加新的server节点”,点击修改图标打开配置server窗口
Base URL:填写你的Home Assistant 地址,如:http://xxx.xxx.xxx.xxx:8123
Access Token :填写第一步获取的长期访问令牌
点击添加按钮后,完成Server的添加工作
第四步:编写第一个自动化,实现感应到人移动后自动开灯
在上一步的events:state节点编辑窗口中按下图所示配置,其中Entity ID为已接入Home Assistant的某人体感应器的Entity(可在Home Assistant的状态页面中复制)
![](https://www.feeus.com/wp-content/uploads/2019/07/屏幕快照-2019-07-09-23.35.13.png)
继续拖入一个current state节点,按下图配置,同理,Entity ID为已接入Home Assistant的一个灯
![](https://www.feeus.com/wp-content/uploads/2019/07/屏幕快照-2019-07-09-23.40.53.png)
最后拖入一个call service节点,按下图配置,Entity ID还是刚刚那个灯
![](https://www.feeus.com/wp-content/uploads/2019/07/屏幕快照-2019-07-09-23.44.12.png)
最后将三个节点用线连接,点击右上角的部署按钮,即可完成一个简单的自动化控制
![](https://www.feeus.com/wp-content/uploads/2019/07/屏幕快照-2019-07-09-23.45.37.png)
上述自动化用一句话概括就是:当检测到(厨房)有人移动时,判断(厨房)灯当前状态,若为关闭状态则打开(厨房)灯。
- 如果你想了解如何将Node-Red集成到Home Assistant页签中,请参考文章: 将node-red添加到home-assistant页签
- 查看更多关于Node-Red自动化的文章可点击此处: https://www.feeus.com/tag/node-red/
如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!
![](https://www.feeus.com/wp-content/uploads/2019/07/微信.jpg)
![](https://www.feeus.com/wp-content/uploads/2019/07/支付宝.jpg)