type
date
status
slug
summary
category
tags
password
AI summary
URL
icon
近日,小米在 GitHub 開源了「Home Assistant 米家集成」(Xiaomi Home Integration)項目,這是一個由小米官方提供支持的 Home Assistant 的集成組件,它可以讓用戶在 Home Assistant 中使用小米 IoT 智能設(shè)備。
Home Assistant 是一個開源智能家居自動化平臺,可以跟蹤和控制家庭中的所有設(shè)備,并實現(xiàn)自動化控制,因開放以及開發(fā)者眾多,目前市面上主流品牌的智能家居設(shè)備都能通過插件接入,從而實現(xiàn)統(tǒng)一控制管理,不同品牌的智能家居設(shè)備跨品牌聯(lián)動。
米家Home assistant官方開源地址
https://github.com/XiaoMi/ha_xiaomi_home
項目介紹顯示,米家集成及其使用的云端接口由小米官方提供。用戶需要使用小米賬號登錄以獲取設(shè)備列表。
米家集成使用 OAuth 2.0 的登錄方式,不會在 Home Assistant 中保存用戶的小米賬號密碼。
但由于 Home Assistant 平臺的限制,登錄成功后,用戶的小米用戶信息(包括設(shè)備信息、證書、 token 等)會明文保存在 Home Assistant 的配置文件中。
因此,用戶需要保管好自己 Home Assistant 配置文件。一旦該文件泄露,其他人可能會冒用用戶的身份登錄。
消息收發(fā)原理
- 云端控制

圖 1:云端控制架構(gòu)
米家集成向小米云 MQTT Broker 訂閱關(guān)注的設(shè)備消息。當設(shè)備屬性發(fā)生改變或產(chǎn)生設(shè)備事件時,設(shè)備向小米云發(fā)送上行消息, MQTT Broker 向米家集成推送訂閱的設(shè)備消息。
得益于消息訂閱機制,米家集成只在配置完成時向云端查詢一次所有的設(shè)備屬性,對云端產(chǎn)生的訪問壓力很小。
米家集成需要控制設(shè)備時,通過小米云 HTTP 接口向設(shè)備發(fā)送控制消息。設(shè)備收到小米云發(fā)來的下行消息后做出響應(yīng)。
- 本地控制

圖 2:本地控制架構(gòu)
小米中樞網(wǎng)關(guān)內(nèi)包含一個標準的 MQTT Broker ,實現(xiàn)了完整的訂閱發(fā)布機制。
米家集成的 Home Assistant 版本要求:
- Core?≥?2024.11.0
- Operating System?≥?13.0
米家集成是否支持所有的小米米家設(shè)備?
米家集成目前支持大部分米家設(shè)備品類,但仍有一小部分設(shè)備品類(藍牙、紅外及虛擬設(shè)備)并不支持。
米家集成是否可以同時使用多個小米賬號?
是的,米家集成支持多個小米賬號同時登錄。另外,米家集成還支持不同賬號的米家設(shè)備添加至同一個 Home Assistant 區(qū)域。
米家集成是否支持本地化控制?
米家集成支持通過小米中樞網(wǎng)關(guān)(固件版本 3.4.0_000 以上)或內(nèi)置中樞網(wǎng)關(guān)(軟件版本 0.8.0 以上)的米家設(shè)備實現(xiàn)本地化控制。如果沒有小米中樞網(wǎng)關(guān)或其他帶中樞網(wǎng)關(guān)功能的設(shè)備,那么所有控制指令都會通過小米云發(fā)送。支持 Home Assistant 本地化控制的小米中樞網(wǎng)關(guān)(含內(nèi)置中樞網(wǎng)關(guān))的固件尚未發(fā)布,固件升級計劃請參閱 MIoT 團隊的通知。
小米中樞網(wǎng)關(guān)僅在中國大陸可用,在其他地區(qū)不可用。
米家集成也能通過開啟小米局域網(wǎng)控制功能實現(xiàn)部分本地化控制效果。小米局域網(wǎng)控制功能只能控制與 Home Assistant 處于同一局域網(wǎng)內(nèi)的 IP 設(shè)備(使用 WiFi、網(wǎng)線連接路由器的設(shè)備),無法控制藍牙 Mesh、ZigBee 等協(xié)議接入的設(shè)備。該功能可能會引起一些異常,我們建議不要使用該功能。小米局域網(wǎng)控制功能開啟方法:設(shè)置 > 設(shè)備與服務(wù) > 已配置 > Xiaomi Home > 配置 > 更新局域網(wǎng)控制配置。
小米局域網(wǎng)控制功能不受地區(qū)限制,在全球范圍內(nèi)均可用。 如果 Home Assistant 所在的局域網(wǎng)內(nèi)存在中樞網(wǎng)關(guān),那么即便米家集成開啟了小米局域網(wǎng)控制功能,該功能也不會生效。
米家集成在哪些地區(qū)可用?
米家集成所用的云服務(wù)接口已部署在中國大陸、歐洲、印度、俄羅斯、新加坡、美國共六個地區(qū)的機房。
由于用戶數(shù)據(jù)在不同地區(qū)的小米云上相互隔離,您需要在配置 Home Assistant 時選擇用戶所在地區(qū),才能導入相應(yīng)的米家設(shè)備。
米家集成支持將不同地區(qū)的米家設(shè)備添加至同一個 Home Assistant 區(qū)域。
Home Assistant 米家集成安裝方法:
https://github.com/XiaoMi/ha_xiaomi_home/blob/main/doc/README_zh.md
相關(guān)來源
https://github.com/XiaoMi/ha_xiaomi_home
- Author:WeXing
- URL:http://www.jmmingda.com/article/xiaomi-homeassistant-mijiajieru
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!