Обновлено 2026-09-22

Midea, кондиционер по UART

Midea, модель Midea и OEM: Comfee, Electrolux, Carrier, Inventor. 4/5 · пайка. Модуль Wi-Fi говорит со вторым микроконтроллером.

1. Название и модель

Компонент midea говорит с внутренним блоком по UART, 9600. Документация прямо пишет, что логика пятивольтовая и на 3,3 В линия обычно молчит. Нужен преобразователь уровня.

Тот же протокол документация относит к Electrolux, Qlima, Artel, Carrier, Comfee, Inventor и Senville. Это один гайд на семейство, а не отдельная карточка на каждую наклейку.

Готовые донглы, на которые рассчитан компонент: IoT Uni Dongle и Midea SLWF-01pro. Свой адаптер описан у reneklootwijk: ESP-01, переходник с преобразователем уровня и стабилизатором, разъём USB-A или JST-XH.

Штатный донгл SK102/SK103 к облаку Midea этот гайд не перепрошивает. Его снимают и на тот же разъём сажают свой ESP.

2. Что даёт перепрошивка

  • Режим, температура и качание шторок локально, без облака Midea
  • Один YAML закрывает OEM-марки из списка документации
  • Готовый донгл прошивается как обычный ESP, внутренний блок не вскрывают

3. Что теряется

  • Свой донгл требует преобразователь 5 В и питание с разъёма кондиционера
  • Приложение производителя донгл больше не видит
  • Не каждый блок отдаёт мощность и влажность: в компоненте эти датчики помечены как поддержка не у всех

4. Что понадобится

  • ESP8266 или ESP32 и преобразователь уровня 5 В ↔ 3,3 В, если платы донгла с ним ещё нет
  • Разъём под штатный порт: USB-A или JST-XH, как на блоке
  • Компонент midea уже входит в ESPHome, внешний репозиторий не нужен

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.

Внутренний блок не разбирают. Снимают штатный Wi-Fi-донгл. На его разъёме, по таблице custom-dongle:

  • контакт 1 — питание, на Vcc адаптера ESP-01
  • контакт 2 — Rx, на Rx адаптера
  • контакт 3 — Tx, на Tx адаптера
  • контакт 4 — земля

Нумерация одна и та же для USB и для JST-XH в этой таблице. Пример YAML ниже берёт аппаратный UART ESP8266: передача GPIO1, приём GPIO3. На ESP32 эту пару заменяют на свободный UART, скорость остаётся 9600.

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.

Как собрать конфиг

  1. В Dashboard нажмите New Device и выберите чип, который стоит на плате: ESP8266, ESP32 или BK72xx. Имя — латиницей, без пробелов.
  2. Пароль Wi-Fi уберите в файл secrets.yaml рядом с конфигом. В YAML оставьте ssid: !secret wifi_ssid и password: !secret wifi_password.
  3. Блок UART, модель и скорости из раздела ниже вставьте в этот файл. Полный пример, если он длинный, берите по ссылке в источниках внизу страницы, а не из гайда соседней модели.
  4. Строки api: и ota: оставьте. Без api: Home Assistant устройство не увидит. Ключ шифрования Dashboard предлагает сам, его потом спросит интеграция ESPHome.

Как залить первый раз

  1. Подключите USB–UART, как в разделе «Разборка и пины»: земля переходника на землю платы, TX переходника на RX модуля, RX переходника на TX модуля. Логика 3,3 В. Имена площадок на конкретной плате — там же.
  2. Для ESP8266 и ESP32 замкните GPIO0 (IO0, BOOT) на землю и в этот момент подайте питание. Для BK72xx ltchiptool сам просит перезапустить чип, обычно кратким отключением земли.
  3. В Dashboard: Install → Plug into this computer, выберите порт переходника. Либо Install → Manual download, сохраните .bin и откройте его на web.esphome.io. Из терминала то же самое делает esphome run имя-устройства.yaml.
  4. Когда в логе появится IP-адрес, GPIO0 от земли отпустите, провода можно отпаять. Следующие обновления идут по Wi-Fi, пункт OTA, паяльник больше не нужен.

Дальше — только то, чем эта модель отличается от общей схемы.

Журнал с GPIO1 снимают, logger.baud_rate: 0. В климате autoconf: true сам спрашивает режимы блока. beeper: false убирает писк на каждую команду. Follow Me и шаг шторок в документации идут через remote_transmitter, в базовый конфиг они не входят.

Базовый конфиг этой модели с карточки или из репозитория компонента. Wi-Fi, пароль и OTA задайте как в общем разделе выше. Пароли из исходника сюда не перенесены.

logger:
  baud_rate: 0

# GPIO1 и GPIO3 — аппаратный UART ESP8266 / ESP-01. На ESP32 возьмите другую пару.
uart:
  tx_pin: GPIO1
  rx_pin: GPIO3
  baud_rate: 9600

climate:
  - platform: midea
    name: Кондиционер
    period: 1s
    timeout: 2s
    num_attempts: 3
    autoconf: true
    beeper: false
    visual:
      min_temperature: 17 °C
      max_temperature: 30 °C
      temperature_step: 0.5 °C

7. Настройка в Home Assistant

Сущность климата придёт через API. Уличную температуру и мощность включайте, только если блок их отдаёт: после долгого простоя уличный датчик в документации описан как способный показать неверное число.

8. Известные баги и как их обойти

  • Линия 3,3 В без преобразователя, блок молчит
  • TX и RX перепутаны относительно таблицы контактов 2 и 3
  • Журнал оставлен на GPIO1 и забивает UART кондиционера
  • Включённые в YAML режимы, которых нет у блока. С autoconf: true список лучше не перечислять вручную

9. Источники