Что такое ESPHome?
ESPHome — это универсальный фреймворк с открытым исходным кодом, предназначенный для быстрой разработки прошивок для устройств на базе микроконтроллеров. Поддерживает широкий спектр платформ: ESP8266, ESP32, RP2040 (Raspberry Pi Pico), а также модули Nordic (nRF52) и другие.
Ключевые особенности:
- Большая библиотека компонентов: более 300 поддерживаемых сенсоров, дисплеев, реле и других устройств.
- Конфигурация через YAML: описание логики работы, триггеров, действий и скриптов в человекочитаемом формате. Хотя YAML-скрипты отличаются от традиционных языков программирования, они интуитивно понятны и удобны для декларативного описания поведения устройства.
- Гибкая система автоматизации: возможность реагировать на изменения состояний портов, аппаратных интерфейсов, таймеров и внешних событий с помощью триггеров, условий и действий.
- Встроенный веб-интерфейс: после прошивки устройство автоматически разворачивает веб-сервер, через который можно просматривать конфигурацию, управлять параметрами в реальном времени и выполнять обновления "по воздуху" (OTA).
- Поддержка MQTT: ESPHome может работать как MQTT-клиент, публикуя данные и подписываясь на команды через брокер (локальный или облачный). Это обеспечивает интеграцию с системами домашней автоматизации, такими как Home Assistant.
- Безопасность: поддержка шифрования соединений по TLS (для устройств с достаточным объёмом памяти), аутентификация и авторизация доступа к веб-интерфейсу.