IoT物联网技术 02月10日
打开格局、拥抱开源,米家智能设备接入 Home Assistant 平台技术原理和操作实战
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

小米米家近日在GitHub上开源“Home Assistant米家集成”项目,标志着其在智能家居领域的进一步开放与合作。该项目支持将米家IoT智能设备接入Home Assistant,实现云端和局域网控制,并支持多账号登录及多个地区。通过MQTT Broker与小米云通信,实现设备状态的实时更新和控制指令的快速响应。小米米家已接入超过261个品类、6000多个型号的智能设备,设备激活量超过5.27亿,成为9000+企业的选择。此次开源为用户提供了更多选择和可能性,助力用户构建个性化的智能家居环境。

💡 **核心功能**:Home Assistant 米家集成支持米家设备导入到 Home Assistant 管理,支持多账号同时登录,支持本地控制和云端控制,以及Action 调试模式,便于用户进行个性化配置和问题排查。

☁️ **云端控制模式**:米家集成通过MQTT Broker与小米云通信,实现设备状态的实时更新。设备属性变化或事件发生时,设备向小米云发送消息,MQTT Broker推送订阅的设备消息,无需轮询,降低云端访问压力。

🌐 **本地控制模式**:在同一局域网内,米家集成通过小米中枢网关内的MQTT Broker,实现设备间的消息订阅与发布,从而控制设备。这种模式依赖于小米中枢网关,实现了完整的订阅发布机制。

🔒 **账号安全性**:用户需使用小米账号登录以获取设备列表。登录成功后,用户的小米用户信息会明文保存在Home Assistant的配置文件中,因此用户需妥善保管配置文件,防止信息泄露。

原创 * 2024-12-30 08:19 上海

开源让世界更美好!

米家构建智能家居生态的新思路

近日,小米米家智能官方在GitHub上开源了“Home Assistant米家集成”项目,支持将小米家 IoT 智能设备接入Home Assistant,实现云端控制和局域网控制,支持多账号登录,支持中国大陆、欧洲、印度、俄罗斯、新加坡和美国等多个地区,这也标志着米家在智能家居领域的进一步开放和合作。

Home Assistant 米家集成

Home Assistant 米家集成核心功能:

米家集成对 Home Assistant 版本要求:

Core ≥ 2024.4.4Operating System ≥ 13.0

米家官方推荐使用 Git 安装米家集成,便于版本更新管理

# 进入 Home Assistant 配置目录cd config
# 克隆项目代码git clone https://github.com/XiaoMi/ha_xiaomi_home.git
# 进入项目目录并运行安装脚本cd ha_xiaomi_home./install.sh /config

通过 Git 更新到特定版本,例如 v1.0.0

cd config/ha_xiaomi_homegit checkout v1.0.0./install.sh /config

ha_xiaomi_home 目录结构:

miot:核心代码。miot/miot_client:每添加一个用户需要增加一个 miot_client 实例。miot/miot_cloud:云服务相关功能,包括 OAuth 登录、 HTTP 接口功能(获取用户信息、发送设备控制指令等)。miot/miot_device:设备实体,包含设备信息以及属性、事件、方法的处理逻辑。miot/miot_mips:消息总线,用于订阅和发布消息。miot/miot_spec:解析 MIoT-Spec-V2 。miot/miot_lan: 设备局域网控制,包括设备发现、设备控制等。miot/miot_mdns: 中枢网关服务局域网发现。miot/miot_network:获取网络状态和网络信息。miot/miot_storage: 集成文件存储。miot/test:测试脚本。config_flow:配置流程。

Home Assistant 米家集成原理

云端控制模式

Home Assistant 米家集成云端控制模式使用了MQTT Broker与小米云通信,支持实时设备状态更新。

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


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


本地控制模式

Home Assistant 米家集成本地控制模式需要设备与Home Assistant 保持在同一局域网内。

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


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

米家智能家居生态平台

小米米家智能已经接入了超过261个品类,6000多个型号的智能设备,设备激活量已超过5.27亿,为用户提供了丰富的产品选择。作为一个全面开放的平台,小米米家已经成为9000+企业的信任与选择。

小米米家的“Home Assistant米家集成”开源项目,为用户提供了更多的选择和可能性,用户能够根据自己的需求和喜好,创建属于自己的智能家居环境。例如,设置在特定时间段进行开关灯、洗衣服、煮饭等操作。

小米米家“Home Assistant米家集成”开源项目,已支持设备汇总:

Home Assistant 米家集成操作实战

小米账号登录

设置 > 设备与服务 > 添加集成 > 搜索“Xiaomi Home” > 下一步 > 请点击此处进行登录 > 使用小米账号登录。



修改跳转地址为我们本地IP即可访问


添加 MIoT 设备

登录成功后,会弹出会话框“选择家庭与设备”。您可以选择需要添加的米家家庭,该家庭内的所有设备将导入 Home Assistant 。



修改配置项

在会话框“配置选项”中,可选择需要变更的配置项。您可以修改用户昵称或更新从米家 APP 导入的设备列表。


方法:设置 > 设备与服务 > 已配置 > Xiaomi Home > 配置 > 选择需要变更的配置项


Action 调试模式

开启Action 调试模式后,您可手动向设备发送带参数的 Action 控制指令。发送带参数的 Action 控制指令的用户入口显示为一个文本实体。


方法:设置 > 设备与服务 > 已配置 > Xiaomi Home > 配置 > Action 调试模式


账号安全性

小米米家集成及其使用的云端接口都由小米官方提供,用户在使用时需要使用小米账号登录来获取设备列表。不过由于Home Assistant平台的限制,登录成功后,用户的小米用户信息(包括设备信息、证书、token等)会明文保存在Home Assistant的配置文件中。因此,你需要妥善保管自己的配置文件,防止信息泄露。

结语

小米米家智能的开源项目为智能家居生态的构建提供了新的思路。通过开放合作,不同品牌、设备和平台可以进行资源的共享,共同构建一个更加完善和互联的智能家居生态。这不仅能够提升用户的使用体验,还能够推动整个行业的良性竞争,促进设备之间的互联互通。


往期推荐


☞ 高德地图: 红绿灯倒计时大揭秘

 Arduino 开源 ESP32 智能手表

 源码交付 IoT智慧水务、污水处理

 强制引入北斗定位,开启亿级IoT市场

 这苦逼的IoT物联网我竟坚持了十年

 打工人上班摸鱼, AI 监控老板行踪

免责声明:本公众号所发布的内容来源于互联网,我们会尊重并维护原作者的权益。由于信息来源众多,若文章内容出现版权问题,或文中使用的图片、资料、下载链接等,如涉及侵权,请告知我们,我们将尽快处理。

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

米家 Home Assistant 智能家居 开源
相关文章