shaoge 发表于 2018-11-9 23:31:27

小白的Node-Red学习笔记(自动化篇)

本帖最后由 shaoge 于 2018-11-9 23:34 编辑

小白的Node-Red学习笔记(自动化篇)
最近一段时间一直在折腾home-assistant,因为家里是最简单的小米全家桶,所以难度也不高,只是利用HA把米家接入了homekit,实现了siri和小爱都可以控制家里的设备。但是除了手机和小爱,自动化才是智能家居的精髓,而homekit的自动化是个残废,米家的自动化是不能读取某一个开关的状态来联动另一个设备的,比如我要实现手动打开电热油汀之后,加湿器根据湿度计的反馈来自动开启或关闭就无法实现,加上最近一段时间论坛里在强力推荐Node-Red实现自动化,所以在反复翻看了论坛里的教学帖子之后,有了动手的想法。

论坛的大佬太多,作为一个小白,有很多地方也许大佬觉得是常识就一笔代过,而像笔者这种小白要反复试验才能了解,这个笔记一方面是为了给自己留一个学习记录,另一方面也是为了方便更多像笔者一样的小白参与进来,下面我就详细讲讲自己怎么实现手动打开电热油汀之后,加湿器根据湿度计的反馈来自动开启或关闭。

首先上图,自己的自动化整体模样

一、从HA的信息开始
这个events:state节点我的理解是获取信息,我的油汀是常开,而控制它的方式是通过控制小米墙壁插座的开关来进行,这个节点的目的是获取油汀的开关状态,取名叫油汀,server是我之前加入的HomeAssistant,而Entity ID就是在homeassistant里获取的设备ID。(添加server的方式和在homeassistant里获取的设备ID的方式在这里就不展开讲了,如果问的人多,就另外开一篇来讲)

二、选择状态 添加switch节点,分两路分别填on和off这是判断油汀的开关状态,当油汀是关闭状态的时候,加湿器也关闭。



三、联动卧室的湿度计 添加current state节点这是读取卧室湿度计的信息,Entity ID就是在homeassistant里获取的设备ID

四、判断湿度 百度了一下人体合适的湿度在50%-70%之间,因为笔者的小米温湿度计反馈不是很及时,所以设置的冗余比较大,分两路1、湿度小于等于55%,2、湿度大于等于65%分别对应不同的动作。


五、判断加湿器的状态
添加了两路,分别对应当湿度低于55%时打开加湿器和湿度高于65%时关闭加湿器。这是第一路,表示湿度低于55%的时候如果加湿器的状态是关就打开加湿器,Donmain选择switch开关,Service选择turn_on打开,Data的填写格式是{"entity_id":"要控制设备的Entity ID"}

这是第二路,表示湿度高于65%时关闭加湿器,同样Donmain选择switch开关,Service选择turn_off关闭,Data的填写格式是{"entity_id":"要控制设备的Entity ID"}

六、添加debug调试节点收官
最后点击右上角部署,整个自动化就完成了。可能有些朋友疑问的怎么流程中间一堆debug节点,这个听说是调试用的,也就是点击右边那个臭虫,调试窗口里的显示方便你查找故障的,你不添加也无所谓。整个自动化就是这样完成的,如果你有其他的想法,比如人体感应开灯之类的,都和这个自动化类似,可以自行衍变。

dsyulgz 发表于 2018-11-10 08:40:55

不错的说明

nichwang 发表于 2018-11-10 09:38:00

笔记做的挺认真,赞一个

lmdf 发表于 2018-11-10 11:59:19

正需要,谢谢

fuhuo8 发表于 2018-11-10 14:25:13

感谢了。。这段时间也是学习自动化。。小白文真的少。。很多大神一笔带过,我也是慢慢摸索。目前还是测试阶段,刚刚弄懂如何自动化小爱播报

okxiongmao 发表于 2018-11-15 10:16:44

万分感谢楼主无私的分享。

lanhome 发表于 2018-11-30 23:41:39

你左边的HOMEASSISTIANT怎么加进去的?

okxiongmao 发表于 2018-12-7 23:43:40

楼主homeassistant的Service怎么添加啊

qingchen 发表于 2018-12-12 11:19:02

感谢分享

foxmouse 发表于 2022-5-18 09:06:25

感谢分享,试着做了一下,还不太行
页: [1] 2
查看完整版本: 小白的Node-Red学习笔记(自动化篇)