近日,小米米家智能官方在GitHub上开源了“Home Assistant米家集成”项目,支持将小米米家 IoT 智能设备接入Home Assistant,实现云端控制和局域网控制,支持多账号登录,支持中国大陆、欧洲、印度、俄罗斯、新加坡和美国等多个地区,这也标志着米家在智能家居领域的进一步开放和合作。
Home Assistant 米家集成
支持米家设备导入到 Home Assistant 管理 支持多账号同时登录 支持本地控制和云端控制 支持 Action 调试模式
Core ≥ 2024.4.4
Operating System ≥ 13.0
# 进入 Home Assistant 配置目录
cd config
# 克隆项目代码
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
# 进入项目目录并运行安装脚本
cd ha_xiaomi_home
./install.sh /config
cd config/ha_xiaomi_home
git checkout v1.0.0
./install.sh /config
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 发布设备控制消息,再经由小米中枢网关转发给设备。设备收到小米中枢网关发来的下行消息后做出响应。
米家智能家居生态平台
小米米家“Home Assistant米家集成”开源项目,已支持设备汇总:
智能灯泡和插座:如 Philips Hue、LIFX、Yeelight 等。 温控设备:如 Nest、Ecobee、Xiaomi 米家、Sonoff 等。 安防系统:如 Ring、Nest Camera、Xiaomi 门窗传感器等。 语音助手:支持与 Google Assistant、Amazon Alexa、Siri 等进行集成。 智能家电:如智能冰箱、洗衣机等。 传感器和监控设备:包括温度、湿度、空气质量、烟雾探测等。
Home Assistant 米家集成操作实战
小米账号登录
设置 > 设备与服务 > 添加集成 > 搜索“Xiaomi Home” > 下一步 > 请点击此处进行登录 > 使用小米账号登录。
修改跳转地址为我们本地IP即可访问
添加 MIoT 设备
登录成功后,会弹出会话框“选择家庭与设备”。您可以选择需要添加的米家家庭,该家庭内的所有设备将导入 Home Assistant 。
修改配置项
在会话框“配置选项”中,可选择需要变更的配置项。您可以修改用户昵称或更新从米家 APP 导入的设备列表。
方法:设置 > 设备与服务 > 已配置 > Xiaomi Home > 配置 > 选择需要变更的配置项
Action 调试模式
账号安全性
小米米家集成及其使用的云端接口都由小米官方提供,用户在使用时需要使用小米账号登录来获取设备列表。不过由于Home Assistant平台的限制,登录成功后,用户的小米用户信息(包括设备信息、证书、token等)会明文保存在Home Assistant的配置文件中。因此,你需要妥善保管自己的配置文件,防止信息泄露。
结语
小米米家智能的开源项目为智能家居生态的构建提供了新的思路。通过开放合作,不同品牌、设备和平台可以进行资源的共享,共同构建一个更加完善和互联的智能家居生态。这不仅能够提升用户的使用体验,还能够推动整个行业的良性竞争,促进设备之间的互联互通。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...