Прошивка с открытым исходным кодом ESPHome 2026.1.0 только что выпущена с новыми функциями, такими как автоматический роуминг Wi-Fi и поддержка Zigbee для платформ Nordic Semi nRF52, а также оптимизация памяти для аппаратного обеспечения ESP32/ESP8266, среди множества других изменений.
Другие значительные изменения включают обновления безопасности: проект заменил аутентификацию по паролю API на шифрование API и требует аутентификацию SHA256 для OTA-обновлений, улучшенную поддержку конфигураций с не-ASCII символами, а также обновления для платформ LibreTiny (BK72xx, RTL87xx, LN882x), которые получили потокобезопасный Wi-Fi, атомарные операции и поддержку глубокого сна.
Разработчики ESPHome ранее советовали пользователям не использовать ESP8266 не потому, что он не подходил для задачи, а потому что размер свободной кучи на ESP8266 регулярно опускался ниже 10 КБ, и устройства работали ненадёжно. Поскольку миллионы устройств на ESP8266 уже были развёрнуты в домах, было решено что-то с этим сделать. Проекту очень помогло увеличение поддержки со стороны Open Home Foundation , что позволило проекту иметь двух штатных разработчиков и более широкую базу внештатных контрибьюторов. После месяцев работы доступный размер кучи увеличился с менее чем 10 КБ до более чем 30 КБ в реалистичных конфигурациях на ESP8266. Работа также затронула чипы ESP32, ESP32-C3, ESP32-S2 и ESP32-S3, поскольку все они по умолчанию перешли на ESP-IDF (вместо Arduino), что обеспечило до 40% меньший размер бинарных файлов и в 2-3 раза более быструю компиляцию. Использование оперативной памяти на ESP32 также значительно снизилось благодаря ряду оптимизаций, а API с нулевым копированием позволяет передавать поток с камеры ESP32 с задержкой примерно на 10% ниже.
Автоматический роуминг Wi-Fi позволяет устройствам переключаться на лучшие точки доступа после подключения, решая проблему, когда устройства остаются подключёнными к другим точкам доступа (AP) после отключения питания или перезагрузки AP. Веб-сервер теперь использует имена сущностей напрямую в URL-адресах с кодировкой, исключающей конфликты, что устраняет проблемы, затрагивающие конфигурации с не-ASCII (UTF-8) символами, например, некорректное отображение китайских иероглифов. На веб-сервере также была включена компрессия Brotli для экономии памяти flash.
Что касается Zigbee на nRF52, отмечены следующие ключевые возможности:
- Поддержка бинарных сенсоров – представление состояния GPIO через Zigbee
- Поддержка сенсоров – представление сенсоров ESPHome через кластер Analog Input в Zigbee с автоматическим сопоставлением единиц измерения
- Поддержка переключателей – управление переключателями ESPHome через Zigbee как бинарный выход
- wipe_on_boot: once – Стирание сетевых настроек только при первой загрузке, сохранение подключений после OTA-обновлений
- Поддержка версий фреймворка – Настройка версии nRF-SDK с экспериментальной поддержкой SDK 2.9.2 и 3.2.0
Новая поддержка оборудования включает:
- Радар миллиметрового диапазона RD-03D (модуль Ai-Thinker RD-03D 24GHz миллиметрового диапазона) для одновременного отслеживания до 3 целей
- BTHome MiThermometer для приёма данных от BLE-сенсоров Xiaomi Mijia с прошивкой PVVX в формате BTHome v2
- Поддержка сенсора индекса качества воздуха (AQI) для расчёта индекса качества воздуха на основе показаний частиц PM; поддерживает как метод расчёта EPA AQI (США), так и CAQI (Европа).
Некоторые изменения потребуют правок в вашем YAML-файле конфигурации. Например, если использовалась аутентификация API по паролю:
api: password:
Теперь потребуется перейти на шифрование API:
api:
encryption:
key: !secret api_encryption_key
Если всё ещё необходимы компоненты Arduino, такие как heatpumpir или midea, потребуется задать type: arduino в конфигурации:
esp32:
board: esp32dev
framework:
type: arduino # Explicitly use Arduino if needed
Более подробная информация доступна в списке изменений .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.

