共享 ESPHome 设备

我们已为 ESPHome 添加了配置选项,以便更容易地创建、配置、安装和分发运行 ESPHome 的设备。

“模板"配置的任何部分都不应包含任何秘密引用,也不应预先应用密码。ESPHome 使最终用户能够在他们将设备采用到自己的 ESPHome 仪表板后轻松添加这些内容。

示例配置

# 这些替换允许最终用户覆盖某些值
substitutions:
  name: "project-template"
  friendly_name: "项目模板"

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 # 或 true

wifi:
  # 设置一个 wifi接入点
  ap:
    password: "12345678"

# 与 `ap` 结合使用,这允许用户
# 将 wifi 凭证配置到设备。
captive_portal:

# 设置蓝牙 LE(仅在 ESP32 上)以允许用户
# 将 wifi 凭证配置到设备。
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 - Improv via BLE

  • captive_portal - Captive Portal

  • wifi -> ap 允许你烧录一个不包含任何 凭证的设备,并且必须由用户通过 ap + captive_portalesp32_improv / improv_serial 组件来设置。

  • dashboard_import

    ℹ️ Note

    上述 项目信息 对于在仪表板中实现采用是必需的。
    • package_import_url - 这应该指向包含设备配置的公共存储库,以便用户的 ESPHome 仪表板可以自动检测此设备并使用 远程/Git 包 创建一个最小的 YAML。

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

  • improv_serial - Improv via Serial

参见