Home Assistant(hass)是一个开源的基于Python的智能家居控制系统,可以连接很多品牌的智能家居并且控制,并且相对于那些品牌的智能家居有更多的自由和控制性。
【“魔镜”系列】智能家居控制
开源的Home Assistant家居控制系统
Home Assistant(hass)是一个开源的基于Python的智能家居控制系统,可以连接很多品牌的智能家居并且控制,并且相对于那些品牌的智能家居有更多的自由和控制性。
魔镜和Home Assistant之间的通信
Home Assistant有完整的Rest API,点击这里进入,魔镜系统通过Rest格式的http与hass进行通信
使用这些API需要有权限,就是header要带一个token,可以在你的hass中获取长期的token(长期访问令牌),该令牌有十年有效期,token格式见上述网址
我的智能场景(自动化)
回家和离家
我的智能家居设备都会连接到路由器,手机也会连接到路由器,因为每次连接到路由器这些设备的的IP都不会改变,通过ping或者hass的nmap_tracker插件可以判断这些设备在不在线,因为我的手机常年保持WIFI开启状态,回家会自动连接,离家也会因为距离断开,可以通过这个判断我是否在家(5秒钟判断一次,20秒没连上就判断为离家状态)
如果回家:播放欢迎回家语音并且打开顶灯然后打开魔镜系统
如果离家:关闭所有设备且关闭魔镜系统
关于魔镜系统的打开关闭是因为开启状态会占用快一半的3b+的cpu,比较费电,并且打开屏幕也会费电日出和日落
hass自带一个日出日落的状态,初始化时会判断你的位置,通过这个取得日出日落时间
日出:关闭顶灯
日落:开启顶灯,因为我住的地方比较阴,所以设置了偏移量提前日落四十分钟执行睡觉动作
我十二点准时睡觉,零点准时触发会关闭大灯且关闭魔镜系统
温湿度固定值提示
在温度为30和湿度90会提示“当前温湿度多少多少,求求你开开除湿机/空调吧”
其实可以做到直接控制空调和除湿机,但是我不想太强制就只做了提示
我连接的设备
米家开关
连接了两个,一个控制热水器,一个控制魔镜的屏幕开关
热水器:睡觉前把热水器的烧水按钮打开但是不打开米家开关,早上躺在床上说一句“魔镜魔镜,打开热水器”就可以在床上滩一会儿,然后起来后喝热水
屏幕开关:现在是控制树莓派的屏幕开关,我用剪刀测试发现通过短接两个点可以实现屏幕的开关,后续会研究研究可不可以用GPIO实现控制屏幕开关,然后把这个腾给台灯用米家空调伴侣
有个空调伴侣的插件:源码地址,但是不支持我这个版本,所以现在以开关形式控制空调
飞利浦智能灯泡
可以调节亮度和色温,我用hass调用后发现关灯状态下需要调用两次,开灯状态下调用一次API,然后范围是:亮度[1-100],色温[175-333]
米家万能遥控器
通过xiaomi_miio.remote_learn_command学习红外码,然后使用remote.send_command发送红外码,我可以通过hass控制电视、机顶盒、风扇这些,空调的红外码可以学习但是发射没反应不知道为什么,通过米家APP发射的可以使用
如何接入米家设备
hass接入米家设备需要取得token,米家APP的5.4.54版本有个bug,会在日志文件中打印token等信息,在手机SmartHome/logs/Plug_Devicemanager/日期/路径中找到日志文件打开可以找到json格式的数据,其中包含token、host等信息
此为博主副博客,留言请去主博客,转载请注明出处:https://www.baby7blog.com/myBlog/77.html