强迫症之【小米空净2s】在hk中必须只能占一个格子!
本帖最后由 735473216 于 2022-1-10 11:52 编辑前情提要
家里有一台小米空气净化器2S,有一些控制功能,通过Xiaomi Miio接入ha中
其中红圈的功能是我想要接入到hk中,一番操作,在hk中展示:
我的天,一个空气净化器要占用4个控件位置,其中风扇的控件展开更是包括了5个控件!!
https://cdn.jsdelivr.net/npm/[email protected]/image/hrline/line3.png
需求分析
我所需要的控制功能如下(米家app)
[*]空净开关
[*]模式:自动、最爱、睡眠
[*]灯光开关
[*]儿童锁开关
[*]提示音开关
[*]hk中将这些集成到一个设备下
https://cdn.jsdelivr.net/npm/[email protected]/image/hrline/line3.png
开整
直接干货
需要准备nodered,安装redmatic-homekit节点
之所以选择redmatic-homekit,是因为它提供了一个redmatic-homekit : redmatic-homekit-universal节点,此节点可以集成很多种类型的设备
参考文档:
https://github.com/homebridge/HAP-NodeJS/blob/master/src/lib/definitions/ServiceDefinitions.ts(可以找到各种设备的成员变量)
https://github.com/homebridge/HAP-NodeJS/blob/master/src/lib/definitions/CharacteristicDefinitions.ts(可以找到各种成员变量的取值和类型)
建立homekit bridge
部署完成后可以看到这个二维码,用hk直接扫码添加,或者ha的hk控制器反向接入都可以
接下来选择设备种类
根据需求,我建立了如下映射
空净的各种开关对应universal中的Switch
空净的本身通断对应universal中Fanv2的Active字段
空净的auto模式对应universal中Fanv2的TargetFanState字段=1
空净的silent模式对应universal中Fanv2的TargetFanState字段=0,且RotationSpeed字段<=50
空净的favorite模式对应universal中Fanv2的TargetFanState字段=0,且RotationSpeed字段>50
以此编写的流图
接入到hk中的效果
不能说完美,但是取得了阶段性的胜利!
流奉上
**** Hidden Message *****
https://cdn.jsdelivr.net/npm/[email protected]/image/hrline/line3.png
总结
自己玩ha的时间越长,发现自己的需求越变态,但是好在知识的积累可以在一定程度上解决自己的问题。这个过程很麻烦,但是也很快乐。
也许乍一看这个我得这篇帖子没什么实际的用途,也许只能算锦上添花,但是我相信这种追求精益求精的过程一定能带给我们收获和成长!
我的下一个目标就是格力空调,刚玩ha的时候我还来论坛求助过
https://bbs.hassbian.com/thread-13097-1-1.html
现在工具在手,希望这种方法能解决早些年的心结:lol
https://cdn.jsdelivr.net/npm/[email protected]/image/hrline/line3.png
参考
https://bbs.iobroker.cn/t/topic/1906
xcaly 发表于 2022-9-5 11:23
对着文档 https://nrchkb.github.io/wiki/service/air-purifier/
是的,现在我也换成了airpurifier,这个解决方法最佳
不过方法是通用的,也有可借鉴之处:lol 学习一下节点设置,发现流只有一个 “空净灯光变化”节点,重要的不在里面。 dscao 发表于 2022-1-10 11:43
学习一下节点设置,发现流只有一个 “空净灯光变化”节点,重要的不在里面。 ...
不好意思,导出失误,我更新了一下。 感谢楼主的分享! :lol楼主可以看看我之前发的一个帖子 tangxingjie1991 发表于 2022-1-11 08:31
楼主可以看看我之前发的一个帖子
四月份的帖子才看到,真是相见恨晚啊!
也许把fanv2换成AirPurifier 是个不错的选择!
问下NRCHKB设备的接口你是在哪个文档里查到的呢? 空气净化器在NR节点里面可以直接识别的,为什么非得识别成风扇呢
Solita 发表于 2022-1-11 10:13
空气净化器在NR节点里面可以直接识别的,为什么非得识别成风扇呢
确实可以,我这个有修改的余地
我才看到@tangxingjie1991 的帖子,受到了启发
wo laikankan 我来看看 研究一下