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

 找回密码
 立即注册
查看: 22206|回复: 97

[进阶教程] 超完美homekit接入小米米家空气净化器,实现所有功能!

  [复制链接]

4

主题

50

帖子

409

积分

论坛技术达人

积分
409
金钱
354
HASS币
20
发表于 2022-3-14 17:33:31 | 显示全部楼层 |阅读模式
本帖最后由 zhengran14 于 2022-3-23 02:22 编辑

附件下载脚本!!




前言:


网上研究了很多资料,前些年自己也基于homeassistant修改了yaml妄图完美化家里的小米接入homekit,但是总是效果不尽不如人意,homekit内不是开关分配不合理,就是类型不对,或者是分组不行,homebridge更是有这个问题。虽然想研究索性直接开发插件得了,但是感觉又很麻烦(虽然是一个程序猿,但是对ha和hb的插件开发就是提不起兴趣)。直到前些天,看到了node-red,简单试用后顿时有了思路,感觉node-red真是太厉害了,不仅二次开发非常方便,更是开放的接口特别的多,适合我这种很闲但是又不是很闲的程序猿。于是第一步我就打算拿下家里的空气净化器。

在这里特别感谢tangxingjie1991的帖子:https://bbs.hassbian.com/thread-12741-1-1.html,也是因为他的启发,我才决定彻底研究下node-red(tangxingjie1991的脚本不太适合我的型号,好多功能实现不了,所以我就自己开干了)。

后续我也会陆陆续续更新一些新的脚本,比如最近我正在接入戴森的加湿空气扇、小米的插座、索尼的电视等,完美后都会和大家分享。

以下是尽可能的简易教程,也是希望能够带更多的人入门node-red。


实现的功能:


1、homekit中正确显示配件种类:空气净化器
2、传感器、设置开关等整合到一个设备中
3、米家和homekit完美状态同步,无论你在米家还是homekit任意一处操作都能相互完美同步状态
4、常规的打开、关闭,切换模式5、支持自动模式、睡眠模式、手动模式
6、支持调节手动模式的风速(完美匹配米家的设置),并且调节不会自动切换模式,互不干扰
7、不会出现其他部分插件速度调节到0出现问题的情况,也不会出现homekit中调节风速导致卡死的问题
8、支持内置光照传感器、温度传感器、湿度传感器、pm2.5传感器,并支持空气质量显示
9、支持滤芯剩余显示,支持滤芯更换状态显示
10、支持提示音、童锁、显示屏开关
11、整合的同时,也组内分离了各个传感器,方便制作home自动化

可惜:
1、homekit只支持自动和手动模式,所以睡眠模式单独做成了开关。如果打开,切换到自动模式就是走的睡眠,如果关闭,就不走睡眠
2、提示音、显示器开关也做成了单独的,没法整合到空气净化器内部的设置

我家只有小米空气净化器pro,型号是:zhimi.airpurifier.v6。所以我也只兼容的这款,但是逻辑都是同理,因为都是小米家的,其实其他型号如果你发现有些小问题,其实简单修改就能解决,主功能切换模式、风速等都是一样的。大家如果有兼容好的可以发出来,我看到了也会在帖子里指导到对应楼层,这样方便大家查找。
IMG_0498.jpg IMG_0499.jpg IMG_0500.jpg IMG_0501.jpg IMG_0502.jpg






准备工作:

1、需要安装node-redhomeassistant,毕竟设备的状态获取和设置需要homeassistant来处理。我的安装在了群晖的docker中,安装教程网上有很多。
2、node-red中需要安装node-red-contrib-home-assistant-websocketnode-red-contrib-homekit-bridged这两个节点,用于连通homeassistant和创建homekit设备。
3、在homeassistant中,使用自带的Xiaomi Miio接入家里的空气净化器。(最近新出的MIoT虽然很好用,但是对比了下和miio的数据获取,还是miio数据多可控性大,适合对接node-red;而且我的插件也是基于Xiaomi Miio获取和设置的,如果想用MIoT需要自行修改)
4、在homeassistant中,点击最右下角自己的用户名,然后进入用户资料,拉到最底下,创建长期访问令牌,名字随便,生成的令牌保存下来(如果忘记保存了,生成新的就行)。下面导入node-red用得到。
Screen Shot 2022-03-14 at 14.39.22.png




导入并设置脚本:

1、打开node-red,导入附件的js脚本。
2、进入流空气净化器

3、双击调整空气净化器流中的所有蓝色模块,这些都是node-red和home-assistant通讯的部分,里面是需要选择指向的home-assistant实体的,我给的脚本都是我这边的ha实体名,大概率和你们都是不同的,所以一定记得调整!!
下图只是其中一个模块举例,请调整所有模块。调整时候注意实体类型,因为一个设备在ha会有多个实体,而不同的蓝色模块是会指向这台空气净化器下不同的实体(也会有不同蓝色模块指向同一个实体,这都是取决于功能需要),对照着我的选择,千万不要选错了。
Screen Shot 2022-03-23 at 02.08.14.png
4、在右侧找到全局配置节点 - server - Home Assistant
,双击。
5、在出现的设置中,BaseURL填写的是你的homeassistant的地址,Access Token是之前准备工作第四步准备的令牌。
6、点击红色的更新按钮,即可保存。


Screen Shot 2022-03-14 at 14.38.47.png



下图是关于node-red中homekit的相关设置,可以自行自定义。全局配置节点 - homekit-bridge - 空气净化器网关,双击即可设置。

Screen Shot 2022-03-14 at 14.39.39.png



运行:

1、点击部署按钮。
2、打开homekit,添加网关。


至此~教程结束~~


Screen Shot 2022-03-14 at 17.30.46.png













空气净化器.json

37.73 KB, 下载次数: 547

评分

参与人数 7金钱 +61 HASS币 +20 收起 理由
windgo + 16 高手,这是高手!
wcm12345 + 5 真的太棒,一直还是玩不会NR,期待索尼电视.
Lengran + 5 同款设备
yinmyu + 5 论坛有你更精彩!
More + 2 感谢楼主分享!
tangxingjie1991 + 8 好像看到了我的名字
+ 20 + 20 膜拜大神!

查看全部评分

回复

使用道具 举报

3

主题

119

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
933
HASS币
0
发表于 2022-3-14 18:54:37 | 显示全部楼层
很闲但是又不是很闲的程序猿, 这个身份和我一样,哈哈,支持一下
回复

使用道具 举报

15

主题

636

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
金钱
1543
HASS币
0
发表于 2022-3-14 19:07:17 | 显示全部楼层
首先,羡慕程序员,其次,更羡慕 很闲但是又不是很闲的程序猿。
回复

使用道具 举报

4

主题

50

帖子

409

积分

论坛技术达人

积分
409
金钱
354
HASS币
20
 楼主| 发表于 2022-3-14 21:12:22 | 显示全部楼层
telanx 发表于 2022-3-14 19:07
首先,羡慕程序员,其次,更羡慕 很闲但是又不是很闲的程序猿。

哈哈,还是一直很闲比较好
回复

使用道具 举报

0

主题

109

帖子

1223

积分

金牌会员

Rank: 6Rank: 6

积分
1223
金钱
1114
HASS币
0
发表于 2022-3-15 02:15:11 | 显示全部楼层
感谢分享,收藏了
回复

使用道具 举报

9

主题

157

帖子

2108

积分

金牌会员

Rank: 6Rank: 6

积分
2108
金钱
1951
HASS币
10
发表于 2022-3-15 10:52:35 | 显示全部楼层
同样是很闲但是又不是很闲的程序猿
回复

使用道具 举报

0

主题

25

帖子

488

积分

中级会员

Rank: 3Rank: 3

积分
488
金钱
463
HASS币
0
发表于 2022-3-15 14:07:52 来自手机 | 显示全部楼层
期待索尼电视教程
回复

使用道具 举报

0

主题

107

帖子

817

积分

高级会员

Rank: 4

积分
817
金钱
710
HASS币
0
发表于 2022-3-15 19:00:38 来自手机 | 显示全部楼层
留名先大佬
回复

使用道具 举报

4

主题

50

帖子

409

积分

论坛技术达人

积分
409
金钱
354
HASS币
20
 楼主| 发表于 2022-3-15 19:59:09 | 显示全部楼层
aa574767263 发表于 2022-3-15 14:07
期待索尼电视教程

切换app和hdmi,以及iPhone自带遥控器控制和音量操作其实都ok,就是在纠结能不能调用apple tv的遥控器,不然实用性好低
回复

使用道具 举报

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
发表于 2022-3-15 20:47:24 | 显示全部楼层
最近我的光照也一直是200lux,白天和晚上都是,不知道是不是新系统的bug。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-20 20:43 , Processed in 0.060874 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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