教程:解决 Home Assistant 添加 Xiaomi Home 插件无法认证(DNS 解析问题)

教程:解决 Home Assistant 添加 Xiaomi Home 插件无法认证(DNS 解析问题)

Administrator 1 2025-06-05

问题描述

1Panel 上使用 Docker(host 网络模式) 安装的 Home Assistant,添加 Xiaomi Home 插件时,出现 认证失败 问题。 查看日志发现错误:

aiodns.error.DNSError: (11, 'Could not contact DNS servers')
aiohttp.client_exceptions.ClientConnectorDNSError: Cannot connect to host ha.api.io.mi.com:443

原因是 DNS 解析失败,导致无法连接小米服务器。


解决方案(修改宿主机 DNS)

由于 Docker 使用 host 网络模式,容器的 DNS 依赖宿主机配置。我们需要修改宿主机的 DNS 设置。

步骤 1:修改 systemd-resolved 配置

  1. 打开配置文件

    sudo nano /etc/systemd/resolved.conf
  2. 取消注释并修改以下内容

    [Resolve]
    DNS=8.8.8.8 1.1.1.1       # 主 DNS(Google + Cloudflare)
    FallbackDNS=8.8.4.4 9.9.9.9  # 备用 DNS

    (如果文件不存在,可能是 /etc/systemd/resolved.conf.d/ 下的某个文件)

  3. 保存并退出Ctrl + XYEnter)。


步骤 2:重启 systemd-resolved 服务

sudo systemctl restart systemd-resolved