- 积分
- 508
- 金钱
- 450
- 威望
- 0
- 贡献
- 0
- HASS币
- 0
超级版主
- 积分
- 508
- 金钱
- 450
- HASS币
- 0
|
本帖最后由 SchumyHao 于 2018-5-7 16:59 编辑
新的hass的风扇接入请参考
https://github.com/syssi/xiaomi_fan
本帖方式已无效
本帖介绍一下如何将智米风扇加入HASS
更新: 我将这部分代码和配置上传到了我们HASS自己的git repo上. 大家可以下来配置.https://github.com/homeassistantchina/custom_components
这里的代码更新了python的库, 使用从之前库中提取出来的miio通用设备的控制, 并且我将其打包成python-miio.
这样以后在使用的时候就不用手动安装python库了, 在知道token的情况下, 直接配置HASS, 运行HASS, 会自动安装依赖的python-miio
更新:我有升级了一些风扇的操作, 将风扇所有的功能都集成到了HASS中, 可以说比APP支持的功能都完备.
大家可以从我的coding git repo 中下下来代码, 更新homeassistant文件夹下的配置.
coding地址: https://coding.net/u/SchumyHao/p/python-mirobo/git
例子
一: 背景
智米风扇就是米家里面卖799的那个"致敬"巴慕达风扇的那个家伙.
二: 感谢
感谢github上面无私奉献的各位大神, 没有他们也不会有HASS和这份帖子
感谢jghaanstra介绍了如何抓米家APP的包
感谢aholstenson介绍了如何解析抓包后的数据
感谢OpenMiHome介绍了米家wifi系列产品的数据包格式
感谢rytilahti介绍了小米智能扫题机器人接入HASS
智米风扇的接入就是在rytilahti的基础上完成的, 在最小程度上修改了一点代码(如果群友在使用后能给出不修改代码的方法, 请提出)
三: 步骤
1. 手动安装mirobo. 因为我上面我说了我修改了一点点rytilahti的代码, 所以需要使用我的git repo的代码.
点击下载链接下载代码. 或者从我的github上clone代码
树莓派安装:
将代码上传到树莓派上.
安装依赖的库apt-get install libffi-dev libssl-dev
切换用户到homeassistant, 并且active homeassitant.
进入代码的路径, 执行python ./setup.py install
docker安装
将代码上传到docker中.
执行docker的bash docker exec -it CONTAINER_NAME /bin/bash
剩余的步骤和树莓派的一样.
2. 提取电风扇的token
确保电风扇wifi能连接, 执行mirobo discover. 复制电风扇IP对应的token
3. 配置HASS
将代码中的custom_components/fan/smart_mi_fan.py复制到自己HASS的配置文件中.
配置fan到yaml
fan:
- platform: smart_mi_fan
host: !secret fan_ip
name: "livingroomfan"
token: !secret fan_key
启动HASS
4. 使用.
HASS网页上对电扇的控制, 只有开关电扇, 设置风速, 转动电扇头方向. 但是智米风扇还有自然风, 摇头等功能. 同时还有电量, 是否连接电源, 温湿度传感器. 所以更复杂的功能还需要介绍一下.
电扇的状态, 在attitudes中都显示出来了.
控制摇头, fan domain的set_direction service. 参数是电扇的entity_id和摇头的角度, 有效值有30 60 90 120
100级控制风扇速度, 智米风扇有100级风速可以调节, 但是App只给了四档. 可以通过fan domain的set_speed service. 参数是电扇的entity_id和speed值, 有效值在1-100
控制自然风, fan domain的oscillate service. 参数是电扇的entity_id和是否使用自然风, true是使用自然风, false使用直吹风.
5. 已知问题
风扇如果通过app或者物理按键变化状态, 没法及时的同步到HASS中. 现在是使用polling的方式读取电扇状态, 更新间隔是30s. 所以如果通过非HASS改变了电扇状态, 最多要等30s才能同步到HASS中,
|
|