uDocs

Docker часть 8: ESPHome

Добавляем ESPHome Docker контейнер в Home Assistant

Docker часть 8: ESPHome

С помощью этих небольших и бюджетных контроллеров, можно создавать свои собственные устройства. Вы ограничены только своей фантазией. Более подробную информацию можно почитать на официальном сайте.

Установка ESPHome контейнера

Расширяем наш docker-compose.yaml конфигом для контейнера ESPHome.

docker-compose.yaml
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 и добавляем новую панель.

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

Обсуждение

ИгорьИгорь
27 августа 2024

Добрый день, после добавления в 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
МихаилМихаил
20 июня 2024

Добрый вечер! Большое спасибо за цикл столь подробных статей, но как быть, если HA не Supervised? В боковой панеле иконка ESPHome не появляется, после добавления конфига в congiguration.yaml