小米开源「Home Assistant米家集成」,让用户更“开放”地使用小米IoT智能设备
小米在GitHub上正式开源了「Home Assistant 米家集成」(Xiaomi Home Integration)项目。这是一个由小米官方提供支持的Home Assistant集成组件,旨在让用户能够在Home Assistant平台中无缝使用小米IoT智能设备。
一、项目背景与介绍
Home Assistant是一个基于Python 3开发的开源家庭自动化平台,它能够跟踪和控制家庭中的所有设备,并实现自动化控制。小米此次开源的米家集成项目,正是为了让更多用户能够享受到更加开放和便捷的智能设备使用体验。
二、项目特点
官方支持:米家集成及其使用的云端接口均由小米官方提供,确保了项目的稳定性和可靠性。OAuth 2.0登录:用户需要使用小米账号登录以获取设备列表,但米家集成不会在Home Assistant中保存用户的小米账号密码,而是通过OAuth 2.0的登录方式保障用户信息安全。消息订阅机制:米家集成向小米云MQTT Broker订阅关注的设备消息,当设备属性发生改变或产生设备事件时,能够第一时间获知并作出响应。三、消息收发原理
云端控制
米家集成向小米云MQTT Broker订阅设备消息。
设备属性变化或事件发生时,设备向小米云发送上行消息,MQTT Broker向米家集成推送订阅的设备消息。
米家集成需要控制设备时,通过小米云HTTP接口向设备发送控制消息。

本地控制
小米中枢网关内包含标准的MQTT Broker,实现订阅发布机制。
米家集成向小米中枢网关订阅设备消息。
设备属性变化或事件发生时,设备向小米中枢网关发送上行消息,MQTT Broker向米家集成推送订阅的设备消息。
米家集成需要控制设备时,向MQTT Broker发布设备控制消息,再经由小米中枢网关转发给设备。

四、使用要求与限制
Home Assistant版本要求:Core ≥ 2024.11.0,Operating System ≥ 13.0。米家集成目前支持大部分米家设备品类,但仍有小部分设备品类(蓝牙、红外及虚拟设备)不支持。米家集成支持多个小米账号同时登录,并支持不同账号的米家设备添加至同一个Home Assistant区域。米家集成支持通过小米中枢网关或内置中枢网关的米家设备实现本地化控制,但如果没有这些设备,则所有控制指令都会通过小米云发送。小米中枢网关仅在中国大陆可用。米家集成也能通过开启小米局域网控制功能实现部分本地化控制效果,但可能会引起一些异常,建议谨慎使用。五、地区与云服务
米家集成所用的云服务接口已部署在中国大陆、欧洲、印度、俄罗斯、新加坡、美国共六个地区的机房。用户需要在配置Home Assistant时选择用户所在地区,才能导入相应的米家设备。米家集成支持将不同地区的米家设备添加至同一个Home Assistant区域。六、安装方法
用户可以通过访问GitHub上的项目页面,按照提供的安装指南进行Home Assistant米家集成的安装和配置。具体安装方法请参考项目页面中的README文档。

七、总结
小米此次开源「Home Assistant米家集成」项目,不仅展示了其对开放生态的承诺,也为广大用户提供了更加灵活和便捷的智能设备使用体验。通过这一项目,用户能够更加自由地管理和控制自己的小米IoT智能设备,享受智能家居带来的便利和乐趣。