『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 33871|回复: 77

将智米风扇加入HomeAssistant

  [复制链接]

9

主题

48

帖子

500

积分

超级版主

Rank: 8Rank: 8

积分
500
金钱
442
HASS币
0

教程狂人卓越贡献突出贡献

发表于 2017-5-28 21:12:10 | 显示全部楼层 |阅读模式
本帖最后由 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中,


回复

使用道具 举报

3

主题

219

帖子

930

积分

高级会员

Rank: 4

积分
930
金钱
711
HASS币
0
发表于 2017-5-28 22:21:49 | 显示全部楼层
支持!!!!!
回复

使用道具 举报

24

主题

604

帖子

3400

积分

元老级技术达人

积分
3400
金钱
2791
HASS币
0

卓越贡献

发表于 2017-5-28 22:24:52 | 显示全部楼层
大神威武!!哈哈哈!!不错不错!!感谢分享!!
回复

使用道具 举报

30

主题

999

帖子

4117

积分

论坛元老

Rank: 8Rank: 8

积分
4117
金钱
3113
HASS币
0

活跃会员

发表于 2017-5-28 22:28:35 | 显示全部楼层
谢谢老妖大神!!
回复

使用道具 举报

24

主题

604

帖子

3400

积分

元老级技术达人

积分
3400
金钱
2791
HASS币
0

卓越贡献

发表于 2017-5-29 22:18:13 | 显示全部楼层
感谢感谢!!多谢了!!虽然没风扇。。
回复

使用道具 举报

0

主题

20

帖子

72

积分

注册会员

Rank: 2

积分
72
金钱
52
HASS币
0
QQ
发表于 2017-5-29 22:34:15 | 显示全部楼层
感谢感谢!!
回复

使用道具 举报

18

主题

353

帖子

2236

积分

金牌会员

North丶

Rank: 6Rank: 6

积分
2236
金钱
1878
HASS币
0

活跃会员卓越贡献

发表于 2017-5-30 12:47:30 来自手机 | 显示全部楼层
厉害了 虽然我还没有风扇
回复

使用道具 举报

0

主题

19

帖子

198

积分

注册会员

Rank: 2

积分
198
金钱
179
HASS币
0
发表于 2017-5-31 10:31:57 | 显示全部楼层
三: 步骤
1. 手动安装mirobo. 因为我上面我说了我修改了一点点rytilahti的代码, 所以需要使用我的git repo的代码.
    点击下载链接下载代码. 或者从我的github上clone代码
    树莓派安装:
        将代码上传到树莓派上.
        安装依赖的库apt-get install libffi-dev libssl-dev
        切换用户到homeassistant, 并且active homeassitant.
        进入代码的路径, 执行python ./setup.py install

大神这个具体怎么操作能否讲一下 能否像教程那种一条条命令复制的?
回复

使用道具 举报

6

主题

556

帖子

3476

积分

论坛元老

Rank: 8Rank: 8

积分
3476
金钱
2920
HASS币
0
发表于 2017-6-2 19:34:41 | 显示全部楼层
谢谢分享
回复

使用道具 举报

6

主题

556

帖子

3476

积分

论坛元老

Rank: 8Rank: 8

积分
3476
金钱
2920
HASS币
0
发表于 2017-6-4 03:13:08 | 显示全部楼层
感谢感谢!!多谢了!!虽然没风扇。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-24 18:36 , Processed in 0.057974 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表