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

Mitsubishi Heavy Industries, SPI

Mitsubishi Heavy Industries, модель SRK/SRF серий ZS-S и соседние. 5/5 · замена модуля. Модуль Wi-Fi говорит со вторым микроконтроллером.

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

ginkage/MHI-AC-Ctrl-ESPHome переносит absalom-muc/MHI-AC-Ctrl в ESPHome. Кондиционер мастер SPI, ESP ведомый. Это не порт CN105 Mitsubishi Electric и не Ecodan.

Разъём CNS на плате внутреннего блока — JST XH, 5 контактов, шаг 2,5 мм. С него же приходит +12 В. На плате автора стоит TSR 1-2450, 12 В в 5 В, и четырёхканальный преобразователь уровней. В Hardware.md прямо сказано: SCL, MOSI и MISO без сдвига уровней могут повредить ESP8266.

В examples/simple.yaml пины SPI не заданы, плата d1_mini, frame_size: 33. В заголовке ядра absalom-muc, от которого порт отпочковался, стоят SCK_PIN 14, MOSI_PIN 13, MISO_PIN 12. С v4.2 пины можно задать в YAML, но опубликованный simple.yaml этого не делает.

Внутренний блок вскрывает человек, который умеет с ним работать. Автор предупреждает о протечке, ударе током и пожаре. Плату втыкают только на обесточенном блоке.

Ошибка mhi_ac_ctrl_core.loop error: -2 в README порта означает старый кадр: frame_size ставят 20. Тогда пропадают 3D auto и боковые жалюзи. В simple.yaml ещё поднимают частоту ESP8266 до 160 МГц из-за той же ошибки.

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

  • Климат, жалюзи и уличная температура без штатного Wi-Fi-модуля WF-RAC
  • Кадр 33 байта даёт раздельные вверх-вниз и влево-вправо

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

  • Нужна своя плата или кабель JST-XH и преобразователь уровней
  • Список совместимых серий в README absalom-muc не покрывает все SRK. SRK71ZEA-S1, SRK35ZC-S и почти все SRK ZSPR-S там помечены как неподдерживаемые
  • На серии SRK-ZSX плате может не хватить места, это issue 56

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

  • ESP8266, в примере Wemos D1 mini
  • Преобразователь 5 В ↔ 3,3 В на трёх линиях SPI
  • Питание с +12 В разъёма через DC-DC, не напрямую в ESP

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.

Ищут CNS на плате внутреннего блока. Новую плату автора вставляют один в один. Старые ревизии платы требовали перестановки контактов, для текущей разводки это уже не так.

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, паяльник больше не нужен.

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

Прошивают D1 mini по USB, пока она не воткнута в блок под напряжением. Компонент подключают как github://ginkage/MHI-AC-Ctrl-ESPHome@master.

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

esp8266:
  board: d1_mini

logger:
  baud_rate: 0

external_components:
  - source: github://ginkage/MHI-AC-Ctrl-ESPHome@master
    components: [MhiAcCtrl]

MhiAcCtrl:
  # 20 для старых блоков, 33 включает 3D auto и боковые жалюзи
  frame_size: 33

climate:
  - platform: MhiAcCtrl
    name: Кондиционер

select:
  - platform: MhiAcCtrl
    vertical_vanes:
      name: Жалюзи вверх-вниз
    horizontal_vanes:
      name: Жалюзи влево-вправо

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

Климат MhiAcCtrl. Жалюзи — два select. Уличная температура есть в simple.yaml как outdoor_temperature.

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

  • SPI посажен на GPIO без преобразователя уровней
  • Кадр 33 на старом блоке, в логе error -2
  • Кадр 20, а потом ищут боковые жалюзи, которых в этом режиме нет
  • Плату вставили в блок, не сняв питание

9. Источники