使用小米账号进行设置
如果机器人吸尘器当前通过小米Home应用管理,应使用此方法。为了确保兼容性,可以通过官方小米Home应用在iOS和Android上进行验证。


要求
- 凭证: 必须是用于登录移动应用的精确用户名和密码(不是官方网站的账号)。
- 服务器区域: 选择的国家/地区必须与设备在应用中注册的区域匹配。不匹配的区域将导致“登录失败”或“未找到设备”错误。
第三方登录
如果该账户是使用第三方服务(例如 Google 或 Apple)创建的,必须先在应用程序的用户设置中生成专用密码。第三方账户密码无法用于身份验证。
应用选择建议
某些设备可以使用Dreamehome或小米Home应用进行配置。除非严格需要本地连接,否则强烈建议对于支持的设备使用Dreamehome应用,而不是小米Home:
- 摄像头流: 对于通过小米Home配置的设备,摄像头流功能不可用。
- 推送更新: Dreamehome连接使用云端推送进行实时更新,无需定期轮询请求。
优先选择云选项
在配置步骤中,额外提供优先云选项,默认已勾选。
- 选中时(默认): 强制所有通信通过云端(如果设备支持)。这是默认行为,因为在新设备上,小米已禁用了本地访问功能。此外,如果设备与 Home Assistant 位于不同的子网,本地通信将会失败。
- 未选中时(推荐用于支持的配置): 集成从云端获取所需令牌,但与设备建立直接本地连接(类似于 本地连接 方法)。这提供了自动令牌和 IP 更新的好处,同时保持所有通信(地图数据除外)在本地。如果此方法在最终配置步骤中导致“无法访问设备”错误,应重新尝试配置,并勾选 优先云端 选项。
子网要求
出于安全原因,设备只响应来自其自身子网的请求。因此,为了使本地通信正常工作,机器人吸尘器和 Home Assistant 必须在完全相同的子网上。请参阅这篇 python-miio 文章,了解跨子网问题的故障排除方法。
验证码验证
如果小米 Home 服务器将登录尝试或 IP 地址标记为不受信任,将需要进行验证码验证。在这种情况下,必须解决验证码图片才能进行下一步。


双重验证(2FA)
除了验证码之外,不受信任的登录尝试还可能触发双重验证(2FA)。此集成会自动向小米 Home 服务器请求 2FA 代码,该代码会发送到注册的电话号码(优先)或电子邮件地址。
必须获取该代码并在配置步骤中输入,以完成登录。


2FA 限制
- 验证码有效性: 如果配置窗口已关闭且进行了新的登录尝试,将会生成新的二次验证(2FA)代码。必须始终使用最近收到的代码。
- 速率限制: 小米严格限制每天可以请求的二次验证(2FA)代码数量。重复的登录尝试可能导致暂时封锁。
定期状态更新
与支持推送通知的其他云连接方式不同,小米智能家庭连接完全依赖后台轮询来获取最新状态。为了优化网络使用,轮询间隔根据自上次状态变化以来的时间动态计算;当设备处于活跃运行状态时,请求发送频繁,但随着设备长时间闲置,间隔会逐步增加。
重新认证
集成在成功登录后会安全地存储认证令牌,以便与云服务器通信。如果该令牌过期或因任何原因被云服务注销,Home Assistant 会自动触发重新认证流程,提示再次输入账户凭证。