Ошибка про ключ platform после обновления ESPHome связана со старым форматом YAML, где platform и board находятся внутри esphome:. Для перехода на новый формат перенесите плату в отдельный блок esp8266: или esp32:. Общие вопросы работы с ESPHome разобраны в гайде ESPHome и ESP32 в Home Assistant.
Как выглядит проблема
После обновления ESPHome или его аддона (дополнения Home Assistant) возникают ошибки сборки и обновления:
- дисплей Veneer не обновляется после обновления аддона - ESPHome отвергает конфиг старого образца;
- устройства на ESP8266 перестают собираться с ошибкой про ключ
platform; - камера на ESP32 не обновляется, потому что
platformостался в блокеesphome:.
Текст ошибки такой:
Please remove the `platform` key from the [esphome] block and use the correct platform component. This style of configuration has now been removed.
В случае с камерой на ESP32 сообщение содержало строки конфига:
Please remove the `platform` key from the [esphome] block and use the correct platform component. This style of configuration has now been removed.
platform: Esp32
board: esp32dev
Причина
В ESPHome 2025.2.0 удалили поддержку старого способа настройки платы, когда platform и board писали внутри блока esphome:. Изменение описано в анонсе релиза.
| Причина | Как проверить | Что сделать |
|---|---|---|
| Удалена поддержка старого формата | Найти сообщение об ошибке выше и ключи platform и board внутри esphome: | Перейти на отдельный компонент платформы по шагам ниже |
Рабочее решение
Перенесите плату в отдельный блок платформы верхнего уровня. Документация подтверждает синтаксис перехода. На форуме решение обсуждали в двух ветках; есть одно сообщение об успехе и ни одного о неудаче.
- Удалите
platformиboardиз блокаesphome:. - Добавьте блок
esp8266:для плат на ESP8266 илиesp32:для ESP32 на том же уровне, что иesphome:. - Перенесите значение
boardвнутрь нового блока.
Для ESP8266 новый конфиг выглядит так:
esphome:
name: some-name
esp8266:
board: someboard
Для платы на ESP32, например камеры esp32-cam, так:
esphome:
name: esp32-cam
esp32:
board: esp32dev
В документации ESP8266 параметр board отмечен как обязательный. Сопоставление старого и нового формата для ESP32 показывает предложение изменения кода (pull request 8118) в репозитории ESPHome.
Если не помогло
Проверьте расположение блоков и отступы в YAML. Внутри esphome: не должны оставаться platform и board. Блок esp8266: или esp32: должен стоять на одном уровне с esphome:, а board - внутри выбранного блока платформы.
Если сборка прошла, но устройство не отвечает по Modbus RS485, посмотрите разбор ошибки no response received в ESPHome и Modbus.
Частые вопросы
В какой версии ESPHome удалили старый формат?
Старый формат удалили в ESPHome 2025.2.0 от 19 февраля 2025 года. На форуме встречалось предположение о версии 2024.6.0, но оно ошибочно. Анонс 2025.2.0 прямо связывает удаление поддержки прежнего способа настройки микроконтроллера и платы с этим релизом. Поэтому при определении версии, в которой изменился формат, ориентируйтесь на официальный анонс.
Что означает значение board?
board задает идентификатор платы в системе PlatformIO. Так параметр описан в документации ESP8266. Например, на ее странице показан board: nodemcuv2, а в примере камеры на ESP32 используется esp32dev. Это значения для разных плат. В примере ESP8266 из форума стоит someboard - условное обозначение платы, которое не следует подставлять вместо собственного значения.
Поможет ли заменить значение platform?
В случае с камерой на ESP32 замена значения не помогла. Пользователь пробовал esp32, esp32_camera и esp32_dev, но обновление по-прежнему не устанавливалось. В сообщении об ошибке были строки platform: Esp32 и board: esp32dev. Сама ошибка требует убрать ключ из блока esphome: и использовать соответствующий компонент платформы. Перебор названий внутри прежнего блока оставлял старую структуру конфига.



