ESPHome

This integration allows ESPHome devices to connect directly to Home Assistant with the native ESPHome API.

Configuration

To add the ESPHome device to your Home Assistant instance, use this My button:

ESPHome can be auto-discovered by Home Assistant. If an instance was found, it will be shown as Discovered. You can then set it up right away.

Manual configuration steps

If it wasn’t discovered automatically, don’t worry! You can set up a manual integration entry:

Home Assistant actions

ESPHome devices can perform actions to any Home Assistant action. This functionality is not enabled by default for newly configured device, but can be turned on the options flow on a per device basis.

Options

Options for ESPHome can be set via the user interface, by taking the following steps:

  • Browse to your Home Assistant instance.
  • Go to Settings > Devices & Services.
  • If multiple instances of ESPHome are configured, choose the instance you want to configure.
  • Select the integration, then select Configure.

Entity naming and IDs

ESPHome uses different naming and entity ID rules based on the configuration of the ESPHome device. It is recommended to set a friendly_name in the ESPHome configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] to take advantage of the newer naming structure, which is consistent with Home Assistant naming standards and makes it much easier to tell similar devices apart. The legacy naming rules apply when the friendly_name is not set in the configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more].

Friendly naming

  • Entity name is a combination of the friendly name and component name
  • Entity ID is derived from the entity name with the device name prepended

Example:

esphome:
   name: "livingroomdesk"
   friendly_name: "Living room desk"

sensor:
   name: "Temperature"

The entity will be named Living room desk Temperature and will default to having an entity ID of sensor.livingroomdesk_temperature.

Legacy naming

  • Entity name is the component name
  • Device name is not prepended to the entity name
  • Entity ID is derived solely from the entity name

Example:

esphome:
   name: "livingroomdesk"

sensor:
   name: "Temperature"

The entity will be named Temperature and will default to having an entity_id of sensor.temperature.