📘 Что такое ESPHome Flasher
🎯 Для кого
- Домашняя автоматизация (Home Assistant).
- Свои платы и несколько профилей GPIO (
firmwares/boards/*.yaml). - Хочется один раз настроить цепочку рендер
.j2→ compile → upload → OTA.
🛣️ Типичный маршрут
- 🔌 USB —
bin/windows/run.bat/./bin/linux/run.sh/scripts/flasher.py -a run/ Flet GUI. - 📶 Сеть — устройство в Wi-Fi, сущности в HA.
- 🚀 OTA — новая версия на сервере, устройство проверяет и обновляется. См. Обзор OTA.
📁 Где что лежит
| Что | Где |
|---|---|
| CLI flasher | scripts/flasher.py |
| GUI (основной, Flet wizard) | python scripts/gui_flasher_flet.py |
| GUI (legacy Tk, Zigbee/EIM) | python scripts/gui_flasher.py |
| Канон Jinja-шаблонов в git | firmwares/ci-overrides/mihazzzold.espHome_*/ |
| Профили плат | firmwares/boards/ → Гайд |
| Пример шаблона | firmwares/example/example.yaml.j2 |
| Zigbee каркасы (ESP-IDF) | firmwares/zigbee/ → Обзор |
| Гайд по YAML | Структура конфига ESPHome |
Шаблоны .j2 | Jinja2 + 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-001wifi: ssid: !secret wifi_ssid password: !secret wifi_passwordota: - platform: esphome password: !secret ota_password📚 Дальше
🚀 Быстрый старт Первое устройство за 5 минут.
📦 Каталог прошивок 5 готовых прошивок с матрицей плат.
🐝 Zigbee каркасы 8 ESP-IDF проектов на C6/H2.