开源地址:https://github.com/XiaoMi/ha_xiaomi_home
在 12 月 17 号后,可以看到该项目 Star 数直线飙升:
根据项目介绍,米家集成是一个由小米官方提供支持 Home Assistant 的集成组件,它可以让您在 Home Assistant 中使用小米 IoT 智能设备。
Home Assistant(简称HA)是一个开源的自动化平台,基于Python开发,用于家庭自动化,具有灵活的组件和集成系统。
Home Assistant 允许用户将各种智能设备和系统连接到一个统一的界面上,从而实现对家庭环境的集中控制和管理。
Home Assistant 通过提供灵活的配置和强大的自动化功能,使得用户能够根据自己的需求定制智能家居系统,实现设备间的智能联动,
Home Assistant:https://www.home-assistant.io/
Home Assistant不依赖于特定的制造商或品牌,可以集成来自不同品牌的智能设备,为用户提供一个开放且可定制的智能家居体。
Home Assistant 核心功能包括实时状态更新、自动化控制、网络触发、状态面板、Web服务接口、语音控制、通知服务和插件系统。
Home Assistant 支持多种通信协议,使得与不同品牌的智能设备协同工作成为可能。
Home Assistant 解决如果你买了很多家电,各种类型家电 APP 都要装一个的问题。
目前,该项目支持基于小米局域网控制功能实现的本地化部署,且已经完成了对大部分米家设备的适配支持。
米家集成使用 OAuth 2.0 的登录方式,不会在 Home Assistant 中保存用户的小米账号密码。
但由于 Home Assistant 平台的限制,登录成功后,用户的小米用户信息(包括设备信息、证书、 token 等)会明文保存在 Home Assistant 的配置文中。因此,用户需要保管好自己 Home Assistant 配置文件。一旦该文件泄露,其他人可能会冒用用户的身份登录。
云端控制架构:
米家集成向小米云 MQTT Broker 订阅关注的设备消息。当设备属性发生改变或产生设备事件时,设备向小米云发送上行消息, MQTT Broker 向米家集成推送订阅的设备消息。由于米家集成不需要向云端轮询以获取设备当前的属性值,因此米家集成能第一时间获知设备属性变化或事件发生。得益于消息订阅机制,米家集成只在配置完成时向云端查询一次所有的设备属性,对云端产生的访问压力很小。
米家集成需要控制设备时,通过小米云 HTTP 接口向设备发送控制消息。设备收到小米云发来的下行消息后做出响应。
本地控制
小米中枢网关内包含一个标准的 MQTT Broker ,实现了完整的订阅发布机制。米家集成向小米中枢网关订阅关注的设备消息。当设备属性发生改变或产生设备事件时,设备向小米中枢网关发送上行消息, MQTT Broker 向米家集成推送订阅的设备消息。
米家集成需要控制设备时,向 MQTT Broker 发布设备控制消息,再经由小米中枢网关转发给设备。设备收到小米中枢网关发来的下行消息后做出响应。
安装
Home Assistant 版本要求:
Core≥2024.11.0
Operating System≥13.0
方法 1:使用 git clone 命令从 GitHub 下载
cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
推荐使用此方法安装米家集成。当您想要更新至特定版本时,只需要切换至相应的 Tag 。
例如,更新米家集成版本至 v1.0.0
cd config/ha_xiaomi_home
git checkout v1.0.0
/config
方法 2: HACS
HACS > Overflow Menu > Custom repositories > Repository: https://github.com/XiaoMi/ha_xiaomi_home.git & Category: Integration > ADD
米家集成暂未添加到 HACS 商店,敬请期待。
方法 3:通过 Samba 或 FTPS 手动安装
下载并将 custom_components/xiaomi_home 文件夹复制到 Home Assistant 的 config/custom_components 文件夹下。