小米在 GitHub 开源了「Home Assistant 米家集成」,允许用户在 Home Assistant 中使用小米 IoT 智能设备!

项目简介

「米家集成」是一个由小米官方提供支持的 Home Assistant 的集成组件,它可以让你在 Home Assistant 中使用小米 IoT 智能设备。

目前,米家集成支持大部分米家设备品类,但仍有一小部分设备品类(蓝牙、红外及虚拟设备)并不支持。不过,相信以小米的作风,米家集成将会逐渐覆盖更多米家平台产品,无论是官方出品还是第三方制造。

米家集成允许用户同时登录多个小米账号,且不受地区限制。这意味着,你可以在同一 Home Assistant 系统中操作或设置来自不同账号、不同地区的米家设备。根据官方信息,米家集成的接口已在中国大陆、欧洲、印度、俄罗斯、新加坡和美国六个地区的机房部署,全球范围内均可使用。

Home Assistant 是一个基于 Python 3 开发的用于家庭自动化的免费开源软件。它作为集成平台和智能家居中心,允许用户控制智能家居设备。该软件强调本地控制和隐私,设计独立于任何特定的物联网生态系统。

控制方式

米家集成支持两种消息收发方式,一种是云端控制,另一种是本地控制。米家集成支持通过小米中枢网关或内置中枢网关的米家设备实现本地化控制。如果没有小米中枢网关或其他带中枢网关功能的设备,那么所有控制指令都会通过小米云发送。

云端控制

米家集成向小米云 MQTT Broker 订阅关注的设备消息。当设备属性发生改变或产生设备事件时,设备向小米云发送上行消息, MQTT Broker 向米家集成推送订阅的设备消息。由于米家集成不需要向云端轮询以获取设备当前的属性值,因此米家集成能第一时间获知设备属性变化或事件发生。得益于消息订阅机制,米家集成只在配置完成时向云端查询一次所有的设备属性,对云端产生的访问压力很小。

米家集成需要控制设备时,通过小米云 HTTP 接口向设备发送控制消息。设备收到小米云发来的下行消息后做出响应。

本地控制

小米中枢网关内包含一个标准的 MQTT Broker ,实现了完整的订阅发布机制。米家集成向小米中枢网关订阅关注的设备消息。当设备属性发生改变或产生设备事件时,设备向小米中枢网关发送上行消息, MQTT Broker 向米家集成推送订阅的设备消息。

米家集成需要控制设备时,向 MQTT Broker 发布设备控制消息,再经由小米中枢网关转发给设备。设备收到小米中枢网关发来的下行消息后做出响应。

安装方式

小米官方提供了三种集成的安装方法,分别是 Git 安装、HACS、通过 SambaFTPS 手动安装。推荐使用第一种方法安装米家集成,这样当你想要更新至特定版本时,只需要切换至相应的 Tag,管理起来更方便。

使用 git clone 命令从 GitHub 下载并安装,命令如下:

bash 复制代码
cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config

不过,无论使用哪一种方式安装,都需要先符合以下条件:

  • Home Assistant Core 的版本 ≥ 2024.11.0;
  • Home Assistant 操作系统的版本 ≥ 13.0。

安装完成后就可以配置了,使用小米账号登录,登录成功后,会弹出会话框"选择家庭与设备",选择需要添加的米家家庭,将家庭内的所有设备将导入 Home Assistant 即可。

安全性

米家集成及其使用的云端接口由小米官方提供,使用时,你需要使用小米账号登录以获取设备列表。米家集成使用 OAuth 2.0 的登录方式,不会在 Home Assistant 中保存你的小米账号密码。但由于 Home Assistant 平台的限制,登录成功后,你的小米用户信息(包括设备信息、证书、 token 等)会明文保存在 Home Assistant 的配置文件中。因此,你需要保管好自己 Home Assistant 配置文件。一旦该文件泄露,其他人可能会冒用你的身份登录。

相关链接

相关推荐
独隅7 小时前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
fthux7 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
冬奇Lab8 小时前
开源项目第183期:Ontology Playground — 微软出品的本体论可视化学习工具,零后端、浏览器直接运行
人工智能·microsoft·开源
NocoBase9 小时前
如何用 AI 和 NocoBase 搭建一套可投入生产的 CRM
低代码·ai·开源·无代码·无代码开发平台
小僧景贤9 小时前
单片机全方位调试实战指南:串口/RTT/逻辑分析仪/示波器/内核排错分层避坑教程
单片机·嵌入式硬件·物联网
马拉AI10 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
YuePeng12 小时前
一个注解起家,25 个模块收尾:Erupt 的生态版图长这样
后端·github
zt1985q12 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
JEECG低代码平台14 小时前
JimuChatBI 重磅发布 v1.0:首款开源对话式 Chat2BI 智能问数产品
开源
我是若尘14 小时前
发布分支落后于主干,MR 全是冲突?聊聊业界怎么治这个“祖传”难题
github