💧 Humidifier System
🧩 Матрица поддержки плат
4 платы Wi-Fi 2 Zigbee каркаса| Плата | Wi-Fi (ESPHome) | Zigbee (ESP-IDF) |
|---|---|---|
| ESP32 (classic) | ✅ | ❌ |
| ESP32-C3 SuperMini | ✅ | ❌ |
| ESP32-C6 SuperMini (рек.) | ✅ | 🐝 C6 Router |
| ESP32-H2 | ❌ нет Wi-Fi | 🐝 H2 End Device |
| ESP8266 NodeMCU | ✅ | ❌ |
🔌 Подключение пинов
| Сигнал | GPIO | Назначение |
|---|---|---|
main_tank | GPIO0 | Датчик бака (INPUT_PULLUP + inverted) |
chamber_low | GPIO1 | Датчик камеры |
relay_humidifier | GPIO5 ⚠️ strapping | IN реле увлажнителя |
relay_fan | GPIO6 | IN реле вентилятора |
relay_pump | GPIO7 | IN реле насоса |
status_led | GPIO8 ⚠️ strapping | LED |
| Сигнал | GPIO |
|---|---|
main_tank | GPIO0 |
chamber_low | GPIO1 |
relay_humidifier | GPIO5 |
relay_fan | GPIO6 |
relay_pump | GPIO7 |
status_led | GPIO8 |
| Сигнал | GPIO |
|---|---|
main_tank | GPIO15 |
chamber_low | GPIO4 |
relay_humidifier | GPIO25 |
relay_fan | GPIO26 |
relay_pump | GPIO27 |
status_led | GPIO2 |
| Сигнал | Метка / GPIO |
|---|---|
main_tank | D7 / GPIO13 |
chamber_low | D5 / GPIO14 |
relay_humidifier | D1 / GPIO5 |
relay_fan | D2 / GPIO4 |
relay_pump | D6 / GPIO12 |
status_led | D4 / GPIO2 |
📁 Структура шаблона
Директорияfirmwares/ci-overrides/mihazzzold.espHome_HumidifierSystem/
- espHome_HumidifierSystem.yaml.j2
Директория_includes/
- runtime.yaml.j2 Wi-Fi, API, OTA, Zigbee (опц.)
- logic.yaml.j2 баки, реле, насос, добег вентилятора
- maintenance.yaml.j2 OTA, SETUP, ZB, серийник, кнопки HA
- diagnostics.yaml.j2 uptime, RSSI, heap
- README.md
- HOME_ASSISTANT.md
- hardware.yaml
📦 Сборка
-
Установите ESPHome + подготовьте
firmwares/secrets.yaml. -
Синхронизируйте:
python scripts/sync_firmwares.py && python scripts/apply_ci_overrides.py. -
Прошейте устройство:
Окно терминала $env:FLASHER_ENABLE_ZIGBEE='0' # стабильная Wi-Fi линияpy -3.13 scripts/flasher.py --local `-f firmwares-external/mihazzzold.espHome_HumidifierSystem/espHome_HumidifierSystem.yaml.j2 `--board-profile esp32c6-supermini -a run --port COM5 -yОкно терминала py -3.13 scripts/flasher.py --local `-f firmwares-external/mihazzzold.espHome_HumidifierSystem/espHome_HumidifierSystem.yaml.j2 `--board-profile esp32c3-supermini -a run --port COM5 -yОкно терминала py -3.13 scripts/flasher.py --local `-f firmwares-external/mihazzzold.espHome_HumidifierSystem/espHome_HumidifierSystem.yaml.j2 `--board-profile esp32-supermini -a run --port COM5 -yОкно терминала py -3.13 scripts/flasher.py --local `-f firmwares-external/mihazzzold.espHome_HumidifierSystem/espHome_HumidifierSystem.yaml.j2 `--board-profile esp8266-nodemcu -a run --port COM5 -y
OTA-каналы: mihazzzold.espHome_HumidifierSystem.{esp32,esp32c3,esp32c6,esp8266}.
🏠 Home Assistant
Сущности с префиксами: TANK: / CHAM: (уровни воды), REL: / PWR: / FAN: (реле и мастер), OTA: / FW: (обновления), NET: / SETUP: / SYS: / DIAG:.
Подробно: HOME_ASSISTANT.md на GitHub — карточки дашборда, автоматизации (low-tank stop, humidity trigger), troubleshooting.
🐝 Zigbee-вариант
🐝 esp32c6-humidifier (Router) Полноценный каркас, питание от сети. Кластеры On/Off × 3 + Humidity — TODO.
🐝 esp32h2-humidifier (End Device) Каркас для батарейного варианта. Кластеры — TODO.