1. Название и модель
Компонент wichers/esphome-comfoair говорит со старым последовательным протоколом Zehnder. README перечисляет совместимые: WHR 930 и 950, ComfoAir 160, 200, 500 и 550, ComfoD 300, 350, 450 и 550.
ComfoAir Q350, Q450 и Q600 в этом компоненте не работают: у них CAN. Для них README отсылает к другим проектам, в том числе yoziru/esphome-zehnder-comfoair. G90-300 — это RS-485, не RS-232, MAX3232 туда не сажают. E300 и E400 — Modbus, другой репозиторий.
В примере UART: приём пин 3, передача пин 1, 9600. Компонент шлёт один запрос раз в две секунды, полный круг датчиков занимает около 20 секунд.
Если на установке уже сидит пульт ComfoSense, этот репозиторий линию с ним не делит. Для двух UART есть форк julianpas/esphome-comfoair.
2. Что даёт перепрошивка
- Скорости притока и вытяжки, температуры и байпас в Home Assistant
- Уровень вентиляции меняется локально
- Облако производителя для этой линии не нужно
3. Что теряется
- Серия Q этим файлом не заведётся
- Пульт ComfoSense на той же линии в этом репозитории не поддержан
- Примеры в репозитории по умолчанию без API Home Assistant, его добавляют сами
4. Что понадобится
- ESP8266 или ESP32 и переходник к сервисному порту своей модели
- Понимание, RS-232 у вас, RS-485 или CAN. Форму разъёма README просит не принимать за протокол
- Репозиторий wichers/esphome-comfoair
5. Разборка и пины
Программатор USB–UART подключают к модулю, который прошивают, крест-накрест:
- Земля переходника (GND) — на землю платы. Этот провод обязателен.
- TX переходника — на RX модуля. На плате площадка часто подписана RX, RXD или RXD0.
- RX переходника — на TX модуля. На плате это TX, TXD или TXD0.
- Питание логики — 3,3 В. Пять вольт на эти площадки не подают. Если плату уже кормит её блок, линию 3,3 В с переходника не подключают вторым источником.
- Для входа в загрузчик ESP8266 и ESP32 площадку GPIO0 (IO0, BOOT) замыкают на землю и в этот момент подают питание. После старта записи землю с GPIO0 снимают.
Если у этой модели в тексте ниже другие имена площадок, прямой порядок TX–TX или прошивка по USB, делайте как написано там. Общая схема выше — для обычного модульного UART.
Установку обесточивают по инструкции Zehnder. Сервисный разъём ищут в документации модели. В примере компонента ESP принимает на пине 3 и передаёт на пине 1. Для D1 Mini это аппаратный UART, журнал с него снимают. Земля общая. Питание логики 3,3 В, порт установки может быть другим уровнем. Переходник берут под свой порт.
6. Прошивка
Готового файла «прошивка именно этой модели» на этом сайте нет. Её собирает ESPHome из текстового конфига YAML: туда входят Wi-Fi, пины и команды второго чипа. Чужой .bin из интернета почти наверняка собран с чужим паролем сети.
Какую программу ставить
- ESPHome Dashboard — дополнение в Home Assistant или программа на компьютере. В ней пишут YAML, нажимают Install, и она сама собирает прошивку. Установка: дополнение для Home Assistant или команда
pip install esphome. - ESPHome Web, сайт web.esphome.io, — загрузчик в браузере Chrome или Edge. Им записывают уже собранный
.binна ESP8266 и ESP32 через USB–UART. На BK72xx он не рассчитан. - esptool — программа Espressif, чтобы снять заводскую копию флеша и записать
.bin, если браузер порт не видит. Репозиторий: espressif/esptool. - ltchiptool — то же самое для чипов Beken BK72xx (модули WB3S, WBR3, CB3S и похожие). ESPHome для них собирается через LibreTiny. Программа: libretiny-eu/ltchiptool, описание платы: компонент bk72xx.
Как собрать конфиг
- В Dashboard нажмите New Device и выберите чип, который стоит на плате: ESP8266, ESP32 или BK72xx. Имя — латиницей, без пробелов.
- Пароль Wi-Fi уберите в файл
secrets.yamlрядом с конфигом. В YAML оставьтеssid: !secret wifi_ssidиpassword: !secret wifi_password. - Блок UART, модель и скорости из раздела ниже вставьте в этот файл. Полный пример, если он длинный, берите по ссылке в источниках внизу страницы, а не из гайда соседней модели.
- Строки
api:иota:оставьте. Безapi:Home Assistant устройство не увидит. Ключ шифрования Dashboard предлагает сам, его потом спросит интеграция ESPHome.
Как залить первый раз
- Подключите USB–UART, как в разделе «Разборка и пины»: земля переходника на землю платы, TX переходника на RX модуля, RX переходника на TX модуля. Логика 3,3 В. Имена площадок на конкретной плате — там же.
- Для ESP8266 и ESP32 замкните GPIO0 (IO0, BOOT) на землю и в этот момент подайте питание. Для BK72xx ltchiptool сам просит перезапустить чип, обычно кратким отключением земли.
- В Dashboard: Install → Plug into this computer, выберите порт переходника. Либо Install → Manual download, сохраните
.binи откройте его на web.esphome.io. Из терминала то же самое делаетesphome run имя-устройства.yaml. - Когда в логе появится IP-адрес, GPIO0 от земли отпустите, провода можно отпаять. Следующие обновления идут по Wi-Fi, пункт OTA, паяльник больше не нужен.
Дальше — только то, чем эта модель отличается от общей схемы.
Плата прошивается по USB до укладки в установку. В конфиг добавляют api:, примеры репозитория его выключают специально. Имя установки в блоке comfoair — подпись сущности, не выбор протокола. Протокол один на весь список совместимых моделей.
Базовый конфиг этой модели с карточки или из репозитория компонента. Wi-Fi, пароль и OTA задайте как в общем разделе выше. Пароли из исходника сюда не перенесены.
logger:
baud_rate: 0
uart:
id: uart_bus
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600
external_components:
- source:
type: git
url: https://github.com/wichers/esphome-comfoair
components: [comfoair]
comfoair:
name: ComfoAir
uart_id: uart_bus
ventilation_level:
name: Уровень вентиляции
intake_fan_speed:
name: Приток
exhaust_fan_speed:
name: Вытяжка
outside_air_temperature:
name: Улица
supply_air_temperature:
name: Подача
return_air_temperature:
name: Возврат
exhaust_air_temperature:
name: Выброс
bypass_valve:
name: Байпас
7. Настройка в Home Assistant
Климат и сенсоры температур появятся после ответа установки. Пока в логе тишина, не крутите скорость: сначала добейтесь кадра на 9600.
8. Известные баги и как их обойти
- Конфиг серии Q на старый ComfoAir и наоборот
- MAX3232 на G90-300, где линия RS-485
- Журнал на GPIO1 глушит ответы
- ComfoSense остаётся на линии, и оба хозяина портят кадры
9. Источники
- GitHub wichers/esphome-comfoair https://github.com/wichers/esphome-comfoair
- GitHub ComfoAir Q по CAN, yoziru https://github.com/yoziru/esphome-zehnder-comfoair
- GitHub Форк с ComfoSense, julianpas https://github.com/julianpas/esphome-comfoair