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

 找回密码
 立即注册
查看: 11365|回复: 17

[教程系列] 曲线救国,微信控制node-red和hass,小白教小白

[复制链接]

32

主题

302

帖子

1734

积分

金牌会员

Rank: 6Rank: 6

积分
1734
金钱
1427
HASS币
40
发表于 2019-5-8 16:29:21 | 显示全部楼层 |阅读模式
本帖最后由 lione95678 于 2019-5-8 20:46 编辑

我是在家里放了一个不用的安卓手机,安装微信后新申请一个微信号,然后当人在外面时通过给家里手机发送微信消息,来实现控制hass,之所以这么做,因为我是移动的宽带,没有公网ip,虽然用了蒲公英,但只有2个客户端,而且每次都要先用蒲公英的app来建立连接,、老婆闲麻烦。
论坛里有用mojo-weixin的,但是我的主号单位要用win客户端,用了以后网页版就掉线,而新申请的新号码又用不了网页版,所以只能放弃。
暂时不会用tasker来发送微信,所以只能先写一个小白对小白的收到微信内容后操作hass的教程。
流程是手机微信收到通知-通过tasker将发信人和内容用http post方式发送给node-red,node-red判断微信内容后操作。
这个网页的教程已经很好的教了我们如何使用tasker转发微信消息

https://otichi.com/homeassistant-and-tasker-tts-incoming-weixin.html

现在开始小白对小白的教程:第一步:在tasker 的“配置文件”中,点右下角的“+”,选择“事件”-“界面”-“通知”,然后在“所有者程序”中选择“微信”,其他都可以不填,如下图:

1.png

第二步:在tasker中新建一个任务,在“任务编辑”中,点右下角“+”,选择“网络”-“http post”,1)在“服务器:端口”中输入”192.168.1.2:1880/tasker”,注意,前面是你的node-red的ip地址和端口,比如我的是192.168.1.2:1880,后面的“/tasker”你可以随便填,只要等会和你的node-red的http节点对应起来就可以。2)在“数据/文件”中输入{“wxtz”:%NTITLE”,”wxnr”:”%evtprm3”},注意,wxtz和wxnr你可以随便填,%NTITLE和%evtprm3就是你微信的发送人和内容的变量,不要改。3)在“内容类型”中填入“application/json”,我也不懂为什么要填。4)其他都不填,如下图:

2.png


Tasker到这里告一段落,下面是node-red的设置第三步:在node-red中,新建一个“http”节点,“请求方式”中选择“post”,勾选“接受文件上传”,在“url”中填写“/tasker”。主要,这里的“/tasker”就是刚才在tasker软件中的,如果你刚才不是用这个名称,在这里也相应调整。

3.png

做到这里,如果你在这个节点后面直接拖一个“debug”节点,直接部署后,如果正常,通过微信发送信息,就可以在node-red右侧的调试窗口看到发过来的信息了,如果你是按照上面照抄的,发送信息后,你就可以看到如下图,其中wxtz是发件人的昵称,wxnr是发给你的消息内容。

4.png

第四步:在node-red中用switch节点进行判断,对符合条件的微信分别给与不同的操作(应该可以“function”节点输入编辑函数来解决,可是我不会),我先建立了一个“switch”节点,在“属性”里选择“msg”,输入“payload.wxtz”,(这里的wxtz和你的tasker输入的对应起来,可以看到和上面图片中的一样)在下面的规则选择“==”,输入发送信息人的昵称,我输了2个人,这样只有这2个人发出的微信信息才会触发后续的操作,如下图:

5.png


后面再添加“switch”节点,对微信信息内容进行判断,我这里是“属性”输入“payload.wxnr”,下面选择的是包含,输入的是“灯”和“监控”,这样只要你的信息中含有这两个关键字,就会触发后面的操作。如下图:

6.png


后面我又增加若干“switch”节点,按照上图配置,只是关键字变成“卧室灯”、“走廊监控”什么的,再建立“switch”节点,输入“开”、“关”,你可以按照你自己的需要编辑相关“switch”节点,在最后的“switch”节点后面接上你需要的操作。这样的好处,比方说我要“打开卧室的灯”,你在微信里随便写什么,只要包括“灯”“卧室”“开”这三个关键字,都可以触发hass的开灯操作,比如输入“我要开卧室的灯”“把卧室灯打开”“开卧室灯”什么的都可以,如果你想语音控制,只要在发送微信的时候用语音输入法就可以。    暂时就到这里了,因为不会用tasker来发送微信,所以后面的用hass来发送微信信息我没办法写了,以后如果学到了就再次不谢吧。也请各位大侠们看看怎么用函数节点来省略一下switch,来个教程吧。


文中红色的地方我写错了,应该是wxtz和wxnr,图片和word文档是不对的,请注意。






收到微信操作hass.docx (506.15 KB, 下载次数: 39)

评分

参与人数 1金钱 +20 收起 理由
+ 20 纳尼,还有这种操作?

查看全部评分

回复

使用道具 举报

32

主题

302

帖子

1734

积分

金牌会员

Rank: 6Rank: 6

积分
1734
金钱
1427
HASS币
40
 楼主| 发表于 2019-5-8 16:33:00 | 显示全部楼层
图不上了,下载word文件吧
https://pan.baidu.com/s/17Lwu37x608B_pSX33pAm4g
提取码:f7h8
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16013
金钱
11302
HASS币
45
发表于 2019-5-8 16:44:29 | 显示全部楼层
文件不大,给你传到贴中了,方便大家下载。
回复

使用道具 举报

2

主题

410

帖子

2361

积分

金牌会员

Rank: 6Rank: 6

积分
2361
金钱
1951
HASS币
0
QQ
发表于 2019-5-8 17:24:56 | 显示全部楼层
占楼 板凳后面是啥呢---我既然坐地板上了
回复

使用道具 举报

18

主题

689

帖子

3768

积分

元老级技术达人

积分
3768
金钱
3069
HASS币
60
发表于 2019-5-8 18:03:23 | 显示全部楼层
厉害了楼主。
回复

使用道具 举报

32

主题

302

帖子

1734

积分

金牌会员

Rank: 6Rank: 6

积分
1734
金钱
1427
HASS币
40
 楼主| 发表于 2019-5-8 19:34:58 | 显示全部楼层
Jones 发表于 2019-5-8 16:44
文件不大,给你传到贴中了,方便大家下载。

多谢了,刚才还没编辑好,有事,就偷懒了
回复

使用道具 举报

7

主题

1975

帖子

5663

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
5663
金钱
3688
HASS币
145

灌水之王

发表于 2019-5-8 20:07:51 | 显示全部楼层
这是被逼疯的节奏啊 中毒
回复

使用道具 举报

11

主题

324

帖子

1332

积分

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1008
HASS币
0
发表于 2019-5-8 20:47:56 | 显示全部楼层
很赞啊 谢谢老大
回复

使用道具 举报

25

主题

547

帖子

4147

积分

论坛元老

Rank: 8Rank: 8

积分
4147
金钱
3600
HASS币
0
发表于 2019-5-8 21:50:49 | 显示全部楼层
tasker直接调用ha的api就行了,没必要再通过nodered吧
回复

使用道具 举报

11

主题

121

帖子

838

积分

论坛技术达人

积分
838
金钱
707
HASS币
60
发表于 2019-5-8 22:49:36 | 显示全部楼层
本帖最后由 yinzhennan 于 2019-5-8 22:51 编辑

这曲线够曲折的,可以用花生壳,花生棒,或者反向代理之类的.
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 11:04 , Processed in 2.143188 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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