735473216 发表于 2022-1-10 10:17:44

强迫症之【小米空净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





735473216 发表于 2022-9-5 17:13:48

xcaly 发表于 2022-9-5 11:23
对着文档 https://nrchkb.github.io/wiki/service/air-purifier/

是的,现在我也换成了airpurifier,这个解决方法最佳
不过方法是通用的,也有可借鉴之处:lol

dscao 发表于 2022-1-10 11:43:38

学习一下节点设置,发现流只有一个 “空净灯光变化”节点,重要的不在里面。

735473216 发表于 2022-1-10 11:52:44

dscao 发表于 2022-1-10 11:43
学习一下节点设置,发现流只有一个 “空净灯光变化”节点,重要的不在里面。 ...

不好意思,导出失误,我更新了一下。

mic365 发表于 2022-1-10 12:09:22

感谢楼主的分享!

tangxingjie1991 发表于 2022-1-11 08:31:01

:lol楼主可以看看我之前发的一个帖子

735473216 发表于 2022-1-11 08:43:47

tangxingjie1991 发表于 2022-1-11 08:31
楼主可以看看我之前发的一个帖子

四月份的帖子才看到,真是相见恨晚啊!
也许把fanv2换成AirPurifier 是个不错的选择!

问下NRCHKB设备的接口你是在哪个文档里查到的呢?

Solita 发表于 2022-1-11 10:13:33

空气净化器在NR节点里面可以直接识别的,为什么非得识别成风扇呢

735473216 发表于 2022-1-11 10:23:17

Solita 发表于 2022-1-11 10:13
空气净化器在NR节点里面可以直接识别的,为什么非得识别成风扇呢

确实可以,我这个有修改的余地
我才看到@tangxingjie1991 的帖子,受到了启发

xiaoes 发表于 2022-1-11 18:49:40

wo laikankan 我来看看

栖凤居 发表于 2022-2-18 02:56:02

研究一下
页: [1] 2 3 4 5
查看完整版本: 强迫症之【小米空净2s】在hk中必须只能占一个格子!