Делаем из глупого кондиционера умный с помощью esp32c3 и Home Assistant

Управлять кондиционером возможно напрямую через Home Assistant с помощью самодельного Wi-Fi адаптера. Подавляющее большинство современных кондиционеров оснащены USB-UART интерфейсом для подключения оригинальных Wi-Fi модулей (таких как Hommyn, SmartKit и аналогичных). Эти модули доступны на маркетплейсах, однако имеют существенный недостаток — ориентация на облачные сервисы и слабая совместимость с Home Assistant.

Существует простой способ автоматизировать управление кондиционером через расширение ESPHome для Home Assistant. Достаточно базовых навыков работы с паяльником и минимального набора компонентов: микроконтроллер на базе ESP (например, ESP8266 или ESP32), четыре провода и настройка прошивки через ESPHome. После подключения ESP к внутреннему UART разъёму кондиционера управление осуществляется напрямую, без облаков и задержек, через интерфейс Home Assistant.

Метод подключения зависит от бренда и протокола, по которому работает конкретная модель. Некоторые устройства используют протоколы Midea, LG, Daikin, Panasonic и другие. Перед началом настройки рекомендуется определить поддерживаемый протокол, чтобы выбрать подходящую конфигурацию для ESPHome.

В данном случае производится подключение кондиционера Ballu BSD/in-07HN1_20Y, использующего протокол Midea. Для данного протокола уже реализована поддержка в ESPHome, предоставляющая полный контроль: включение и выключение, установка температуры, выбор режима работы, регулировка скорости вентилятора и другие функции. Такое решение позволяет легко интегрировать кондиционер в систему умного дома.

Сплит-система BALLU BSD-07HN1_20Y купить в Екатеринбурге в интернет-магазине КлиматМаркет96.ру

Для подключения адаптера потребуется частично разобрать кондиционер и получить доступ к плате индикации, на которой расположен разъём подключения Wi-Fi модуля (обычно это USB-UART интерфейс).

Важно: перед началом работ обязательно отключить питание кондиционера от электросети!

  1. Приподнимите переднюю крышку кондиционера.

  2. Найдите пластиковую заглушку с символом Wi-Fi и открутите крепёжный винт.

  3. Осторожно освободите защёлки и снимите корпус, закрывающий плату индикации.

  4. На плате индикации находится разъём с маркировкой CN3 — это стандартный UART-интерфейс с шагом 2.54 мм.

Для подключения к этому разъёму используется микроконтроллер ESP32-C3 (также возможно применение ESP8266 или классического ESP32, с учётом их особенностей). Наиболее удобно использовать готовый четырёхпиновый коннектор XH2.54 4P с проводами. В случае отсутствия подходящего разъёма можно применить обычные провода для макетирования. Шаг 2.54 разъёма позволяет это сделать без дополнительной пайки на плате кондиционера.

Практические испытания показали, что ESP32-C3 корректно работает с 5-вольтовой логикой, характерной для платы индикации, и не требует понижения логических уровней на линиях TX и RX.

Распиновка разъёма следующая (цвета могут отличаться в зависимости от используемого провода):

  • Белый — +5V

  • Серый — GND

  • Жёлтый — TX

  • Красный — RX

На стороне ESP32-C3 обычно используются пины:

  • GPIO3 — RX

  • GPIO1 — TX

Подключение осуществляется напрямую, без промежуточных компонентов.

После аппаратной части можно переходить к настройке программного обеспечения:

  1. В интерфейсе Home Assistant установите дополнение ESPHome.

  2. Создайте новое устройство, укажите имя, например, climate, и выберите плату ESP32-C3.

  3. После создания проекта откройте и отредактируйте автоматически сгенерированный YAML-файл.

Ниже представлен пример конфигурации YAML для кондиционеров, работающих по протоколу Midea:

esphome:
  name: climate
  friendly_name: climate

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: arduino

# Enable logging
logger:
    baud_rate: 0

# Enable Home Assistant API
api:
  encryption:
    key: "ваш ключ"

ota:
  - platform: esphome
    password: "ваш пароль"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Climate Fallback Hotspot"
    password: "ваш пароль"

uart:
  id: ac_uart_bus
  tx_pin: GPIO01
  rx_pin: GPIO03
  baud_rate: 9600

climate:
  - platform: midea
    name: Midea Climate         # Use a unique name.
    uart_id: ac_uart_bus
    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: 0.5 °C  # min: 0.5
    supported_modes:            # Optional. All capabilities in this section may be detected by autoconf.
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:           # Optional
      - SILENT
      - TURBO
    supported_presets:          # Optional. All capabilities in this section may be detected by autoconf.
      - ECO
      - BOOST
      - SLEEP
    custom_presets:             # Optional. All capabilities in this section may be detected by autoconf.
      - FREEZE_PROTECTION
    supported_swing_modes:      # Optional
      - VERTICAL
      - HORIZONTAL
      - BOTH
    outdoor_temperature:        # Optional. Outdoor temperature sensor (may display incorrect values after long inactivity).
      name: Temp
    power_usage:                # Optional. Power usage sensor (only for devices that support this feature).
      name: Power
    humidity_setpoint:          # Optional. Indoor humidity sensor (only for devices that support this feature).
      name: Humidity

После компиляции и прошивки ESP32-C3 подключите адаптер к разъёму CN3 на плате индикации. Home Assistant должен автоматически обнаружить новое устройство через ESPHome. Добавьте интеграцию и проверьте управление.

Функциональность зависит от модели кондиционера: некоторые поддерживают не все функции, такие как выбор направления обдува или таймер, но основные — включение, выключение, установка температуры, режим работы и скорость вентилятора — работают стабильно. Этого вполне достаточно для базовой автоматизации климата в умном доме.

Интеграция с Home Assistant легко пробрасывается в умный дом Яндекс, что позволяет управлять кондиционером голосом через колонку с Алисой.

После настройки устройство появляется в приложении «Яндекс», где можно использовать голосовые команды типа:

  • «Алиса, включи кондиционер»

  • «Алиса, сделай температуру 24 градуса»

  • «Алиса, включи охлаждение»

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

  • датчикам температуры и влажности;

  • датчикам открытия окон/дверей;

  • датчикам присутствия;

  • времени суток или погодным условиям.

Пример автоматизации в Home Assistant:
Если температура в комнате выше 27 °C и кто-то дома — включить кондиционер в режим охлаждения на 23 °C.

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

Ресурсы которые могут пригодится вам для настройки вашего кондиционера. Протокол AUX. ТГ группы обсуждения интеграций РАЗ и ДВА

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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