Перейти к содержимому

📘 Что такое ESPHome Flasher

🎯 Для кого

  • Домашняя автоматизация (Home Assistant).
  • Свои платы и несколько профилей GPIO (firmwares/boards/*.yaml).
  • Хочется один раз настроить цепочку рендер .j2 → compile → upload → OTA.

🛣️ Типичный маршрут

  1. 🔌 USBbin/windows/run.bat / ./bin/linux/run.sh / scripts/flasher.py -a run / Flet GUI.
  2. 📶 Сеть — устройство в Wi-Fi, сущности в HA.
  3. 🚀 OTA — новая версия на сервере, устройство проверяет и обновляется. См. Обзор OTA.

📁 Где что лежит

ЧтоГде
CLI flasherscripts/flasher.py
GUI (основной, Flet wizard)python scripts/gui_flasher_flet.py
GUI (legacy Tk, Zigbee/EIM)python scripts/gui_flasher.py
Канон Jinja-шаблонов в gitfirmwares/ci-overrides/mihazzzold.espHome_*/
Профили платfirmwares/boards/Гайд
Пример шаблонаfirmwares/example/example.yaml.j2
Zigbee каркасы (ESP-IDF)firmwares/zigbee/Обзор
Гайд по YAMLСтруктура конфига ESPHome
Шаблоны .j2Jinja2 + flasher

📋 Структура репозитория

  • ДиректорияesphomeFlasher/
    • Директорияfirmwares/
      • Директорияci-overrides/ канон Jinja в git (5 прошивок + _shared/)
      • Директорияboards/ профили плат (5 чипов)
      • Директорияzigbee/ ESP-IDF каркасы (8 проектов)
      • Директорияexample/ минимальный шаблон
    • Директорияfirmwares-external/ клоны внешних firmware-репо (gitignored)
    • Директорияscripts/
      • flasher.py главный CLI
      • gui_flasher_flet.py Flet GUI
      • Директорияflasher_gui/ пакет GUI
    • Директорияsrc/content/docs/ этот сайт

🧩 Пример минимального шаблона

После рендера из example.yaml.j2 в конфиге окажутся wifi:, api:, ota::

esphome:
name: example-esp-001
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ota:
- platform: esphome
password: !secret ota_password

📚 Дальше