Найти в Дзене
Два направления.

⚡ Как управлять режимом глубокого сна в ESPHome через Home Assistant

Оглавление

Как настроить ESP так, чтобы он спал, когда нужно, и просыпался по команде из Home Assistant.

Энергоэффективность — ключевая задача при проектировании автономных устройств на базе ESP8266 или ESP32. Особенно если они питаются от батареек или аккумуляторов. Один из самых надёжных способов экономии энергии — использовать deep sleep, глубокий сон, при котором микроконтроллер отключает большинство внутренних компонентов и снижает потребление до микроампер.

Но возникает вопрос:

Как управлять этим сном удалённо, через Home Assistant, без необходимости физически к нему прикасаться?

Что мы сделаем

В этой статье вы узнаете, как настроить прошивку ESPHome так, чтобы устройство:

  • Автоматически засыпало на заданное время;
  • Просыпалось и проверяло состояние выключателя в Home Assistant;
  • Оставалось бодрствовать, если это требуется (например, для OTA-прошивки или отладки);
  • И снова засыпало, когда выключатель отключается.

Что понадобится

input_boolean:
disable_deep_sleep:
name: Отключить глубокий сон ESP
icon: mdi:sleep-off

Конфигурация прошивки ESPHome

При загрузке:

-3
  1. Пишем в лог: "Загрузка"
  2. Включаем питание датчика DS18B20
  3. Ждём 1 секунду (стабилизация питания)
  4. Считываем напряжение батареи
  5. Считываем температуру
  6. Ждём 10 секунд (гарантированное время для отправки показаний)
  7. Выключаем питание датчика
  8. Проверяем состояние "Disable Deep Sleep" если выключен →
  • Пишем в лог: "Уходим в сон" Переходим в глубокий сон на 20 минут

Аппаратная конфигурация

-4
  • MQTT с авторизацией
  • Питание датчика через GPIO2
  • Кнопка перезагрузки
  • 1-Wire на GPIO0 для датчика DS18B20

Датчики и логика сна:

-5

Датчики:

  • Напряжение питания (VCC)
  • Температура (DS18B20, адрес 0x6f...ff28)
  • Обновляются только при пробуждении

Управление сном:

  • Проверка переключателя [Disable Deep Sleep] в HA
  • Если выключен → сон на 20 минут

Как это работает

1. «Disable Deep Sleep» ВКЛЮЧЕН:

  • Один замер → не засыпает
  • Можно перепрошить/отладить
  • 🔋 Быстро разряжает батарею

2. «Disable Deep Sleep» ВЫКЛЮЧЕН:

  • Мгновенно уходит в глубокий сон
  • Работает в цикле:

→ Сон 20 мин → Замер → Сон 20 мин →

  • 🔋 Максимально экономит батарею

Итог:

  • Включён = режим отладки
  • Выключен = штатная энергосберегающая работа
  • (Всё чётко и предсказуемо!) 🔋

Заключение

Этот код — готовый шаблон для любых автономных ESP8266-устройств.
Чтобы адаптировать под свои задачи:

  1. Подключите нужные датчики
  2. Настройте интервалы сна

— и получите энергоэффективное устройство на ESP