跳转到内容

分享 ESPHome 设备

我们在 ESPHome 中添加了配置选项,使创建、配置、安装和分发运行 ESPHome 的设备更加容易。

“模板”配置的任何部分都不应包含对密钥的引用,也不应预先设置密码。ESPHome 让最终用户能够在他们将设备纳入自己的 ESPHome 仪表板后自行添加这些信息。

# 这些替换允许最终用户覆盖某些值
substitutions:
name: "project-template"
friendly_name: "Project Template"
esphome:
name: "${name}"
# 友好名称在 Home Assistant 的适当位置使用
friendly_name: "${friendly_name}"
# 自动将 MAC 地址添加到名称中
# 这样你就可以为所有设备使用单一固件
name_add_mac_suffix: true
# 这将允许(未来的)项目识别、
# 配置和更新。
project:
name: esphome.project-template
version: "1.0"
# 通过串口和 API 获取设备日志
logger:
# API 是仪表板导入的必需条件
api:
# OTA 是无线更新的必需条件
ota:
platform: esphome
# 这应指向此 yaml 文件的公开位置
dashboard_import:
package_import_url: github://esphome/esphome-project-template/project-template-esp32.yaml@v6
import_full_config: false # or true
wifi:
# 设置一个 Wi-Fi 接入点
ap:
password: "12345678"
# 结合 `ap`,这允许用户
# 向设备提供 Wi-Fi 凭据
captive_portal:
# 设置蓝牙 LE(仅限 ESP32)以允许用户
# 向设备提供 Wi-Fi 凭据
esp32_improv:
authorizer: none
# 设置通过串行客户端的 improv 进行 Wi-Fi 配置
improv_serial:
next_url: https://example.com/project-template/manual?ip={{ip_address}}&name={{device_name}}&version={{esphome_version}}
  • name_add_mac_suffix - 将 MAC 地址作为后缀添加到设备名称

  • project - 项目信息

  • esp32_improv - Esp32 Improv

  • captive_portal - 强制门户

  • wifi -> ap 允许你刷写一个不包含任何凭据的设备,用户必须通过 ap + captive_portal 或 esp32_improv / improv_serial 组件来设置凭据。

  • dashboard_import

    NOTE

    上述项目信息是仪表板中采用设备所必需的。

    • package_import_url - 这应指向包含设备配置的公共仓库,以便用户的 ESPHome 仪表板能够自动检测此设备并使用远程/Git 包创建一个最小化的 YAML。

    • import_full_config - 这指示 ESPHome 是否应下载整个 YAML 文件作为用户的配置 YAML,而不是引用包。如果你正在创建教程以便让用户轻松调整整个配置或能够取消注释后续的教程步骤,请将此设置为 true。

  • improv_serial - Improv 串行