Управление кондиционером в Home Assistant

Пришло время подключить NodeMCU на базе esp8266 к моему Electrolux EACS/I-07HAT/N3.

Как я писал ранее, мой сплит поддерживает wifi донглы платформы Midea, и это стало ключевым фактором в выборе кондиционера для спальни.

В моем регионе весна уже дает о себе знать, и я тут же вспомнил о том, что не закончил с кондиционером — забылось, потом было не до него, а потом вообще не хотелось лазить в сплит зимой. А там оказалось все очень даже просто.

Все сплит системы на платформе Midea, насколько я понимаю, универсальны. Для тех, кто занимается домашней автоматизацией, это большой плюс. Даже в выборе проблем не возникнет — достаточно заглянуть под крышку внутреннего блока и убедиться в присутствии вот такой платы с разъемом под wifi донгл:

На этой неделе я занялся этим спонтанно, поэтому не предусмотрел все заранее, но на данный момент все работает — я управляю своим кондиционером из Home Assistant и вижу его статус, даже если буду включать с ИК пульта.

В карточке дополнительно показана текущая температура в спальне, согласно внутреннего датчика температуры.

Пару лет назад вот такая uart реализация, да еще и недорогая, была только пределом мечтаний. По крайней мере у меня точно. Теперь и выбор сплит систем на этой платформе большой, и прошивка уже написана. Покупай, прошивай и управляй. Красота.

Я еще в прошлом году все спланировал (как оказалось не до конца), когда шерстил форумы. Вот тут большущая ветка на эту тему. Основной источник вдохновения она и страница на сайте esphome.

Для реализации задуманного, помимо нужного кондиционера, нужен модуль с esp8266, который как минимум будет оснащен всем необходимым для связи по uart с мозгами сплит системы, а именно конвертером для этого самого uart. Насколько я понял,из-за того, что у еспшки логика на 3.3в, а у кондея 5в. Изучая вышеописанную ветку форума, я находил варианты подключения wemos d1 mini через такие конвертеры, но это все громоздко и выглядит не очень. Да и нет у меня этого конвертера.

Есть уже готовые, разработанные энтузиастами, донглы для самостоятельного заказа у китайцев, останется только прошить и вставить в свой кондей. Например iot-uni-dongle и midea-mini-dongle. Оба проекта выглядят круто и по одному из них я и хотел заказать у китайцев плату, но долго хотел, видимо. Сейчас неизвестно что с доставкой, поэтому стал делать из того, что доступно. На страничке midea-mini-dongle есть раздел, в котором разработчик этого донгла проводил опыты, и там я нашел для себя то, что мне подходит — недорого, функционально и идеально садится в родной паз wifi модуля. Вот такая плата:

Это плата с уже распаянным модулем esp12f, но у меня этих еспшек есть достаточное количество, поэтому я нашел плату без esp8266, вот такую:

Судя по фоткам на гитхаб, плата должна идеально зайти в пазы посадочного места для донгла, а пока что я сделал временный вариант с NodeMCU, подглядев на форуме возможность подключения пина 5в от сплит системы к 3.3в еспшки. Таких модулей у меня много, спалить NodeMCU было не жалко и я рискнул.

На удивление, белый дым из есп не вышел, и она работает. Естественно, предварительно я ее прошил по старинке, через ESPHome Flasher.

Сначала прошил пустой конфиг с базовыми настройками:

esphome:
  name: bedroom_electrolux_ac

esp8266:
  board: esp01_1m

# Disable logging over UART (required)
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Затем добавил в него компонент midea и обновил через OTA. Итоговый конфиг выглядит следующим образом:

esphome:
  name: bedroom_electrolux_ac

esp8266:
  board: esp01_1m

# Disable logging over UART (required)
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# UART settings for Midea dongle (required)
uart:
  tx_pin: 1         # hardware dependant
  rx_pin: 3         # hardware dependant
  baud_rate: 9600
  
# Main settings
climate:
  - platform: midea
    name: bedroom electrolux ac         # Use a unique name.
#    transmitter_id:             # Optional. Add this option to use IR transmitter.
    period: 1s                  # Optional
    timeout: 2s                 # Optional
    num_attempts: 3             # Optional
    autoconf: true              # Autoconfigure most options.
    beeper: true                # Beep on commands.
    visual:                     # Optional. Example of visual settings override.
      min_temperature: 17 °C    # min: 17
      max_temperature: 30 °C    # max: 30
      temperature_step: 1 °C  # min: 0.5
    supported_modes:            # All capabilities in this section detected by autoconf.
      - FAN_ONLY                # This capability is always used.
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:
      - SILENT
      - TURBO
    supported_presets:          # All capabilities in this section detected by autoconf.
      - ECO
      - BOOST
      - SLEEP                   # This capability is always used.
    custom_presets:             # All capabilities in this section detected by autoconf.
      - FREEZE_PROTECTION
    supported_swing_modes:
      - VERTICAL                # This capability is always used.
      - HORIZONTAL
      - BOTH

Как я показывал выше, теперь есть возможность управлять кондиционером и видеть его реальный статус. Один пункт из желаний по автоматизации можно вычеркнуть. Пока что расположил есп за пределами корпуса для wifi донгла, в свободном месте для забора воздуха.

P.S. Когда придет плата-адаптер для esp сделаю обновление этой статьи.

Адаптер для esp-01 успешно трудится вместо NodeMCU, которой 5в, видимо, не совсем нравились.

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

56 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
evadim
evadim
2 лет назад

Спасибо. Я вот так же почуяв тепло вернулся к выбору кондиционера…

Максим Дрождь
Максим Дрождь
2 лет назад

Интересно, кондиционеры Tosot этот протокол поддерживают? Как раз встала проблема управления оным.

evadim
evadim
2 лет назад
Ответить на  Максим Дрождь

Tosot это собственный бренд Gree, для него есть отдельная интеграция — с виду без колхоза и local polling, то есть работающая мимо облака.

Максим Дрождь
Максим Дрождь
2 лет назад
Ответить на  evadim

С интеграцией знаком, у меня через нее Cooper & Hunter работает, проблема в том, что Tosot без wifi модуля и не знаю, есть ли возможность его подключить. Надо разобрать будет.

Анзор
Анзор
2 лет назад
Ответить на  evadim

Не подскажите что за интеграция? И есть ли решение на esp8266?

Alex R
Alex R
2 лет назад

Благодарю, всё получилось и заработало в ХА!

guest
guest
1 год назад

спасибо за идею! а есть ли такое решение на Zigbee вместо wifi ?

negigos363
negigos363
1 год назад

Доброго дня! очень интересное решение!
1.подскажите где поподробнее почитать пошагово как прошить ESP8266 ESP-12F V1.0 (https://aliexpress.ru/item/32815395082.html?sku_id=64611638098 )
2 Где вы нашли вторую часть прошивки с компонентами для Midea можетьли быть что для разных моделей кондиционеров набор компонентов разный.

Заранее спасибо!

negigos363
negigos363
1 год назад

вот есть интеграция USB + zigbee https://aliexpress.ru/item/1005002912728549.html?sku_id=12000022746702264&spm=a2g2w.productlist.search_results.13.1b8c4aa60yLc3c
ZigBee Usb-модуль 2,4 ГГц USB для TTL UART CH340G CC2530 E18-MS1-PCB
как Вы думаете можно ли реализовать такое же управление но уже по zigbee а не по wifi ? спасибо!

guest
guest
1 год назад

Приветствую!
подскажите, а как можно подключить к компу если я планирую использовать адаптер ESP-12F/12E (https://aliexpress.ru/item/1005002833245073.html?sku_id=12000022387655626)
нужен еще какой то адаптер или ее можно напрямую подключать к USB?

Заранее спасибо!

гость
гость
1 год назад

Подскажите а как создать файл с прошивкой формата *.bin, который нужно загружать через ESPHome Flasher. 😕

гость
гость
1 год назад

Подскажите пожалуйста, при попытке прошить выдает ошибку следующего вида:

Using ‘COM4’ as serial port.
Unexpected error: could not open port ‘COM4’: PermissionError(13, ‘Отказано в доступе.’, None, 5)

причем пробую разными адаптерами, но ситуация одинаковая.

в какую сторону копать ?

спасибо!

Константин Василенко
Константин Василенко
1 год назад

Здравствуйте. Прошил, подключил к кондиционеру медеа. Добавил виджет, а кондиционером не получается управлять. В логах есп:

Спойлер
[23:23:02][W][component:205]: Components should block for at most 20-30ms.
[23:23:04][D][ApplianceBase:139]: Response timeout…
[23:23:04][D][ApplianceBase:154]: Destroying the request…
[23:23:04][D][AirConditioner:178]: Enqueuing a GET_STATUS(0x41) request…
[23:23:04][D][ApplianceBase:173]: Enqueuing the request…
[23:23:04][W][component:204]: Component midea.climate took a long time for an operation (0.14 s).
[23:23:04][W][component:205]: Components should block for at most 20-30ms.
[23:23:04][D][ApplianceBase:075]: Getting and sending a request from the queue…

На кондиционере нужно что то нажать что бы заработало? К роутеру есп подключилась. Покупал на алике как в вашем посте. Направите в какой стороне искать решение проблемы.

Константин Василенко
Константин Василенко
1 год назад
Ответить на  kvv

Спасибо. Менял местами провода. Но ничего не изменилось. В логах отсутствует rx. Сейчас снес все под 0 и начинаю снова прошивать.

Константин Василенко
Константин Василенко
1 год назад
Ответить на  kvv

Завелось!) Я так и не понял в чем дело было) Спасибо!!!!

Daggers
Daggers
11 месяцев назад

Повезло… У меня никак не заводится…
HomeAssistant модуль сам находит, но кондей им не управляется никак =( У меня модуль d1 mini, подключал к кондею и по ЮСБ, и подпаял разъём к TX, RX, +5v, GND и втыкал в кондей, менял местами RX и TX — ничего не меняется =(

rulezzz
1 год назад

Заказал такую https://aliexpress.ru/item/32815395082.html плату по ссылке
Не могу прошить через ESP Flasher
Прошиваю через CH340
RX TX крест на крест подключил.

Вот выдает ошибку:
Using ‘COM6’ as serial port.
Connecting………………………………..
Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: No serial data received.
For troubleshooting steps visit: https://github.com/espressif/esptool#troubleshooting

Не пойму что делаю не так?

rulezzz
1 год назад
Ответить на  kvv

Другим адаптером не пробовал, у меня только один адаптер есть. При вставке в комп он обнаруживается как USB-SERIAL CH340, дрова поставил.
Вот у меня так это выглядит. Тут надо что-то замкнуть? Я уже просторы инета устал шерстить как прошить это. Прям такой же платы не встретил, но видел как сам esp12f прошивают и там куча всего надо соединить. Но вот на моей платке как делать?

photo_2023-10-01_10-51-27.jpg
rulezzz
1 год назад
Ответить на  kvv

Благодарю за такой развернутый ответ! Я гадал нужно ли что-то замыкать или нет. Спасибо, что развеяли сомнения, изучу Ваш ответ и на всякий случай погуглю еще и попытаюсь сам разобраться и сравню результат с Вашим предложением

rulezzz
8 месяцев назад
Ответить на  rulezzz

Ох, вот только что дошли снова руки. В общем и правда был виноват программатор. Заказал я на алике отсюда программатор Модуль CP2102 USB для TTL serial UART STC, кабель для загрузки PL2303 соединил ESP12F с программатором RX и TX крест на крест, соединил контакты GND и GPIO0, вставил в ПК, запустил esphomeflasher, выбрал прошивку, которую создал через HA модуль ESP Home и нажал прошить. Все время держал GND и GRPIO0 замкнутыми, он прошился за секунд 20. И при следующем подключении к ПК с этим же программатором я увидел в HA подключенный модуль. Ура! Блин сколько я мучался, а оказалось, что… Подробнее »

S42131dbfafc94a439a7041e86cad1da9t.jpg_640x640
rulezzz
8 месяцев назад
Ответить на  kvv

Вот досада. В моем сплите electrolux eacs/i-07hsk/n3 к плате подключен USB-мама, но там 12V. То есть производитель сделал свой донгл на 12V. Прикладываю фото платы, куда подключатся USB разъем. На ответной части штекера задействованы только 4 разъема для штырьков +12V, GND, RX, TX. Штырек POW при этом не имеет контакта. Так вот блин как мне теперь подключить мою прошитую ESP. Замерил тестером плату и вот что получил: между GND и +12V действительно 12V между RX\TX и +12V показывает 5V Сделал аналогичный замер с программатора: между GND и +5V показывает 5V между RX\TX и +5V показывает 3V Не знаю что мне… Подробнее »

photo_2024-04-01_16-55-18
rulezzz
8 месяцев назад
Ответить на  kvv

спасибо, посмотрю. я подключил esp8266 через такой преобразователь, настроив его на выходное напряжение примерно 4.5V, он запустился, подключился к wifi, но не сконнектился со сплитом, сплит в ответ молчит. Я менял местами TX RX. В логах вижу примерно следующее [21:34:14][D][ApplianceBase:139]: Response timeout… [21:34:14][D][ApplianceBase:146]: Sending request again. Attempts left: 2… [21:34:14][D][ApplianceBase:162]: TX: AA 21 AC 8D 00 00 00 00 00 03 41 81 00 FF 03 FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 03 01 69 71  [21:34:16][D][ApplianceBase:139]: Response timeout… [21:34:16][D][ApplianceBase:146]: Sending request again. Attempts left: 1… [21:34:16][D][ApplianceBase:162]: TX: AA 21 AC… Подробнее »

Hff6e556367b64164b801544798c369b7K
Daggers
Daggers
11 месяцев назад

Здравствуйте!
Прошу помощи, уже всю голову сломал и ноги накачал, пока к кондеям скакал…
Есть два Электролюкса EACS/I-09HAT/N3_20Y/in, купленные в 2021 году, и есть модули ESP8266 распаяные заботливыми китайцми на плату d1_mini. Прошиваются без проблем и по ЮСБ и через ОТА, но кондей им отвечать никак не хочет. Подключаю и напрямую от RX\TX, и через ЮСБ — всё им пофиг =( Что я делаю не так?

IMG_20231204_211622
Daggers
Daggers
11 месяцев назад
Ответить на  Daggers

Забыл написать, что на еспшку захожу, вижу логи, там отправка запрос и отвал по таймауту. RX\TX местами менял — толку ноль =(

Daggers
Daggers
11 месяцев назад
Ответить на  Daggers

Вот такое загружаю: esphome:   name: bedroom-ac   friendly_name: bedroom_ac esp8266:   board: wemos # Enable logging logger: # Enable Home Assistant API api: ota: wifi:   ssid: !secret wifi_ssid   password: !secret wifi_password   # Enable fallback hotspot (captive portal) in case wifi connection fails   ap:     ssid: "Bedroom-Ac Fallback Hotspot"     password: "Bedroom-Ac" captive_portal: web_server:   port: 80 # UART settings for Midea dongle (required) uart:   tx_pin: 1         # hardware dependant   rx_pin: 3         # hardware dependant   baud_rate: 9600   # Main settings climate:  … Подробнее »

Daggers
Daggers
11 месяцев назад
Ответить на  kvv

Спасибо за совет, но там вся логика управления на плате, в которую модуль и втыкается, а в блок идёт всего 4 проводка. Если б с ними что то не в порядке было бы, то и с пульта не работало бы. Сегодня наткнулся на такой пост, там пишут, что «Wemos D1 mini has only one fully-functional UART that is already occupied by USB-to-Serial onboard converter.» и что нужен поможет конвертер I2C. Поъоже на правду. Попробую купить конверетеры и подпаять их. Заодно закажу другие ЕСПшки, что ли, для экспериментов =) Как получится или не получится — дам знать, но будет это только… Подробнее »

Daggers
Daggers
11 месяцев назад
Ответить на  kvv

Ну что ж, снова я. Приехали конвертеры, сделал как указано в статье — и всё завелось. =) Всем спасибо, хорошо бы в статье упомянуть про этоу осбоенность wemos d1…

Андрей
Андрей
11 месяцев назад

Добрый день! А какую интеграцию используете в HA? Т.е. каким образом добавить в Home Assistance то, что получилось? Я пошел немного другим путем — приобрел Daichi DW DW22-B , кондиционер в сети, могу управлять через нативное приложение Daichi, но вот как добавить в Home Assistant, с помощь какой интеграции, так пока и не понял

JD99
JD99
2 месяцев назад

подскажите у вас получилось через nodemcu управлять в итоге?

JD99
JD99
2 месяцев назад
Ответить на  kvv

Это наверное потому что надо питание подавать не на 3,3 пин а на vin. А логические уровни на этом модуле 5в или 3? На nodemcu померял 3в, возможно нужно чтобы были 5в. У меня Electrolux EACD-18H/UP4-DC/N8 на плате есть разъем wifi. Ни в какую не подключается. В логе вроде такого. 18:16:06 [D] [AirConditioner:131] Enqueuing a GET_POWERUSAGE(0x41) request… 18:16:06 [D] [ApplianceBase:173] Enqueuing the request… 18:16:06 [D] [ApplianceBase:075] Getting and sending a request from the queue… 18:16:06 [D] [ApplianceBase:162] TX: AA 22 AC 8E 00 00 00 00 00 03 41 21 01 44 00 00 00 00 00 00 00 00… Подробнее »

Последний раз редактировалось 2 месяцев назад JD99 ем
Агат
Агат
24 дней назад

А где взять скетч для прошивки?

Агат
Агат
24 дней назад

А для Electrolux собранных на зоводе GREE эта прошивка не подойдет? Может подскажите для GREEшных есть подобные прошивки?