跳转到内容

Provisioning(配置)

provisioning 组件为那些 出厂时未配置凭据的设备设置一个配置窗口——例如,一个盒装产品,其 API 加密密钥由 Home Assistant 在首次连接时设置。这有助于 满足 EN18031 等标准的安全通信要求。

设备在启动时打开配置窗口,并在设备 配置完成后关闭它。当设备连接到一个 网络(通过 WiFi、Ethernet 或 其他接口)后,且(当 API 配置了加密时) 其密钥已设置,设备即被视为已配置。如果 timeout 到期时设备仍未配置, 窗口仍将关闭,设备停止接受配置:

  • 新的 API 客户端将被以 “provisioning closed” (配置已关闭)的原因拒之门外。
  • BLE Improv(esp32_improv)停止接受 WiFi 凭据。串行 Improv(improv_serial) 保持启用,因为它需要与设备进行物理连接。
  • 将运行 on_timeout 自动化。

当设备处于未配置状态时,会暂停执行 API 和 WiFi 的 reboot_timeout,这样它就不会在等待设置期间 自行重启。断电重启(或按下物理复位按钮) 会重新打开该窗口。

provisioning:
timeout: 60s
on_timeout:
then:
- logger.log: "Provisioning window closed; reset the device to reopen it"

至少必须存在一个支持配置的组件。配置好的网络 接口(如 WiFi 或 Ethernet) 即可满足此要求,带有 encryption: 且无 key: 的 API 也可以。

  • timeout (必选, Time): 启动后 配置窗口在设备仍未配置的情况下保持打开的时间,然后关闭。
  • on_timeout (可选, Automation): 当 配置窗口关闭时执行的自动化。