lanhemeng 发表于 2018-1-13 20:23:53

通过Node-red 将HA中的传感器接入HomeKit

本帖最后由 lanhemeng 于 2018-1-13 20:23 编辑

先看效果


主要用到的Node有以下两个,node-red-contrib-home-assistant和node-red-contrib-homekit



这里以小米插座为例:

1.先插入一个Node current state,用来检测当前插座的开关状态,进行反馈
新添加Server节点,如下图:

之后,Node-red会自动搜索EntityID,选择相对应的无线开关

2.插入Change节点,用于格式化payload为相应的JSON格式;

3.添加Homekit节点,并新建一个Switch Accessory节点

设置Server为Switch

4.分别添加一个Function和Switch节点,
Function里的代码
on1=msg.payload.On;
global.set("on1",on1);
var msg= { payload:on1};
return msg;

Switch节点里的设置


5.添加两个call service节点;
Service一个设置为turn_on,另外一个设置为turn_off,不要用触发;


部署之后就可以在Home APP里添加设备了;

在Node-Red里,每一个HomeKit的节点都是独立的,这样就避免诸如HB里一个设备没有响应其他设备都挂了的窘境;

另外Node-red里还有小米全家桶的Node节点,可以直接介入小米网关里的设备,非常方便;


这种图形化编程不用码代码,非常方便;

谢谢大家;

wanyakui520 发表于 2018-1-13 21:13:59

大神,请问下HA怎么去控制接入node 的设备,我现在卡在这了。

lanhemeng 发表于 2018-1-13 21:17:01

wanyakui520 发表于 2018-1-13 21:13
大神,请问下HA怎么去控制接入node 的设备,我现在卡在这了。

直接用current state检测HA的状态控制进入Node-red就行了啊

wanyakui520 发表于 2018-1-13 21:30:31

lanhemeng 发表于 2018-1-13 21:17
直接用current state检测HA的状态控制进入Node-red就行了啊

current state不是状态监测吗?这个能实现HA控制接入在NODE的485设备?

lanhemeng 发表于 2018-1-13 21:32:02

wanyakui520 发表于 2018-1-13 21:30
current state不是状态监测吗?这个能实现HA控制接入在NODE的485设备?

说下具体你要实现的功能啊

wanyakui520 发表于 2018-1-13 21:35:45

我手上有个开放tcp协议的设备,设备现在已经接入node-red,先通过node-red做桥接入HA 最后实现用HA控制

7456230 发表于 2018-1-13 21:58:07

:lol 谢谢分享!

Wen729 发表于 2018-1-13 23:00:38

感谢分享

czweb 发表于 2018-1-18 15:36:47

node-red里的homekit插件,你知道如何只更新按钮状态吗?
因为{"On":true}就直接执行动作了,我只想更新homekit里按钮的状态,是按下去还是弹起来就可以了;
比如我想实现通过ping检测电脑开机状态,假如电脑是通过物理按键打开了(没有用程序开),电脑被打开后,homekit的按钮状态可以同步更新为按下去状态

a903497400 发表于 2018-1-18 15:52:19

先支持y一波,感谢分享!~~~~~~~~~·
页: [1] 2 3 4 5
查看完整版本: 通过Node-red 将HA中的传感器接入HomeKit