Sharing ESPHome devices

We have added configuration options to ESPHome to make it easier to create, configure, install and distribute devices running ESPHome.

Example configuration

# These substitutions allow the end user to override certain values
substitutions:
  name: "project-template-32"

esphome:
  name: "${name}"
  # Automatically add the mac address to the name
  # so you can use a single firmware for all devices
  name_add_mac_suffix: true

  # This will allow for (future) project identification,
  # configuration and updates.
  project:
    name: esphome.project-template
    version: "1.0"

# To be able to get logs from the device via serial and api.
logger:

# API is a requirement of the dashboard import.
api:

# OTA is required for Over-the-Air updating
ota:

# This should point to the public location of this yaml file.
dashboard_import:
  package_import_url: github://esphome/esphome-project-template/[email protected]

wifi:
  # Set up a wifi access point
  ap:
    password: "12345678"

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device.
captive_portal:

# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
  authorizer: none

# Sets up the improv via serial client for Wi-Fi provisioning
improv_serial:

Relevant Documentation

See Also