21 октября вышел ESPHome 2026.10 — релиз, в котором много «тихих» изменений: прошивки стали легче, обновления по воздуху — меньше, а в конфигах появилось несколько ломающих правок. Если у вас в доме десяток ESP32-устройств на ESPHome, перед обновлением стоит потратить десять минут на чтение списка изменений. Разберём главное.

Что нового
- Сжатые OTA-загрузки. На ESP32, RP2040, LibreTiny и host образы при обновлении по воздуху сжимаются — примерно на треть меньше. Старые клиенты и старые прошивки при этом обновляются как раньше.
- Исходящее подключение Native API. Опция
outgoing_connectionв блокеapi:позволяет устройству самому «позвонить» серверу — удобно, если оно за NAT. Требуется включённоеencryption:. - Мастер настройки в Home Assistant. Блок
wizard:вapi:описывает страницы онбординга; Home Assistant покажет его начиная с версии 2026.11. - Быстрее сборка ESP-IDF. Сборка вызывает
cmakeиninjaнапрямую, а флаг--skip-bootloaderускоряет сборки только для OTA. - Zigbee на ESP32. Компонент
zigbeeполучил поддержку переключателей и опциюcluster: device_class, которая публикует датчики через кластеры измерений вместо Analog/Binary Input. - Экономия памяти. Упаковка полей, таблицы кодогенерации во флеше и инлайнинг заголовков снижают расход RAM и flash. На ESP32 также можно держать кэш NVS в PSRAM (когда PSRAM гарантированно есть), а лишние драйверы флеш-чипов — отключать.
- Новые компоненты. Добавлено 20, среди них
espectre(определение движения по Wi-Fi),counter,stcc4,tflunaиtas58xx. - ESP8266. По умолчанию используется нативный тулчейн
arduino: сборка быстрее, а на Mac с Apple Silicon не нужен Rosetta.

Что может сломаться
Самое заметное — замена restore_mode на restore_state у света. Старый ключ пока работает, но объявлен устаревшим. Новый позволяет для каждого свойства отдельно оставить, инвертировать или принудительно задать значение. Важный побочный эффект: свет с initial_state: {state: on} и без явного restore_mode: теперь будет включаться при загрузке, тогда как раньше по умолчанию принудительно выключался. Просмотрите все лампы, где задан initial_state, иначе после перепрошивки часть света может зажечься среди ночи.
Остальные правки из чек-листа обновления:
- Для ESP8266 можно вернуться к старому пути:
toolchain: platformioв блокеesp8266:. Он объявлен устаревшим и будет удалён в версии 2027.4.0. - В компоненте
speakerудалёнcodec_support_enabled— конфиги с этим ключом не пройдут валидацию; для прежнего поведения задайте в пайплайнеformat: NONE. Громкость и mute теперь независимы. - В climate IR режим
heat_coolбольше не предлагается, еслиsupports_heat: falseилиsupports_cool: false; чтобы сохранить его, добавьтеsupports_heat_cool: true. - У
remote_receiverна ESP8266, RP2040, LibreTiny, ESP32-C2 и ESP32-C61buffer_size:теперь в байтах — явные значения нужно умножить на 4. - Перекрывающиеся записи
usb_uartне проходят валидацию; разделяйте их фильтрамиmanufacturerиproduct. - Сборка платформы
hostидёт нативно через ninja, поддержка Windows для неё прекращена.
Практическая часть: безопасное обновление
Не обновляйте все устройства сразу. Сначала проверьте конфиги на валидность и посмотрите предупреждения об устаревших ключах — на одном тестовом устройстве:
pip install -U esphome
esphome version
esphome config my-device.yaml # валидация и предупреждения
esphome compile my-device.yaml # проверка сборки
esphome run my-device.yaml --device OTA
Если ESP8266-проект не собирается новым тулчейном, временно закрепите старый:
esp8266:
board: nodemcuv2
toolchain: platformio # устаревший путь, удаляется в 2027.4.0
Для климата с ИК-управлением, где нужен режим «авто/heat_cool» при выключенных нагреве или охлаждении:
climate:
- platform: ... # ваш ИК-климат
supports_heat_cool: true
Если в лямбдах используется поле raw_state сенсора, замените его вызовом метода — иначе сборка упадёт:
// было
float v = id(my_sensor).raw_state;
// стало
float v = id(my_sensor).get_raw_state();
Для устройств с подписанными OTA-обновлениями релиз вводит параметр allow_plaintext_upload: true в ota: encryption: — он разрешает одну миграционную установку; после неё его стоит убрать. Точный синтаксис restore_state, outgoing_connection и wizard: смотрите в документации компонентов на esphome.io: он зависит от платформы и версии, и копировать его «по памяти» не стоит.
Выводы
Релиз 2026.10 в основном про эксплуатацию: меньшие образы для OTA, ускоренные сборки и возможность подключить устройство из-за NAT. Цена — несколько ломающих изменений, самое коварное из которых — поведение света при загрузке. Обновляйтесь поэтапно: один тестовый узел, проверка esphome config, затем остальные.
Добавить комментарий