使用小米家帳號設定
如果機器人吸塵器目前是透過小米家應用程式管理,則應使用此方法。為確保相容性,可在官方小米家應用程式(適用於 iOS 和 Android)中進行驗證。


需求
- 憑證: 必須是用於登錄行動應用程式的精確用戶名和密碼(非官方網站)。
- 伺服器區域: 選擇的國家必須與裝置在應用程式中註冊的區域相符。區域不匹配會導致「登錄失敗」或「找不到裝置」錯誤。
第三方登錄
如果帳號是使用第三方服務(例如 Google 或 Apple)創建的,必須先在應用程式的使用者設定中生成專用密碼。第三方帳號密碼無法用於身份驗證。
應用程式選擇建議
部分裝置可透過 Dreamehome 或小米家應用程式進行配置。除非嚴格需要本地連線,否則強烈建議對支援的裝置使用 Dreamehome 應用程式,而非小米家:
- 攝影機串流: 使用小米家配置的裝置無法使用攝影機串流功能。
- 推送更新: Dreamehome 連線使用雲端推送以提供即時更新,無需定期輪詢請求。
偏好雲端選項
在配置步驟中,會有額外的 偏好雲端 選項,且預設為勾選。
- 勾選時(預設值): 強制所有通訊透過雲端(如果裝置支援)。這是默認行為,因為在較新的設備上,小米已禁用了本地訪問功能。此外,如果設備與 Home Assistant 位於不同子網,本地通訊將會失敗。
- 未勾選時(建議於支援的設定中使用): 整合會從雲端取得所需的令牌,但會與設備建立直接的本地連接(類似於 本地連接 方法)。這提供了自動更新令牌和 IP 的好處,同時保持所有通訊(地圖數據除外)在本地。如果此方法在最後配置步驟出現「無法連接設備」錯誤,應重試配置並勾選 偏好雲端 選項。
子網要求
出於安全原因,裝置僅對來自其自身子網的請求做出回應。因此,機器人吸塵器與 Home Assistant 必須位於完全相同的子網下,才能進行本地通信。請參閱這篇 python-miio 文章 以排解跨子網問題。
驗證碼驗證
如果小米 Home 伺服器將登錄嘗試或 IP 位址標記為不受信任,則需要進行驗證碼驗證。發生此情況時,必須解答驗證碼圖片才能進入下一步。


兩步驗證 (2FA)
除了驗證碼之外,不受信任的登錄嘗試也可能觸發兩步驗證 (2FA)。整合會自動向小米 Home 伺服器請求 2FA 代碼,此代碼會發送至註冊的手機號碼(優先)或電子郵件地址。
此代碼必須取得並輸入到配置步驟中,才能完成登錄。


2FA 限制
- 代碼有效性: 如果配置窗口關閉後再次嘗試登錄,將生成新的二步驟驗證代碼。必須始終使用最近收到的代碼。
- 速率限制: 小米嚴格限制每日可請求的二步驟驗證代碼數量。重複的登錄嘗試可能會導致暫時封鎖。
定期狀態更新
與支持推送通知的其他雲端連接方式不同,小米Home連接完全依賴背景輪詢來獲取最新狀態。為了優化網絡使用,輪詢間隔根據自上次狀態更改以來的時間動態計算;在設備活動運行期間請求頻繁發送,但當設備閒置時間增加時,間隔會逐漸增加。
重新驗證
集成在成功登入後安全地儲存身份驗證令牌以與雲端伺服器通訊。如果此令牌過期或因任何原因被雲端服務撤銷,Home Assistant 將自動觸發重新驗證流程,提示再次輸入帳號憑證。