Assistant wi fi модуль

Подключение кондиционеров Haier к Home Assistant

Лето 2019-го года выдалось холодным, что дало некоторый люфт по времени для изучения вопроса как по установке кондиционеров, так и по их интеграции в систему умного дома Home Assistant. В моем случае, в каждую комнату застройщиком изначально были заведены трассы хладагента, конденсата и электропроводки, которые выведены в специальное техническое помещение на этаже, в котором и подразумевается монтаж одного внешнего блока на всю квартиру. Все вышесказанное вынуждает устанавливать дорогостоящую мультисплит систему. Осложнением было еще то, что моя квартира находится довольно далеко от этого помещения, а конфигурация и длина коммуникаций диктуют необходимые параметры внешнего блока и его ценник. Опуская долгий процесс поиска и анализа представленных на рынке мультисплит систем, обращения к различным специалистам и компаниям по установке, выбор пал на единственный адекватный по цене вариант — Haier (конкретную модель внешнего блока не указываю, т.к. для реализации управления из умного дома она вообще не принципиальна, будь-то обычный кондиционер или мултисплит). Далее я освещу все необходимые шаги для интеграции кондиционеров Haier в Home Assistant, начиная с железа и заканчивая интерфейсом управления.

Способ управления

Для интеграции кондиционера Haier в HA он должен иметь модуль управления по Wi-Fi (я установил внутренние блоки серии Lightera). Штатное управление кондиционером по Wi-Fi осуществляется через серверы Haier, как и любые другие аналогичные решения, например, Xiaomi. Такой подход нам не годится.

Модуль Wi-Fi в кондиционерах Haier сделан в виде простой «флешки», которую можно спокойно извлечь и заменить на «что-то свое». Вот так это выглядит в стоке:

И тут мне повезло наткнуться на одну статью, в которой представлена вся техническая часть по созданию собственного модуля для управления кондиционерами Haier по протоколу MQTT, в качестве сервера у автора использовался ioBrocker. В силу того, что с изготовлением подобных устройств я никогда не сталкивался, то просто связался с автором статьи и заказал сразу 3 модуля — по 1 штуке на каждую комнату.

Итого для интеграции требуется:

  • внутренний блок Haier с поддержкой Wi-Fi (в моем случае — Lightera);
  • специальный модуль управления;
  • сервер умного дома с MQTT (в моем случае — hassio, в связке с mosquitto).

Подключение

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

2. Находим в окне настройки свою Wi-Fi сеть 2,4ГГц, вводим пароль и заполняем следующие поля:

  • ip адрес MQTT сервера — у меня это адрес малины;
  • порт сервера MQTT, не трогаем;
  • логин от mosquitto;
  • пароль от mosquitto;
  • имя кондиционера (как я понял, ни на что не влияет);
  • путь к топикам MQTT для конкретного модуля. Если у вас 1 кондиционер — можно не править. Если 2 и более — у каждого должен быть уникальный путь, у меня это «myhome/topic«, «myhome/topic2» и «myhome/topic3«.
Читайте также:  Изменить пароль вай фай ета

После заполнения граф и нажатия кнопки «save», модуль подключится к домашней сети Wi-Fi и к MQTT-серверу.

3. Для проверки работоспособности подключенного модуля, я использую MQTT explorer. Тут все довольно просто: логинимся на свой MQTT сервер, включаем кондиционер с пульта, и если все работает — видим все топики кондиционера. Самые важные:

  • Power — питание — on, off;
  • Set_Temp — целевая температура — от 16 до 30 градусов по Цельсию;
  • Current_Temp — температура, которую измеряет кондиционер;
  • Mode — режим работы кондиционера — cool, heat, smart, vent, dry;
  • Fan_speed — скорость потока — min, mid, max, auto;
  • Swing — направление потока воздуха — ud (вверх/вниз), lr (влево/вправо), off, (нет движения), all (движение шторок в обоих направлениях);
  • Lock_Remote — блокировка кнопок пульта — true, false;
  • RAW — код команды, который считывает кондиционер.

Настройка

Убедившись, что кондиционер подключён к MQTT-серверу, добавляем в configuration. yaml компонент климата:

climate: — platform: mqtt name: cond_zal modes: — «cool» — «heat» — «smart» — «vent» — «dry» fan_modes: — «min» — «mid» — «max» — «auto» swing_modes: — «ud» — «lr» — «all» — «off» max_temp: 30 min_temp: 16 precision: 1.0 retain: true power_command_topic: «myhome/topic/set/Power» mode_command_topic: «myhome/topic/set/Mode» mode_state_topic: «myhome/topic/Mode» temperature_command_topic: «myhome/topic/set/Set_Temp» temperature_state_topic: «myhome/topic/Set_Temp» fan_mode_command_topic: «myhome/topic/set/Fan_Speed» fan_mode_state_topic: «myhome/topic/Fan_Speed» swing_mode_command_topic: «myhome/topic/set/Swing» swing_mode_state_topic: «myhome/topic/Swing» current_temperature_topic: «myhome/topic/Current_Temp»

P.S. Опытным путем установлено, что топик для чтения состояния имеет путь «myhome/topic/***», а топик для изменения состояния — «myhome/topic/set/***».

Однако со штатным компонентом климата не все так гладко.

Во-первых. Выбор режимов работы кондиционера ограничивается встроенными в компонент состояниями: “auto”, “off”, “cool”, “heat”, “dry”, “fan_only”, из-за чего режимами «smart» и «vent» воспользоваться не удастся.

Во-вторых. Выставлять и мониторить температуру, можно регулировать скорость и направление потока воздуха, а банальное включение / выключение кондиционера не работает. Причина, как я понял, в том, что питание и режимы кондиционера разнесены по разным топикам, а HA такое разбиение корректно не поддерживает. Здесь нужно либо внимательно изучить матчасть, либо пойти другим путем, что я собственно и сделал.

P.S. Если Вам известна возможность отладить эту интеграцию при помощи средств HA, прошу отписаться в комментариях 🙂

Читайте также:  Пароль от wifi победа

Настройка. Другой путь

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

1. Питание. Включение и выключение кондиционера отдельным переключателем.

switch: — platform: mqtt name: ac_zal_power icon: mdi:power-standby command_topic: «myhome/topic/set/Power» state_topic: «myhome/topic/Power» payload_off: «off» payload_on: «on» state_off: «off» state_on: «on»

2. Сенсоры. Прописываем необходимые сенсоры: целевая температура, текущая температура, режим работы, скорость и направление потока. Остальное не нужно, если им не пользоваться.

# Выставленная температура — platform: mqtt name: ac_zal_set_temp state_topic: ‘myhome/topic/Set_Temp’ unit_of_measurement: «°C» icon: mdi:thermometer # Текущая температура — platform: mqtt name: ac_zal_current_temp state_topic: ‘myhome/topic/Current_Temp’ unit_of_measurement: «°C» icon: mdi:thermometer # Режим работы — platform: mqtt name: ac_zal_mode state_topic: ‘myhome/topic/Mode’ icon: mdi:hvac # Скорость потока — platform: mqtt name: ac_zal_fan_speed state_topic: ‘myhome/topic/Fan_Speed’ icon: mdi:concourse-ci # Направление потока — platform: mqtt name: ac_zal_swing state_topic: ‘myhome/topic/Swing’ icon: mdi:tailwind

3. Скрипты. Для управления кондиционером создаем скрипты. Для себя я сделал дополнительные условия их срабатывания — кондиционер должен быть включен. Вы же эту часть кода можете вырезать без потери основного функционала.

############################## #### Режимы #### ############################## # Обогрев ac_zal_heat_on: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Mode’ payload: ‘heat’ # Охлаждение ac_zal_cool_on: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Mode’ payload: ‘cool’ # Автоматический режим ac_zal_smart_on: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Mode’ payload: ‘smart’ # Режим вентиляции ac_zal_vent_on: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Mode’ payload: ‘vent’ # Осушение ac_zal_dry_on: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Mode’ payload: ‘dry’ ################################# #### Регулировка температуры #### ################################# # Прибавить ac_zal_temp_up: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: numeric_state entity_id: sensor.ac_zal_set_temp below: 30 — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Set_Temp’ payload_template: «>» # Убавить ac_zal_temp_down: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: numeric_state entity_id: sensor.ac_zal_set_temp above: 16 — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Set_Temp’ payload_template: «>» ############################## #### Скорость потока #### ############################## # Минимальная ac_zal_fan_speed_min: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Fan_Speed’ payload: ‘min’ # Средняя ac_zal_fan_speed_mid: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Fan_Speed’ payload: ‘mid’ # Максимальная ac_zal_fan_speed_max: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Fan_Speed’ payload: ‘max’ # Автоматическая ac_zal_fan_speed_auto: sequence: — condition: and conditions: — condition: state entity_id: switch.ac_zal_power state: «on» — condition: template value_template: «>» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Fan_Speed’ payload: ‘auto’ ############################ #### Регулировка шторок #### ############################ # Регулировка по вертикали ac_zal_swing_up_down: sequence: — condition: state entity_id: switch.ac_zal_power state: «on» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Swing’ payload_template: > > > > > # Регулировка по горизонтали ac_zal_swing_left_right: sequence: — condition: state entity_id: switch.ac_zal_power state: «on» — service: mqtt.publish data_template: topic: ‘myhome/topic/set/Swing’ payload_template: > > > > >

Читайте также:  Телевизор самсунг отключается от wifi

По поводу регулировки шторок.

Когда топик «Swing» имеет значение «ud» (или «all»), шторки, регулирующие направление потока по вертикали, начинают плавно двигаться, при смене значения топика на «lr» или «off» — останавливаются и фиксируются в нужном положении.

Когда топик «Swing» имеет значение «lr» (или «all»), шторки, регулирующие направление потока по горизонтали, начинают плавно двигаться. Однако, при отключении этой регулировки (значение топика «ud» или «off»), они возвращаются в центральное положение. Т.е. тут реализуется либо постоянное изменение направления потока воздуха по горизонтали, либо блокировка потока только по направлению «вперед». Как быть в такой ситуации:

установить комфортное направление потока воздуха по горизонтали с пульта ДУ и больше никогда не трогать эту регулировку;периодически пользоваться пультом.Т.к. используемый Wi-Fi модуль повторяет функционал штатного модуля и приложения «Smart Air», то приходится мириться с некоторыми ограничениями данной интеграции.

Интерфейс

Для управления кондиционером через lovelace можно воспользоваться следующими решениями:

  • специальные карточки, например: раз, два, три. Однако, как написано выше, часть функционала может быть недоступна;
  • проявить фантазию и воспользоваться всеми доступными инструментами HA.

Вывести только основные кнопки в lovelace, используя button-card. При помощи browser_mod создать всплывающие окна для выбора режимов работы, установки скорости и регулировки шторок.

Заключение

В данной статье я постарался изложить основные положения интеграции кондиционеров Haier в Home Assistant. Штатные функции кондиционера, доступные с пульта ДУ (например, «sleep» и «здоровый сон»), можно воссоздать при помощи автоматизаций, а при желании — создать свои уникальные связки с другими компонентами вашей системы.

Спасибо за внимание! Буду рад почитать ваши решения по интеграции и автоматизации кондиционеров в системы умного дома!

Источник

Оцените статью
Adblock
detector