小米在 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 配置文件。一旦该文件泄露,其他人可能会冒用你的身份登录。

相关链接

相关推荐
数智联AI团队22 分钟前
AI搜索引领开源大模型新浪潮,技术创新重塑信息检索未来格局
人工智能·开源
朝风工作室4 小时前
开源一款轻量级跨网段 IPC 设备发现与网络配置工具
网络·开源
养军博客5 小时前
信息导论 物联网(internet of tings)
物联网
知识即是力量ol7 小时前
研发实战:Git 规范化开发全流程指南
git·gitee·github
LitchiCheng8 小时前
Mujoco 开源机械臂 RL 强化学习避障、绕障
人工智能·python·开源
知识即是力量ol9 小时前
Git 快速入门 (实习生视角)
git·gitee·github
我送炭你添花11 小时前
开源TR-069 ACS(自动配置服务器)GenieACS 的四个主要模块详细介绍
运维·服务器·开源
冬奇Lab11 小时前
一天一个开源项目(第9篇):NexaSDK - 跨平台设备端 AI 运行时,让前沿模型在本地运行
人工智能·开源
FIT2CLOUD飞致云11 小时前
飞致云开源社区月度动态报告(2026年1月)
开源·飞致云·月度报告·开源日报
fu的博客12 小时前
Git从删库到跑路
git·gitee·github