『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 16777|回复: 23

[流程系列] 【NODE-RED】脱离HA,用NODE-RED控制博联RM、SP并接入homekit

[复制链接]

33

主题

683

帖子

4353

积分

论坛元老

Rank: 8Rank: 8

积分
4353
金钱
3660
HASS币
50
发表于 2018-11-21 11:57:50 | 显示全部楼层 |阅读模式
本帖最后由 huang7dede 于 2018-11-30 15:42 编辑

作为小白,先默默的看了大神的各种node-red教程,感觉这个真的适合小白,建议小白都从HA转来这里玩,图形化编程对于小白很友好,编程像搭积木。之前用homeassistant各种提示错误,各种崩溃,现在再也没有了。而且直接导入大神写好的配置,一键搞定,再也不用各个目录,各种文件里复制粘贴,而且修改方便,直接点一下部署,就知道修改后的配置是不是可以用,不用想HA重启,上次我的HA配置出错,重启后始终IP:8123进不去界面,也不知道是哪里改错,一怒之下,重装了服务器。node-red唯一差点的是现成的节点少了点,有些传感器没有,好在我需要的homekit,博联,都有,另外好像小米的也有。还需要大神在node-red多多贡献啊。

小白之前看教程,各种在home-assistant装node-red,还有在node-red装homeassistant,为啥这么折腾呢,直接用node-red就可以实现接入homekit。而且貌似node-red的homekit是多个流程可以独立的,比如homeassistant就是在configuration.yaml文件里加一句homekit:,web界面会显示一个pin码,node-red可以有多个pin码,可以接入多个不同的设备。所以,不用安装homeassistant。

废话讲完,我要的功能是用siri控制电视机和电视盒子的开关,是根据论坛各路大神的教程自己琢磨的,反正自己也是小白,发出来只当是学习笔记与大家共享。

首先,我的电视盒子是斐讯N1刷的机顶盒,是蓝牙遥控没有红外,但盒子是插上电源就会自动开机,于是用一个博联的WIFI开关SP mini3控制盒子开关机,电视机就是红外遥控,所以需要一个博联RM pro+。

我的NOED-RED是装在docker里的,这个安装有教程,就不说了。
node-red里安装下面2个节点,一个是Homekit节点,一个是博联的节点,加入后,左侧边栏就会多出一些按钮,还有自带的许多按钮,需要什么就可以拖到中间的区域了。小白如果不知道是什么按钮可以看图,每个按钮的左侧都有一个图标,可以在侧边栏找相同图标拖出来就是了。



然后建了一条指令用于博联RM遥控学码,学会遥控器的开机、关机红外码,点击一下按钮左侧图标,博联RM亮橙色灯,等待学码,用你的遥控器对着按一下要学的按键,右侧调试窗口就会显示一串例如:{"data":[38,0,80,0,0,1,39,152,16,21,16,22,16,21,17,20,17,21,17,20,18,20,16,22,16,58,17,57,18,58,16,58,17,58,17,58,16,21,17,58,17,57,17,58,17,21,16,21,17,20,18,20,17,21,17,20,17,21,16,22,16,58,17,57,18,58,16,58,17,57,18,58,16,0,5,62,0,1,25,74,18,0,13,5,0,0,0,0,0,0,0,0]},这就是学会的红外码。把学会的码都记录下来。

在建一条指令用于siri控制电视盒子和电视机开启及关闭
如下图:

记得点击右上角部署,以上就可以了,在苹果设备的家庭里会自动发现一个设备,输入11111111(自己在homekit按钮上设置的PIN码)就可以连上开关了,给他取名叫“电视”,以后就可以说:嗨siri,打开电视,或者:嗨siri,关闭电视。
就会按下面的指令分别执行了。每个按钮可以双击打开看看设置什么的,都很简单,图形化操作,更改一个按钮的MAC和IP,其他的同类按钮都会改过来,比如上面我用了3个RM按钮,2个SP2按钮,只要改其中一个的MAC和IP,其他都一起改过来了。。

改进了一下,添加了检测斐讯N1在线,然后采取模拟遥控器发送电源按键码关机后再断电,所以需要安装一个节点,ping节点,节点里搜ping,安装一下,如图
搜狗截图20181130151632.jpg

设置很简单,输入要ping设备IP即可
最终是这个样子

搜狗截图20181130153913.jpg

发送遥控按键码的方法见另一个帖子:https://bbs.hassbian.com/thread-5586-1-1.html


最后是flow的代码    博联遥控接入homekit.yaml (12.15 KB, 下载次数: 213)



搜狗截图20181121111903.jpg
搜狗截图20181121104957.jpg
搜狗截图20181121111903.jpg
搜狗截图20181121104957.jpg
回复

使用道具 举报

33

主题

683

帖子

4353

积分

论坛元老

Rank: 8Rank: 8

积分
4353
金钱
3660
HASS币
50
 楼主| 发表于 2018-11-21 12:01:24 | 显示全部楼层
额,这论坛图片排版都乱了,,,算了,就这样将就看吧
回复

使用道具 举报

40

主题

3057

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11135
金钱
8028
HASS币
182
发表于 2018-11-21 12:05:20 | 显示全部楼层
本论坛支持 markdown
Nero
回复

使用道具 举报

0

主题

204

帖子

1035

积分

金牌会员

Rank: 6Rank: 6

积分
1035
金钱
831
HASS币
0
发表于 2018-11-21 12:28:01 | 显示全部楼层
学习学习
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16009
金钱
11298
HASS币
45
发表于 2018-11-21 12:44:18 | 显示全部楼层
huang7dede 发表于 2018-11-21 12:01
额,这论坛图片排版都乱了,,,算了,就这样将就看吧

上传完,光标定位到文中,点击图片插入到指定位置。不点击的话,只能在附件里。
回复

使用道具 举报

3

主题

167

帖子

3711

积分

论坛元老

Rank: 8Rank: 8

积分
3711
金钱
3544
HASS币
0
发表于 2018-11-21 15:45:36 | 显示全部楼层
本帖最后由 andyup 于 2018-11-21 15:56 编辑

hass.io --in docker  (ha0.82.1)   (Node-RED为插件安装)         里面安装
@boneskull/node-red-contrib-homekit
安装失败。。求解

21 Nov 15:43:39 - [info] Installing module: @boneskull/node-red-contrib-homekit, version: 1.0.0
21 Nov 15:44:45 - [warn] Installation of module @boneskull/node-red-contrib-homekit failed:
21 Nov 15:44:45 - [warn] ------------------------------------------
21 Nov 15:44:45 - [warn]
> [email protected] install /config/node-red/node_modules/curve25519-n
> node-gyp rebuild

gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Linux 4.15.0-39-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /config/node-red/node_modules/curve25519-n
gyp ERR! node -v v8.12.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-21T07_44_45_615Z-debug.log
回复

使用道具 举报

33

主题

683

帖子

4353

积分

论坛元老

Rank: 8Rank: 8

积分
4353
金钱
3660
HASS币
50
 楼主| 发表于 2018-11-21 20:25:39 | 显示全部楼层
本帖最后由 huang7dede 于 2018-11-21 20:26 编辑
andyup 发表于 2018-11-21 15:45
hass.io --in docker  (ha0.82.1)   (Node-RED为插件安装)         里面安装
@boneskull/node-red-con ...

不是这个homekit,这是网友修改的版本,貌似在docker里安装有一个依赖包安装不上,必须直接安装的,所以要安装原版的,你搜那个0.2.1版
搜狗截图20181121202624.jpg
回复

使用道具 举报

3

主题

167

帖子

3711

积分

论坛元老

Rank: 8Rank: 8

积分
3711
金钱
3544
HASS币
0
发表于 2018-11-22 09:22:07 | 显示全部楼层
感谢回复。。。这个版本我也试了。。。还是出错。。。

22 Nov 09:20:06 - [info] Installing module: node-red-contrib-homekit, version: 0.2.1
22 Nov 09:20:23 - [warn] Installation of module node-red-contrib-homekit failed:
22 Nov 09:20:23 - [warn] ------------------------------------------
22 Nov 09:20:23 - [warn]
> [email protected] install /config/node-red/node_modules/curve25519-n
> node-gyp rebuild

gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Linux 4.15.0-39-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /config/node-red/node_modules/curve25519-n
gyp ERR! node -v v8.12.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-22T01_20_23_658Z-debug.log
回复

使用道具 举报

33

主题

683

帖子

4353

积分

论坛元老

Rank: 8Rank: 8

积分
4353
金钱
3660
HASS币
50
 楼主| 发表于 2018-11-22 14:03:43 | 显示全部楼层
andyup 发表于 2018-11-22 09:22
感谢回复。。。这个版本我也试了。。。还是出错。。。

22 Nov 09:20:06 -  Installing module: node-red-c ...

额。。。。那不明白啊,你node-red怎么装的

我是群晖下命令行
sudo docker run -it -p 1880:1880 --name=docker-nodered22  -e TZ=Asia/Shanghai --restart=always --user=root -v /volume1/docker/node-red/data:/data --net="host" nodered/node-red-docker:0.19.5-v8
其他的也不明白了。。。node-red安装各个节点没啥报错的,安装错了不想用随便卸载都可以。
回复

使用道具 举报

4

主题

250

帖子

1283

积分

金牌会员

Rank: 6Rank: 6

积分
1283
金钱
1033
HASS币
0
发表于 2018-11-23 10:21:13 来自手机 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-19 15:08 , Processed in 0.060473 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表