小米扫地机加入homekit教程

ruike
2020-06-09 / 0 评论 / 3 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年01月11日,已超过541天没有更新,若内容或图片失效,请留言反馈。

一、Token的获取:

小米Wifi智能家居需要获取32位的token才可以接入HA

下面大概说一下IOS获取Token的方法,Android的更容易一些,可以自行了解。

  1. 苹果手机安装米家App, 登录小米账号并确定设备已绑定已初始化
  2. 安装itunce, 不加密备份手机
  3. 安装iBackup Viewer,打开你刚才的备份
  4. 选最后面的选择Raw Files,右上角切好Tree View视图,找到AppDomain-com.xiaomi.mihome,选择右边的Documents/xxxx_mihome.sqlite,点击右上角Export导出文件
  5. 电脑上使用Navicat等数据库软件打开导出的Sqlite文件,找到表ZDEVICE,可以查看对应的ZNAME或ZMODEL找到你需要加入设备的ZTOKEN(ios上是96位)
  6. 这个网页上将96位Token转成32位:
    00000000000000000000000000000000
    -w752
  7. 将最终获取到的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,然后就可以在实体里看到扫地机啦
-w362

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_timeminutes 分钟最近清洁时间
cleaned_areasquare meter 平方米最近清洁区域统计
main_brush_lefthours 小时主刷剩余寿命
side_brush_lefthours 小时边刷剩余寿命
filter_lefthours 小时滤网剩余寿命
cleaning_count 总清洁通道数
total_cleaned_areasquare meter 平方米总清洁范围
total_cleaning_timeminutes 分钟总清洁时间

五、声明

本教程发于国内homeassistant论坛和个人博客,欢迎转发,但请保留出处,感谢

六、另附安卓版获取token的简单办法

原因在于米家 5.4.54 版本的 App 有一个小 bug,其中写入内部存储器的日志文件暴露了小米 miio 设备的设备 token。

安装米家 v5.4.54 版本(下载地址)
登录小米账户等待设备连接,正常操作一遍设备
使用文件资源管理器导航到
/sdcard/SmartHome/logs/Plug_Devicemanager/
打开名称为 yyyy-mm-dd.txt 的日志文件
在文档中搜索 token 或你需要的设备名称

0

评论 (0)

取消