ESPHome и ESP32 в Home Assistant: первый датчик за 30 минут

6 минчтения 8разделов 9.11.2026обновлено Home Assistantрубрика

Связка esp32 home assistant — самый дешёвый способ получить собственный датчик температуры, влажности, движения или реле без облаков и без пайки на уровне радиолюбителя. Плата ESP32 стоит несколько сотен рублей, прошивку для неё создаёт ESPHome, а Home Assistant находит устройство сам и добавляет его сущности. Рассказываем, как пройти путь от пустой платы до работающего датчика примерно за полчаса.

1ESP32 Home Assistant: что такое ESPHome и что понадобится

ESPHome — это система, которая превращает YAML-описание в готовую прошивку для микроконтроллеров ESP32, ESP8266 и их вариантов (C3, S3 и других). Писать код на C++ не нужно: вы перечисляете датчики и выводы, а ESPHome собирает прошивку. Устройство подключается к Home Assistant по нативному API, поэтому не требует MQTT-брокера, а обновляется «по воздуху» (OTA).

Главное преимущество перед готовыми Wi‑Fi-датчиками из магазинов: всё работает локально, нет привязки к производителю, а логика (интервалы, фильтры, пороги) настраивается под вас.

Для старта понадобится следующее.

  • Плата ESP32 (например, ESP32 DevKit, ESP32-C3 или ESP32-S3) и кабель USB с передачей данных — зарядные кабели без data-линий не подойдут.
  • Датчик: для первого опыта проще всего DHT22 или BME280. Далее в примере используется DHT22.
  • Работающий Home Assistant с магазином дополнений (Home Assistant OS или Supervised). На Container-установке ESPHome запускается отдельным контейнером.
  • Браузер Chrome или Edge: для прошивки по USB используется Web Serial.

2Установка ESPHome и создание устройства

Сначала ставим само дополнение.

  1. Откройте «Настройки» → «Дополнения» → «Магазин дополнений».
  2. Найдите дополнение ESPHome Device Builder и нажмите «Установить».
  3. Включите «Показывать на боковой панели» и запустите дополнение.
  4. Откройте ESPHome из боковой панели — вы увидите панель управления устройствами.

Теперь создаём устройство.

  1. Нажмите «New Device» и укажите имя, например sensor-kitchen.
  2. Введите имя и пароль домашней Wi‑Fi-сети. Учтите: ESP32 работает только в диапазоне 2,4 ГГц.
  3. Выберите тип чипа. Мастер создаст базовый YAML и ключ шифрования API.

Секреты (пароли сети, ключи) ESPHome хранит в файле secrets.yaml, а в конфигурации на них ссылаются через !secret. Не публикуйте этот файл в открытых репозиториях.

3Описываем датчик в YAML

Откройте конфигурацию через «Edit» и добавьте блок датчика. Ниже полный рабочий пример для DHT22, подключённого к выводу GPIO4 (питание 3,3 В, земля, сигнальный контакт на GPIO4):

esphome:
  name: sensor-kitchen

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:

api:
  encryption:
    key: !secret api_key

ota:
  - platform: esphome
    password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

sensor:
  - platform: dht
    pin: GPIO4
    model: DHT22
    temperature:
      name: "Температура на кухне"
    humidity:
      name: "Влажность на кухне"
    update_interval: 60s

Если у вас плата другого типа, замените board на нужное значение; мастер создания обычно подставляет его сам. Нумерацию выводов проверяйте по схеме именно вашей платы.

4Первая прошивка и добавление в Home Assistant

Первый раз прошивать приходится по кабелю, дальнейшие обновления — по Wi‑Fi.

  1. Нажмите «Install» у вашего устройства.
  2. Выберите «Plug into this computer». Если панель ESPHome открыта по обычному http без HTTPS, браузер не даст доступ к USB-порту. В этом случае выберите «Manual download», скачайте файл прошивки и загрузите его через сайт web.esphome.io.
  3. Подключите плату, выберите порт и дождитесь окончания компиляции и записи. Первая сборка занимает несколько минут — загружаются инструментарий и библиотеки.
  4. После перезагрузки плата подключится к Wi‑Fi. В логах должно появиться подключение к сети.

Теперь подключаем устройство к Home Assistant.

Обычно Home Assistant сам обнаруживает новое устройство, и в «Настройки» → «Устройства и службы» появляется карточка ESPHome с кнопкой «Настроить». Нажмите её, введите ключ шифрования (он есть в вашем YAML в поле key) — и сущности температуры и влажности готовы. Дальше их можно выводить на дашборд и использовать в автоматизациях.

Если автообнаружение не сработало, добавьте интеграцию ESPHome вручную и укажите IP-адрес или имя вида sensor-kitchen.local и порт 6053. Частая причина — устройства в разных VLAN или отключённый mDNS на роутере.

Если вы хотите не разбираться в платах и YAML, а получить готовую систему датчиков, закажите настройку Home Assistant под ключ.

Чтобы показания были стабильнее, к датчику можно добавить фильтры. Они работают прямо на плате, до отправки значения в Home Assistant:

sensor:
  - platform: dht
    pin: GPIO4
    model: DHT22
    temperature:
      name: "Температура на кухне"
      filters:
        - offset: -0.5
        - sliding_window_moving_average:
            window_size: 5
            send_every: 5
    humidity:
      name: "Влажность на кухне"
    update_interval: 30s

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO27
      mode: INPUT_PULLDOWN
    name: "Движение в коридоре"
    device_class: motion

Фильтр offset компенсирует систематическую погрешность датчика (сравните с эталонным термометром), а скользящее среднее убирает единичные выбросы. Второй блок добавляет PIR-датчик движения на GPIO27 — он сразу появится в Home Assistant как бинарный датчик с классом «движение».

Не размещайте плату вплотную к источникам тепла: температура самого ESP32 заметно завышает показания, если датчик стоит рядом. Лучше вынести DHT22 на проводе на 10–20 см.

5Что ещё можно сделать на ESP32

Задача Компонент ESPHome Комментарий
Датчик движения binary_sensor, платформа gpio Подходит PIR-модуль HC-SR501
Реле / розетка switch, платформа gpio Для сетевого напряжения используйте готовые модули с изоляцией
Присутствие по mmWave LD2410, LD2450 Подключаются по UART
Bluetooth-прокси bluetooth_proxy Расширяет зону приёма BLE-датчиков
Адресная лента WS2812 light, платформа esp32_rmt_led_strip Эффекты есть из коробки

Можно держать одну плату на комнату: температура, движение и Bluetooth-прокси в одном устройстве. Единственное ограничение — число свободных выводов и нагрузка на сам чип, поэтому не нагружайте одну плату десятками тяжёлых компонентов.

Хорошая практика — давать устройствам понятные имена сразу в YAML: по ним потом проще искать сущности и писать автоматизации. Не меняйте name устройства после добавления в Home Assistant без необходимости: идентификаторы сущностей придётся править вручную.

6Типичные ошибки

  • Плата не определяется в браузере. Проверьте кабель и драйвер USB-UART (CP210x или CH340 на китайских платах).
  • Нет подключения к Wi‑Fi. Сеть только на 5 ГГц, неверный пароль или спецсимволы в SSID.
  • Датчик показывает «unavailable» или нули. Неправильный вывод, нет подтягивающего резистора у голого DHT или слишком частый опрос.
  • Ошибка шифрования API. Ключ в Home Assistant не совпадает с ключом в прошивке.

7Частые вопросы

Чем ESP32 лучше ESP8266?

У ESP32 больше выводов и памяти, есть Bluetooth LE и поддержка современных режимов. Для новых проектов выбирайте ESP32 или его варианты C3/S3; ESP8266 оставьте для простых задач.

Нужен ли MQTT?

Нет. ESPHome общается с Home Assistant через собственный API, MQTT можно подключить дополнительно при необходимости.

Можно ли обновлять прошивку без кабеля?

Да. После первой прошивки кнопка «Install» предлагает обновление по сети (OTA).

Сколько стоит такой датчик?

Плата и датчик обходятся обычно в несколько сотен рублей; точная цена зависит от магазина и модели.

8Итог

Порядок действий всегда один и тот же: описать устройство, собрать прошивку, записать её по USB, дождаться автообнаружения и ввести ключ API. Дальше работа идёт по воздуху, а любое изменение конфигурации применяется нажатием одной кнопки.

ESPHome делает самодельные устройства предсказуемыми: описали в YAML, прошили, получили сущности в Home Assistant. Начните с одного датчика температуры, а затем добавляйте компоненты в тот же файл. Когда появятся идеи, как использовать данные, соберите правило в нашем конструкторе автоматизаций. Если плата ведёт себя странно, откройте журнал устройства в панели ESPHome: по нему видно, подключилась ли плата к Wi‑Fi, как часто перезагружается и какие ошибки выдаёт датчик. Это самый быстрый способ диагностики.