分享小米空气净化器的Yahka配置

学习了一段时间,现在时候回馈社会了 :smiley:
声明一下,我这是第一代小米净化器,所以如果有不同版本的变量名可以提出来我一起汇总


首先是安装Homekit (即Yahka,但搜索需要找Homekit
以后都会称Yahka,而HomeKit则特指手机里的APP)和 Xiaomi miIO protocol device 两个适配器,这个不用多说了,有问题可以提问,我再回来补充1


其次是配置Xiaomi miIO protocol device 只需要填入ip和token即可,这个也一样不多说,有问题可以提问,我再回来补充2

配置好后应该可以在对象里找到这样的内容,其中包含了需要的各种变量,后面会引用这些变量:

Snipaste_2020-04-10_22-07-42


接下来是重点配置Yahka ,打开配置界面,点击添加设备,输入名字(例如:空气净化器):

Snipaste_2020-04-10_22-10-17

如果是第一次使用,提醒一下,一开始的那个桥需要先配置好,Username地址在关联了HomeKit之后如果更改需要重新关联,然后Pincode是你配对时候需要在HomeKit中输入的八位数字:
Snipaste_2020-04-10_22-14-57

回到刚才添加的设备空气净化器里,添加新的服务,比如湿度,服务类型就是HumidtySensor(湿度传感器,读取空气净化器里的湿度变量,我们先弄个简单的 :stuck_out_tongue_winking_eye:):

Snipaste_2020-04-10_22-20-43

在下面的特征值表格里只需要填写一个特征值CurrentRelativeHumidity,关联到刚才对象里的湿度Humidty即可:

Snipaste_2020-04-10_22-28-35

第一个服务添加完成,关联到HomeKit看看吧(可以看到我还添加了一个温度传感器的服务,所以可以通过这台净化器显示温湿度):
(这张图的排版好奇怪,MD不熟悉不懂怎么回事)

当然了,还可以再添加一个空气质量传感器服务,用于显示空气质量,但我发现好像没法显示在状态里,只能在图标上看到优良中差等状态,有知道什么办法的请指教一下:

暂且添加了前三个服务

关于空气质量传感器这里的特征值,我想说一下,虽然PM2.5浓度可以直接读取,但是图标上显示的空气质量却要稍微换算一下,我做的也就是个很粗糙的计算,具体可以看下面第二张图,就是把浓度除以50后加上1得到1-5的空气质量指数,比如如果小于50 ug/L 就是1,质量优的意思,再比如80就是2,质量良,但是大于250就会变成6,不懂会发生什么,所以说很粗糙的计算,但我估计家里是见不到那么大的浓度了也就先这样了 :stuck_out_tongue_winking_eye:
Snipaste_2020-04-10_23-07-57


接下来是类似但更复杂一点的净化器本体了, 先上图,因为虽然听起来复杂但是我觉得直接抄作业应该也没问题:


Snipaste_2020-04-10_23-23-27
Snipaste_2020-04-10_23-23-40

然后解释一下

  1. RotationSpeed读取了最爱模式里的净化器适用房屋范围,其实就是转速,我试了一下我这台净化器的这个变量是0-16,然后这个变量在HomeKit中的范围是0-100,所以就ScaleInt就行,这个特征值是个可以互动的滑动条
  2. Active读取了开关,简单的mapping,true是开,在这个HomeKit里是1,false是关,在HomeKit里是0,这个特征值就是可以互动的总开关
  3. CurrentAirPurifierState类似,2开,0关,这个特征值是你在HomeKit中按下那个净化器的按钮后显示的净化器状态(或者
  4. TargetAirPurifierState的话,在HomeKit里,0称之为手动,1称之为自动,我关联了小米净化器的最爱模式(对应1里面那个滑动条可以调整转速)和自动模式,这个特征值是个详情里可以互动的模式开关

具体还是得看图,红色是第3条说的状态,绿色是第2条说的开关,黄色是第1条说的滑动条,最后紫色就是第4条说的模式开关了

IMG_7219.PNG IMG_7222.PNG

再附上一张打开的状态,显示滑动条的效果:

IMG_7221.PNG

大功告成! :partying_face:

谢谢知识的传递,奥利给

1 个赞

哇塞,正好需要。立马按照这个办了,成功了。非常感谢! :smiling_face_with_three_hearts:

1 个赞

你好,图有些挂了 能修复下吗?最近也在折腾净化器