一、Token的获取:
小米Wifi智能家居需要获取32位的token才可以接入HA
下面大概说一下IOS获取Token的方法,Android的更容易一些,可以自行了解。
- 苹果手机安装米家App, 登录小米账号并确定设备已绑定已初始化
- 安装itunce, 不加密备份手机
- 安装iBackup Viewer,打开你刚才的备份
- 选最后面的选择Raw Files,右上角切好Tree View视图,找到AppDomain-com.xiaomi.mihome,选择右边的Documents/xxxx_mihome.sqlite,点击右上角Export导出文件
- 电脑上使用Navicat等数据库软件打开导出的Sqlite文件,找到表ZDEVICE,可以查看对应的ZNAME或ZMODEL找到你需要加入设备的ZTOKEN(ios上是96位)
- 在这个网页上将96位Token转成32位:
00000000000000000000000000000000
- 将最终获取到的Token保存起来。注意,每次重置Wifi或设备,Token都会变,到时候请重新获取。
二、接入HomeAssistant:
1、 编辑 configuration.yaml文件,加入如下配置:
vacuum:
- platform: xiaomi_miio
name: 'robot'
host: 192.168.1.x # 你的扫地机IP
token: 53xxxxxx74 # 上面获取到的Token
model: rockrobo.vacuum.v1 # 你的扫地机型号(可不用此项)
2、 编辑 customize.yaml文件,加入如下配置:
vacuum.robot:
friendly_name: '小米扫地机'
homebridge_hidden: false
homebridge_name: 'robot'
emulated_hue_hidden: true
3、检查配置无误后,重启Homeassistant,然后就可以在实体里看到扫地机啦
4、不过这时候在Apple的Homekit里还看不到扫地机,因为Homekit不支持扫地机,我们往下看
三、接入Homekit:
因为Homekit不支持扫地机这种设备,所以我们需要将扫地机在Homebridge中声明称按键即可:
1、编辑 customize.yaml文件,加入一条配置:
homebridge_switch_type: switch
完整版:
vacuum.robot:
friendly_name: '小米扫地机'
homebridge_hidden: false
homebridge_name: 'robot'
emulated_hue_hidden: true
homebridge_switch_type: switch
2、检查配置无误,重启HA即可在HK里刷出扫地机啦,开关只有两个状态:开始清扫和回充,应该可以满足大部分需求了。
3、如果不满足,可以根据以下接口做更细化的对接
四、附录-小米扫地机接口与属性
(一)接口:
1、HA中所有扫地机器人的通用指令:
turn_on、 turn_off、 start_pause、 stop、 return_to_home、 locate、 set_fanspeed、 send_command
2、远程启动
vacuum/xiaomi_remote_control_start
属性 | 可选性 | 描述 |
---|---|---|
entity_id | 是 | 指明 ID 仅对部分设备有效,否则全局响应 |
3、退出远程控制模式
vacuum/xiaomi_remote_control_stop
属性 | 可选性 | 描述 |
---|---|---|
entity_id | 是 | 指明 ID 仅对部分设备有效,否则全局响应 |
4、远程控制扫地机器人
确保操作前已经开启远程控制模式 remote_control_start
vacuum/xiaomi_remote_control_move
属性 | 可选性 | 描述 |
---|---|---|
entity_id | 是 | 指明 ID 仅对部分设备有效,否则全局响应 |
velocity | 否 | 速度,值区间为 -0.29 至 0.29 |
rotation | 否 | 旋转, 值区间为 -179° 至 179° |
duration | 否 | 持续时间 |
5、进入遥控模式
执行完退出手动控制模式
vacuum/xiaomi_remote_control_move_step
属性 | 可选性 | 描述 |
---|---|---|
entity_id | 是 | 指明 ID 仅对部分设备有效,否则全局响应 |
velocity | 否 | 速度,值区间为 -0.29 至 0.29 |
rotation | 否 | 旋转, 值区间为 -179° 至 179° |
duration | 否 | 持续时间 |
(二)属性:
1、HA上所有扫地机器的默认属性 [vacuum component attributes]
battery_icon、 cleaned_area、 fan_speed、 fan_speed_list、 status、 params
2、专有属性
属性 | 单位 | 说明 |
---|---|---|
do_not_disturb | 勿扰模式开启关闭状态 | |
cleaning_time | minutes 分钟 | 最近清洁时间 |
cleaned_area | square meter 平方米 | 最近清洁区域统计 |
main_brush_left | hours 小时 | 主刷剩余寿命 |
side_brush_left | hours 小时 | 边刷剩余寿命 |
filter_left | hours 小时 | 滤网剩余寿命 |
cleaning_count | 总清洁通道数 | |
total_cleaned_area | square meter 平方米 | 总清洁范围 |
total_cleaning_time | minutes 分钟 | 总清洁时间 |
五、声明
本教程发于国内homeassistant论坛和个人博客,欢迎转发,但请保留出处,感谢
六、另附安卓版获取token的简单办法
原因在于米家 5.4.54 版本的 App 有一个小 bug,其中写入内部存储器的日志文件暴露了小米 miio 设备的设备 token。
安装米家 v5.4.54 版本(下载地址)
登录小米账户等待设备连接,正常操作一遍设备
使用文件资源管理器导航到
/sdcard/SmartHome/logs/Plug_Devicemanager/
打开名称为 yyyy-mm-dd.txt 的日志文件
在文档中搜索 token 或你需要的设备名称
评论 (0)