
Docker часть 8: ESPHome
Если вам нравится проектировать системы с микроконтроллерами ESP8266 и ESP32, обязательно загляните в раздел ESPHome, если вы еще этого не сделали.
С помощью этих небольших и бюджетных контроллеров, можно создавать свои собственные устройства. Вы ограничены только своей фантазией. Более подробную информацию можно почитать на официальном сайте.
Установка ESPHome контейнера
Расширяем наш docker-compose.yaml
конфигом для контейнера ESPHome.
version: '3.0'
services:
[...]
esphome:
container_name: esphome
image: esphome/esphome
restart: unless-stopped
privileged: true
ports:
- "6052:6052/tcp"
environment:
- TZ=Europe/Moscow
volumes:
- ./esphome/config:/config
- /etc/localtime:/etc/localtime:ro
Добавление в Home Assistant
Для удобства использования добавим ESPHome в боковую колонку, так же как мы делали с остальными интеграциями.
Открываем основной файл конфиграции Home Assistant configuration.yaml
и добавляем новую панель.
panel_iframe:
portainer: # часть 2
[...]
configurator: # часть 4
[...]
adminer: # часть 5
[...]
zigbee2mqtt: # часть 7
[...]
esphome:
title: ESPHome
icon: mdi:chip
url: "http://<ip>:6052"
require_admin: true
Далее перезагружаем Home Assistant и у нас появляется возможность зайти в web интерфейс.

Так как мы выставили privileged: true
для контейнера, то USB устройства будут автоматически доступны в панели.
Давайте попробуем добавить новое устройство со стандартным конфигом. В качестве железки будет выступать ESP32-WROOM-32, которая раньше не использовалась. Процесс прошивки мы опустим, для этого воспользуйтесь статьей прошивка ESP32/ESP8266.
ESP32 будет содержать всего один датчик, со статусом работы. Чтобы можно было отследить в Home Assistant.
binary_sensor:
- platform: status
name: ESPHome Hello World Status




Как видно Docker контейнер с ESPHome отрабатывает как надо. Теперь вы можете управлять и прошивать ваши устройства прямо из интерфейса Home Assistant.
Итоговая структура проекта
home-assistant
├── .env
├── docker-compose.yaml
├── esphome
│ └── ...
├── fileeditor
├── homeassistant
├── mosquitto
├── portainer
└── zigbee2mqtt
Добрый вечер! Большое спасибо за цикл столь подробных статей, но как быть, если HA не Supervised? В боковой панеле иконка ESPHome не появляется, после добавления конфига в congiguration.yaml
Добрый день, после добавления в configuration.yaml этого кода — панелька слева никак не меняется, как после 4 главы появились configurator и portainer так больше ничего не меняется, ни порядок их ни иконки ни нового не добавляется. В чем может быть проблема?
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
panel_iframe:
portainer:
title: Portainer
url: «https://192.168.0.27:9443/#!/2/docker/containers»
icon: mdi:docker
require_admin: true
homarr:
title: Homarr
url: «http://192.168.0.27:7575/b/default»
icon: mdi:bird
require_admin: true
esphome:
title: ESPHome
icon: mdi:wrench
url: «http://192.168.0.27:6052/»
require_admin: true
configurator:
title: Configurator
icon: mdi:docker
url: «http://192.168.0.27:3218»
require_admin: true