智能家居折腾记 篇二:小米空气净化器2接入Domoticz
前文再续,书接上一回。
在上一篇中,介绍了如何将小米空气净化器2改造成新风系统,以及在威联通的虚拟机上,搭建Domoticz和MQTT Broker。传送门:
今天要给大家介绍一下,如何将小米空净2接入到Domoticz中,让Domoticz可以远程控制它。
将小米空净2接入Domoticz
说实话,楼主确实花了不少时间,走了不少弯路才把小米空净2接上Domoticz的,一直是装了miio后,就不知怎么在Domoticz中添加硬件,国内这方面的资料好像很少,一边必应翻译,一边找了一大圈国外论坛,才找到原来有这么个方便的插件,在这里就把整个过程详细介绍一下,希望能让大家少走弯路。(题外话,如果大家用HomeAssistant,装了miio后,直接在配置文件里面添加开关就可以控制小米空净2了,这点倒是比Domoticz来得直接。但不知什么原因,楼主不太喜欢HA的ymal配置方式,哈哈哈,所以决心一定要在Domoticz里面折腾出来)
好,开始前,需要有点仪式感。让我们先喊一下口号:生命不息,折腾不止!
为了能跟小米空气净化器2通讯,这里先要把环境搭建起来。先用Putty之类的工具,SSH上Domoticz服务器。
首先,需要确保python3 以及pip3安装好
Ubuntu 16.04好像默认装的是python2.7,不知道有无记错,各位可以确认一下,如果没有安装python3,请使用下面的命令安装:
sudo apt install python3 python3-pip
安装完成后,请使用python3 -V命令查看版本是否在3.5.2以上,如果是,那就可以继续了,否则请检查上面的步骤,如需帮助,请度娘或必应解决。
接下来,我们需要在服务器上安装两个工具
安装miio
第一个叫miio,是用python写的基于小米通讯协议的库,网址安装方法如下:
jack@lot-server:~$ pip3 install -U python-miio
如无意外,此刻服务器已经可以通过miio与小米空净2通讯了。然后用下面的命令获取小米空净2的IP地址及token:
jack@lot-server:~$ mirobo discover --handshake 1
查看返回值,如果返回值是类似下面的样子,那么说明已经成功了:
INFO:miio.device: IP 192.168.8.1: Xiaomi Mi AirPurifier - token: b'abcdef1234567890abcdef1234567890'
上面返回值中,IP就是你的小米空净2的IP地址(前提是你的小米空净2已经连上你家里的WiFi,具体怎么操作,请查阅小米说明书或者度娘、必应)。
然后,需要把上面的token记下来,用纸写下也行,copy出来另外找个记事本保存起来也行,总之要记住,后面的设置需要用到。
如果不行,尝试改一下参数,看看能否把IP及Token取回来:
jack@lot-server:~$ mirobo discover --handshake 0
如果上面的返回值中,token全部都是fffffffff或者0000000000,请参考下面的链接中的方法去操作获得token,因为楼主很顺利获得了token,这里就不细说了:网址
安装domoticz-AirPurifier
接下来安装第二个插件,叫“domoticz-AirPurifier”,是用python写的Domoticz插件,网址
插件的安装也很简单,进入Domoticz的安装目录,如果您是按照楼主上一篇的方法安装的,那么安装目录应该是在Home目录之中。输入以下命令进行安装:
jack@lot-server:~$ cd domoticz/plugins
jack@lot-server:~/domoticz/plugins$ git clone https://github.com/kofec/domoticz-AirPurifier
然后尝试看能否获得小米空净2的当前状态:
jack@lot-server:~/domoticz/plugins$ cd domoticz-AirPurifier/
jack@lot-server:~/domoticz/plugins/domoticz-AirPurifier$ ./MyAir.py IP token
其中,IP以及token就是上面miio获取的小米空净2的IP地址和token的值,如果你能获得类似下面的返回值,说明你已经成功90%了:
可以看到,通过这个python插件,能够获得小米空净2的详细状态值。
在Domoticz中添加小米空净2
接下来,重启Domoticz:
jack@lot-server:~$ sudo systemctl restart domoticz.service
然后,我们用浏览器登陆Domoticz,依次点击“设置”->“硬件”
在“类型”下拉菜单中,应该可以看到“AirPurifier"了:
留意下图红框中的内容,名称可以随便起,IP地址以及token就是上面miio获取的小米空净2的IP地址和token的值,这里如果填错了,Domoticz就不能与小米空净2通讯了,请留意。
然后,在设备菜单中,就应该能看到小米的几个传感器及开关了:
上图中,点击红框中的小笔按钮,就可以为小米空净2的每个传感器、开关命名了。
这里解释一下,Domoticz分为硬件、设备两种结构,每个硬件下面可能有N个设备。例如小米空净2,它是一个硬件,但这个硬件里面,可能包含了好几个设备(传感器、开关等),例如上图,小米空净2就包含了开关、模式、温湿度等好几个设备。
对应小米自家的APP一起来看,可能大家会清晰点,留意看对应颜色的框框,在小米APP读取到的值,跟在Domoticz读取到的值是一致的:
有必要解释一下的是,右边的”个人喜好“,对应的是在小米APP中,长按”最爱“按钮出现的对话框,那个是手动调整风扇转速的控制器。在Domoticz中,如果”模式“按钮选择了”最爱“,那么”个人喜好“中设定的风扇转速值将生效,与APP的逻辑其实是一致的(APP中点击了”最爱“,那么长按”最爱“按钮可对风扇转速进行调整)。
到此,大家已经可以通过手机,登陆Domoticz控制小米空净2了。Domoticz是有手机APP的,但,是收费的,大概30元,免费版的好多功能都用不了。大家可以在手机用浏览器打开Domoticz网页来控制,保存成书签或者直接放到主屏幕操作起来也是很方便的。
本来还想写一写如何刷Nodemcu固件的,但发现这篇的内容好像已经够多了,再写下去估计大家已经没兴趣继续看下去了,也怕大家消化不良,所以就留在下一篇继续写吧。
上面的过程,可能会有一些坑,毕竟不同的操作系统、不同的软件版本,都可能导致一些乱七八糟的问题,大家若遇到了,不要着急,不要怕,上面的每一个步骤,每一个插件,都附上了网址,虽然都是英文的,但读起来都比较容易理解,只要能耐心慢慢读,慢慢摸索,总会成功的。
好了,喊口号时间到了,一起来:生命不息,折腾不止!
下次再见!
苏哥拉米
校验提示文案
嗯似懂非懂
校验提示文案
月之海云之上
校验提示文案
aroscc
校验提示文案
什么值得批发吧
校验提示文案
casatift
校验提示文案
色熊一只
校验提示文案
yuanquan1009
校验提示文案
值友1778032712
log提示
2018-10-08 08:33:00.798 Error: (AirPurifier) failed to load 'plugin.py', Python Path used was '/home/joyko/domoticz/plugins/domoticz-AirPurifier/:/usr/lib/python35.zip:/usr/lib/python3.5/:/usr/lib/python3.5/plat-x86_64-linux-gnu:/usr/lib/python3.5/lib-dynload'.
试了好多方法不行,这个插件好像不是domoticz官方wiki上的
然后在plugins/domoticz-AirPurifier/READ.mk最后看到这么一段话。。
In case of issues, mostly plugin not visible on plugin list, check logs if plugin system is working correctly. See Domoticz wiki for resolution of most typical installation issues 去看看
校验提示文案
keroro军曹哥
校验提示文案
一纸枫叶
校验提示文案
闲趣帅
校验提示文案
闲趣帅
校验提示文案
一纸枫叶
校验提示文案
keroro军曹哥
校验提示文案
值友1778032712
log提示
2018-10-08 08:33:00.798 Error: (AirPurifier) failed to load 'plugin.py', Python Path used was '/home/joyko/domoticz/plugins/domoticz-AirPurifier/:/usr/lib/python35.zip:/usr/lib/python3.5/:/usr/lib/python3.5/plat-x86_64-linux-gnu:/usr/lib/python3.5/lib-dynload'.
试了好多方法不行,这个插件好像不是domoticz官方wiki上的
然后在plugins/domoticz-AirPurifier/READ.mk最后看到这么一段话。。
In case of issues, mostly plugin not visible on plugin list, check logs if plugin system is working correctly. See Domoticz wiki for resolution of most typical installation issues 去看看
校验提示文案
嗯似懂非懂
校验提示文案
yuanquan1009
校验提示文案
色熊一只
校验提示文案
casatift
校验提示文案
什么值得批发吧
校验提示文案
苏哥拉米
校验提示文案
aroscc
校验提示文案
月之海云之上
校验提示文案