Как подключить кондиционер mitsubishi к wifi
Способы подключения кондиционера к умному дому
Глобально, есть два способа управления кондиционерами. Первое - это дублирование ИК пульта и соответственно посылка ИК команд. Второе - это управление по шине с двусторонней связью.
В первом случае, мы не имеем обратной связи от кондиционера. Команда на него уходит, но мы не знаем о ее выполнении, если не стоим перед кондиционером. Также, если выставлена температура со штатного пульта, то в интерфейсе умного дома ничего не поменяется. Как правило, такой способ применяется в бюджетных сплит системах, где другой возможности управления не существует.
Во втором случае, мы имеем обратную связь от кондиционера. Общение кондиционера происходит по шине через специальный преобразователь от intesis или CoolMaster. Тем самым мы всегда видим в приложении умного дома актуальную информацию о работе кондиционера.
Плюс в том, что для управления мы используем как штатный пульт, так и приложение умного дома. Любое изменение на пульте отобразится в приложении Apple Home и наоборот. Это позволяет использовать кондиционер в сценариях и быть уверенным что все команды будут выполнены.
Как подключен кондиционер Mitsubishi к умному дому
На этом объекте 4 зоны кондиционирования, каждой из которых мы управляем по отдельности. Рядом с блоком кондиционера устанавливается одна коробочка intesis box. Всего их установлено четыре (в соответствии с количеством блоков).
Нюанс в том, что для этих кондиционеров (ввиду определенных особенностей) она не может быть удалена более чем на 1.8 метра. Именно поэтому, несмотря на то, что они могут быть установлены на DIN рейку, они устанавливаются не в общем щите а рядом с блоками кондаиционеров.
Блок сопряжения Intesis box подключается по Modbus к WirenBoard6 с установленным ПО SprutHub. В качестве проводки для подключения мы используем витую пару. Все блоки сопряжения intesis подключены шиной, то есть от блока к блоку - параллельно.
В данном решении мы используем
Блок сопряжения для кондиционера Intesis box ME-AC-MBS-1 (4 шт.) - 100 000 руб.
Важно
Данная запись в блоге не является полноценной статьей с глубоким техническим описанием решения. Такие статьи будут выходить в рамках портфолио.
В этом формате мы показываем:
- некоторые технические подробности решений
- примеры сценариев
- примеры реальной эксплуатации умных домов
- перечни компонентов для создания тех или иных решений с указанием цены
- размышления на тему путей принятия решений для конкретных задач
- реальные объекты с реальными интегрированными компонентами
Это точно интересно некоторым нашим читателям и возможно натолкнет кого-то на мысль о решении, которое не приходило в голову. Мы с готовностью делимся своим опытом и можем рассказать более подробно если это потребуется по каждому из наших кейсов.
Кондиционеры Mitsubishi аналогично как и кондиционеры других производителей, например Haier, имеют разъем для внешнего управления. В этот раз без разбора протокола управления, так как протокол уже разобран энтузиастами и даже написана библиотека под Arduino IDE.
На базе прошивки для кондиционеров Haier, написал прошивку для управления кондиционерами Mitsubishi через веб интерфейс и по протоколу MQTT. Так же есть возможность управлять через WebSocket. Прошивку выкладываю уже скомпилированную, исходников в открытых источниках нет.
Для настройки подключения к WiFi прошивка имеет WiFi manager. Если модуль не может подключиться к сети WiFi он автоматически поднимает точку доступа, подключившись к которой с помощью телефона можно задать первоначальные настройки для WiFi и MQTT.
После сохранения настроек модуль автоматически перезагрузится и подключится к WiFi сети. При подключении к MQTT брокеру, модуль автоматически опубликует и подпишется на MQTT топики для управления кондиционером, одноименные топики с текущими состояниями появятся как только будет получен ответ от кондиционера.
MQTT топики для управления кондиционером.
Веб страница модуля выглядит так:
Небольшая гифка с демонстрацией работы веб интерфейса.
К кондиционеру модуль подключается на разъем CN105. На разъем выведены UART TTL 5 Вольт (RX/TX), +5 Вольт питания, земля и +12 Вольт.
Распиновка разъема CN105 на плате кондиционера Mitsubishi.
Схема подключения ESP к кондиционеру Mitsubishi.
Ниже немного фото как в реальности выглядит разъем на различных моделях кондиционеров Mitsubishi
В некоторых случая разъем может быть не припаян на плате. В этом случае необходимо припаять его самостоятельно и обратить внимание на наличии резисторов по линиям RX/TX, в некоторых случаях они так же могут отсутствовать. Резисторы можно припаять на 100 Ом.
Кому интересно, протокол обмена Mitsubishi выглядит так:
FC,42,01,30,10,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,7B =>INFO
FC,42,01,30,10,03,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,7A =>INFO_TEMP
FC,42,01,30,10,04,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,79 => .
FC,42,01,30,10,09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,74 => .
TP=Type,pw=power,md=mode,fs=fanSpeed,vv=vane,tF=temp
FC,42,01,30,10,- -,TP,00,pw,md,00,fs,vv,00,00,00,00,00,00,tF,00,CHK
FC,41,01,30,10,01,07,00,01,02,00,00,00,00,00,00,00,00,00,A8,00,CB => DRY
FC,41,01,30,10,01,03,00,01,07,00,00,00,00,00,00,00,00,00,80,00,F2 => FAN
FC,41,01,30,10,01,07,00,01,01,00,00,00,00,00,00,00,00,00,A8,00,CC => HEAT
FC,41,01,30,10,01,07,00,01,03,00,00,00,00,00,00,00,00,00,A8,00,CA =>COOL
FC,41,01,30,10,01,05,00,00,00,00,00,00,00,00,00,00,00,00,A8,00,D0 => OFF
FC,41,01,30,10,01,08,00,00,00,00,01,00,00,00,00,00,00,00,80,00,F4 =>FANQuiet
FC,41,01,30,10,01,08,00,00,00,00,02,00,00,00,00,00,00,00,80,00,F3 =>FAN1
FC,41,01,30,10,01,08,00,00,00,00,03,00,00,00,00,00,00,00,80,00,F2 =>FAN2
FC,41,01,30,10,01,08,00,00,00,00,05,00,00,00,00,00,00,00,80,00,F0 =>FAN3
FC,41,01,30,10,01,08,00,00,00,00,06,00,00,00,00,00,00,00,80,00,EF =>FAN4
FC,41,01,30,10,01,08,00,00,00,00,00,00,00,00,00,00,00,00,80,00,F5 =>FANAuto
FC,41,01,30,10,01,10,00,00,00,00,00,00,00,00,00,00,00,00,80,00,ED => VANEAuto
FC,41,01,30,10,01,10,00,00,00,00,00,01,00,00,00,00,00,00,80,00,EC => VANE1
FC,41,01,30,10,01,10,00,00,00,00,00,02,00,00,00,00,00,00,80,00,EB => VANE2
FC,41,01,30,10,01,10,00,00,00,00,00,03,00,00,00,00,00,00,80,00,EB => VANE3
FC,41,01,30,10,01,10,00,00,00,00,00,04,00,00,00,00,00,00,80,00,E9 => VANE4
FC,41,01,30,10,01,10,00,00,00,00,00,05,00,00,00,00,00,00,80,00,E8 => VANE5
FC,41,01,30,10,01,10,00,00,00,00,00,07,00,00,00,00,00,00,80,00,E6 => VANE_Swing
COMBO settings
HH,HH,HH,HH,HH,mp,MO,00,PW,MO,00,FS,VV,00,00,00,00,00,00,TT,00,CHK
INFO : FC,42,01,30,10,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,7B
INFO : FC,42,01,30,10,03,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,7A
. : FC,42,01,30,10,04,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,79
. : FC,42,01,30,10,09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,74
DRY : FC,41,01,30,10,01,07,00,01,02,00,00,00,00,00,00,00,00,00,A8,00,CB DRY ON
FC,41,01,30,10,01,0C,00,00,00,00,01,00,00,00,00,00,00,00,BE,00,B2 DRY, FAN_Q,88°
FC,41,01,30,10,01,0C,00,00,00,00,02,00,00,00,00,00,00,00,BE,00,B1 DRY, FAN_1,88°
FC,41,01,30,10,01,14,00,00,00,00,00,00,00,00,00,00,00,00,BE,00,AB DARY,VANEA,88°
FC,41,01,30,10,01,14,00,00,00,00,00,01,00,00,00,00,00,00,BE,00,AA COOL, VANE1,88°
FAN : FC,41,01,30,10,01,03,00,01,07,00,00,00,00,00,00,00,00,00,80,00,F2 FAN ON
FC,41,01,30,10,01,08,00,00,00,00,01,00,00,00,00,00,00,00,80,00,F4 FAN, FAN_Q,NO_temp_setting
FC,41,01,30,10,01,08,00,00,00,00,02,00,00,00,00,00,00,00,80,00,F3 FAN, FAN_1,NO_temp_setting
FC,41,01,30,10,01,10,00,00,00,00,00,00,00,00,00,00,00,00,80,00,ED FAN, VANEA,NO_temp_setting
FC,41,01,30,10,01,10,00,00,00,00,00,01,00,00,00,00,00,00,80,00,EC FAN, VANE1,NO_temp_setting
HEAT : FC,41,01,30,10,01,07,00,01,01,00,00,00,00,00,00,00,00,00,A8,00,CC HEAT ON
: FC,41,01,30,10,01,0C,00,00,00,00,01,00,00,00,00,00,00,00,94,00,DC HEAT,FAN_Q,50°
FC,41,01,30,10,01,0C,00,00,00,00,01,00,00,00,00,00,00,00,BE,00,B2 HEAT,FAN_Q,88°
FC,41,01,30,10,01,14,00,00,00,00,00,00,00,00,00,00,00,00,94,00,D5 HEAT,VANEA,50°
FC,41,01,30,10,01,14,00,00,00,00,00,01,00,00,00,00,00,00,94,00,D4 HEAT,VANE1,50
COOL : FC,41,01,30,10,01,07,00,01,03,00,00,00,00,00,00,00,00,00,A8,00,CA COOL ON
FC,41,01,30,10,01,0C,00,00,00,00,01,00,00,00,00,00,00,00,A0,00,D0 COOL, FAN_Q,61°
FC,41,01,30,10,01,0C,00,00,00,00,02,00,00,00,00,00,00,00,A0,00,CF COOL, FAN 1,61°
FC,41,01,30,10,01,0C,00,00,00,00,01,00,00,00,00,00,00,00,BE,00,B2 COOL, FAN_Q,88°
FC,41,01,30,10,01,0C,00,00,00,00,02,00,00,00,00,00,00,00,BE,00,B1 COOL, FAN_1,88°
FC,41,01,30,10,01,14,00,00,00,00,00,00,00,00,00,00,00,00,BE,00,AB COOL, VANEA,88°
FC,41,01,30,10,01,14,00,00,00,00,00,01,00,00,00,00,00,00,BE,00,AA COOL, VANE1,88°
Кондиционер Haier серии Lightera имеет на своем борту модуль WiFi для управления им через приложение на телефоне, которое работает через неведомый китайский облачный сервис. Для старых моделей модуль был опцией и приобретался отдельно, подключается к плате управления во внутреннем блоке. На новых моделях разъем выведен под декоративную накладку и в серии Lightera модуль уже установлен. Таким образом, данное устройство применимо ко многим кондиционерам марки Haier.
Для управления кондиционером через родной WiFi модуль необходимо скачать приложение на смартфон/планшет, зарегистрироваться в нем, подключится вашим смартфоном/планшетом к роутеру по Wi-Fi. Включить кондиционер в режиме охлаждения на 30 градусов с минимальной скоростью вентилятора, убедится, что появилась сеть Haier-uAC, и запустить программу поиска устройств и сетей. Программа находит ваш кондиционер и доступные сети. Вы регистрируете свою сеть, выбрав ее из списка, и переходите к регистрации вашей модели оборудования (кондиционера). В моей домашней сети на роутере отключен сервер DHCP и чтобы подключиться к моей сети WiFi на подключаемом устройстве необходимо создать новое подключение и прописать там помимо SSID (так как он скрыт) и пароля еще и статический IP адрес. Именно по этой причине у меня не получилось добавить мой кондиционер в приложение, так как оно при добавлении кондиционера просит выбрать только точку доступа WiFi и пароль. Введенные данные приложение отправляет WiFi модулю кондиционера и он, используя эти данные, пытается подключиться к вашей точке доступа, надеясь, что ему дадут IP адрес, но мой роутер разбивает все его надежды.
Внешний вид родного модуля WiFi.
Для теста я все-таки подключил его через другой роутер. Управление через приложение работает, а вот управлять кондиционером без приложения нет возможности, через какой облачный сервис работает не ясно, личного кабинета никакого нет. Как итог, Haier, как и многие производители техники, создали свою железку со своим приложением без возможности интеграции с другими системами автоматизации (без специальных модулей и оборудования). В итоге я решил сделать свой модуль WiFi со всеми характеристиками от известного всем персонажа.
За основу был взят ESP8266 12F, который будет работать напрямую с моим сервером по протоколу MQTT. На сервере установленIOBroker, который выступает так же в качестве MQTT сервера.
Оставалось понять протокол обмена с самим кондиционером. Изучив родной модуль и схемы блоков управления предыдущих моделей стало понятно, что модуль WiFi общается с кондиционером через обычный UART с уровнями TTL. Подключив параллельно линии RX/TX переходник UART/USB и управляя кондиционером из приложения и с пульта, прочитал все данные.
Фото платы родного модуля.
На плате видно DC/DC преобразователь на 3.3 В и преобразователи логических уровней. Экран снимать не стал, что под ним неизвестно.
1 — FF cтартовый байт
2 — FF cтартовый байт
3 — 22 — HEX Длина пакета без двух стартовых байт и контрольной суммы
4 — 00
5 — 00
6 — 00
7 — 00
8 — 00
9 — 01
10 — 01 — при запросе, 02 — в ответе
11 — 4D — при запросе, 6D — в ответе
12 — 5F — при запросе
13 — 00
14 — 1A — 26 градусов, 1B — 27, Текущая температура
15 — 00
16 — 00
17 — 00
18 — 00 — при запросе, 7F-в ответе
19 — 00
20 — 00
21 — 00
22 — 00
23 — 00
24 — 00 — smart, 01 — cool, 02 — heat, 03 — вентиляция, 04 — DRY,
25 — 00
26 — 00 — max, 01 — mid, 02 — min, 03 — auto — FanSpeed
27 — 00
28 — 00 — выкл., 01 — верхний и нижний предел вкл. 02 — левый/правый вкл. 03 — оба вкл
29 — 00 — блокировка кнопок пульта выкл, 80 блокировка вкл.
30 — 00 — power off, x1 — power on, (1x ) — Компрессор? x9 — Health
31 — 00
32 — 00 — fresh off, 01 — fresh on
33 — 00
34 — 00
35 — 00
36 — 00 — 16 градусов, 01 — 17 0E — 30 градусов. Установленная температура
37 — Контрольная сумма. Просто сумма всех байт без двух стартовых.
FF FF 0A 00 00 00 00 00 01 01 4D 02 5B Включение
FF FF 0A 00 00 00 00 00 01 01 4D 03 5C Выключение
FF FF 0A 00 00 00 00 00 01 03 00 00 0E Блокировка пульта
FF FF 0A 00 00 00 00 00 01 01 4D 01 5A Опрос состояния
Рисуем принципиальную схему. Схема питается 5 вольтами от кондиционера, а так как напряжение питания ESP8266 — 3.3 вольта, далее стоит линейный стабилизатор LM1117(AMS1117) на соответствующее выходное напряжение. На элементах R1, Q1, R3 и R2, R3 собраны преобразователи логических уровней так как RXD TXD модуля ESP8266 не толерантны к 5 В. Для программирования ESP контакты U2 U3 необходимо замкнуть вместе.
Принципиальная схема.
Разводим печатную плату. Компоновка платы сделана для установки в корпус от родного WiFi модуля.
На фото ниже тестовая плата.
Заказал наконец то платы из китая:
Код написан в среде Arduino. Актуальная версия доступна на GitHub.
На данный момент я отказался на обработку протокола в самой ESP. Я написал для ioBroker’а драйвер, а ESP используется как шлюз Telnet to Serial.
Прошивка модуля (ESP8266)
Открываем файл прошивки (последняя версия ESP8266.TelnetToSerial тут). Выбираем нужную плату:
Выбираем порт — последовательный порт COM* (где * номер порта к которому подключен переходник USB-TTL) или сетевой порт для прошивки модуля по OTA.
Для прошивки через последовательный порт подключаем переходник USB-TTL к модулю согласно распиновке модуля и переходника. Контакты RX и TX подключаются перекрестно т.е. RX-TX, TX-RX.
Распиновка модуля haier
После прошивки ESP8266 ставим модуль в кондиционер. Если загружена первая версия прошивки с MQTT, то на сервере MQTT автоматически создаются топики:
Если используем прошивку ESP8266.TelnetToSerial, то необходимо в IoBroker установить драйвер haier, прописать в настройках драйвера IP адрес и порт нашего модуля и можно пользоваться.
Панель управления кондиционером на веб странице vis iobroker.
Кроме управления с веб страницы, организовано управление голосовыми командами, а так же через драйвер Telegram для IOBroker.
На текущий момент изготовлена третья ревизия платы. Написана прошивка поддерживающая все модели кондиционеров Haier, включая модели с новым протоколом (например Haier Elegant AS25NHPHRA/1U25NHPFRA ). Пример работы веб интерфейса новой прошивки на gif’ке ниже. Так же есть возможность управлять кондиционером через MQTT либо WebSocket.
третья ревизия платы модуля.
Погода снова бьет климатические рекорды.Температура растет, а вместе с ней и наше желание включить кондиционер. Что же может быть проще, чем нажать на кнопку пульта и выбрать комфортную температуру? Разве что не нажимать ни на какие кнопки вообще. В этой статье я расскажу, как подключить кондиционер к умному дому по WiFi, установить комфортную температуру и больше не искать этот злосчастный пульт. Кондиционер сам будет включаться и выключаться при необходимости. Из отличительных особенностей этого решения можно отметить двусторонний обмен данными, включая передачу управляющих команд и температуры с внешних датчиков в кондиционер и получение от кондиционера информации о его текущем состоянии.
Вариантов управления современными кондиционерами на самом деле не так и много: по ИК и по UART.
1. Управление с помощью комплектного пульта по ИК каналу. Принцип работы — каждый раз посылается весь набор команд: режим работы, заданную температуру, скорость вращения вентилятора и пр. ибо пульт понятия не имеет в каком состоянии находится кондиционер.
2. Отдельный ИК модуль, направленный на кондиционер, к примеру Mi Universal Remote (более новая версия Remote Control не работает с кондиционерами). Связь односторонняя. Т.е если кто-то нажмет выключение на родном пульте, умный дом об этом не узнает.
3. Родной Wi-fi интерфейс. Сможете управлять климатом с телефона через облако производителя. Связь двунаправленная, ибо используется, как правило, UART, т.е. мы видим в мобильном приложении текущее состояние кондиционера. К примеру, для Mitsubishi Electric такая штука стоит около 10000руб. Подходит не ко всем моделям.
4. Различные модули управления, к примеру CoolMaster от компании CoolAutomation. Штука умеет интегрироваться с большим количеством HVAC систем и не меньшим количеством систем домашней автоматизации. Связь так же двунаправленная. Стоимость соответствующая.
Мой кондиционер Mitsubishi Electric HJ35 умеет только ИК, но это не надолго! Будем делать полноценную двустороннюю связь с управлением по WiFi, поддержкой MQTT и без всяких облаков.
Внимание, это руководство подходит только для кондиционеров Mitsubishi Electric!
Аппаратная часть
Все что вы делаете со своим кондиционером, вы делаете на свой страх и риск. Автор ответственности не несет.
Программная часть
Прошиваем микроконтроллер. Ссылка на исходный код прошивки:
Проект на GitHub
Поддерживается прошивка как по проводу, так по воздуху (OTA), что означает, что для обновления прошивки не потребуется разбирать кондиционер.
Передача температуры от внешнего датчика на кондиционер происходит по MQTT топику HA_ROOMTEMP_SET_TOPIC. При получении значения кондиционер отключает считывание значений с внутреннего датчика от следующего отключения от питания.
Исходники библиотеки для работы с кондиционером Mitsubishi Electric
GitHub
Осталось зарегистрировать кондиционер на сервере умного дома в Home Assistant. Убедитесь, что в файле configuration.yaml объект MQTT имеет свойство discovery = true
Кондиционер и терморегулятор имеют возможность управления с кнопок или пульта. Этот режим так же является штатным. Установка температуры на любом устройстве обновит значение целевой температуры, которую система продолжит поддерживать.
При выходе из строя сервера умного дома, кондиционер и терморегулятор продолжат поддерживать заданную температуру и оставят возможность штатного управления как независимые устройства.
Решение поддерживает управление через голосовые помощники Google Home и Yandex Алиса
Пример управления с помощью Алисы
Долгое время, мой кондиционер Mitsubishi Heavy SRK25ZS-S / SRC25ZS-S был интегрирован в Home Assistant с помощью квадратного шлюза Aqara Air Conditioning Companion, он же шлюз 3-й версии KTBL01LM "lumi.acpartner.v1" и пользовательского компонента Xiaomi Mi and Aqara Air Conditioning Companion.
Нельзя сказать, что я полностью был доволен их совместной работой. Когда кондиционер управлялся из Home Assistant, реакция была моментальная, но при управлении родным пультом ДУ кондиционера, была задержка обратной связи с Home Assistant. Дело в том, что в компоненте есть настраиваемый параметр - интервал сканирования статуса кондиционера scan_interval, по умолчанию он выставлен на 60 секунд, но сколько бы ты не выставил, это все равно задержка по времени.
В HA у меня настроены автоматизации с уведомлениями в Telegram и Google Home mini о включении, выключении и смене режимов работы кондиционера. Очень странно, когда ты выключаешь кондиционер с пульта ДУ, а из-за задержки обратной связи, Умная Колонка тебе сообщает об этом спустя минуту, когда ты уже занимаешься чем-то другим и совсем забыл про тот кондиционер. Я бы не сказал, что это прямо катастрофа, но это основной момент, который мне не нравился.
Способ управления
Я знал, что для управления по Wi-Fi кондиционерами Mitsubishi Heavy Industries (MHI), серий SRK/SRF/SRR, существует родной Wi-Fi адаптер, который подключается к разъёму CNS, платы управления внутреннего блока и имеет свое приложение Airconwithme. Управление, естественно, происходит через сервера самого приложения. Данный способ для меня не подходит.
Мне было интересно, существует ли подобный DIY модуль для этих кондиционеров, который можно завести в HA? И тут, случайно, в одном из Telegram каналов Sprut.ai, в обсуждениях, я наткнулся на проект MHI-AC-Ctrl на GitHub, где автор, основываясь на другой проект, который уже больше не активен, разработал свой DIY модуль MHI-AC-Ctrl, со своей прошивкой.
В собранном виде модуль MHI-AC-Ctrl выглядит так, как представлено на фото.
Он также подключается к разъёму CNS на плате управления внутреннего блока, обменивается данными с кондиционером по протоколу SPI, а управлять кондиционером можно по протоколу MQTT. Автор не привязывается к какой-то конкретной системе автоматизации, но для Home Assistant его проект отлично подходит. Есть конечно свои особенности, но обо всем по порядку.
Поддерживаются следующие модели кондиционеров Mitsubishi Heavy Industries:
SRF xx ZJX-S1SRK xx ZJ-SSRK xx ZM-SSRK xx ZS-SSRK xx ZJX-S
SRK xx ZJX-S1SRK xx ZSA-WSRK xx ZSX-SSRK xx ZSX-WSRK xx ZS-W
Компоненты и подключение
Основную часть компонентов заказывал на aliexpress, такие, как WeMos D1 Mini, Level Shifter 4ch, кабели и разъемы, а мелочовку докупал у себя в городе, в магазине радиодеталей.
С подключением проблем не возникло. Необходимо добраться к плате управления внутреннего блока кондиционера, ничего при этом не отломать и не потерять, и подключиться к разъёму CNS. Тут только надо обратить внимание, что модуль MHI-AC-Ctrl подсоединяется к кондиционеру пятью контактами, два из которых SCL и MOSI имеют перекрестное расположение на разъемах. Важно не пропустить этот момент.
Прошивка
В основе MHI-AC-Ctrl лежит плата WeMos D1 mini, на основе Wi-Fi модуля ESP-12F, на чипе ESP8266, у нее на плате есть micro USB разъем, через который ее можно прошить. Кто не знает, прошивается она с помощью программы Arduino IDE. Для подключения платы WEMOS D1 mini к компьютеру, нужно установить драйвер для чипа СH340G. Последнюю версию прошивки MHI-AC-Ctrl можно скачать со страницы проекта. В разделе Software указано, какие необходимо установить библиотеки перед прошивкой. В описании указано, что WeMos D1 mini можно также прошить и по Wi-Fi (без подключения к USB порту компьютера), но существует общая проблема OTA, не связанная с MHI-AC-Ctrl, которая не дает этого сделать.
Конфигурация прошивки
На странице SW-Configuration подробно изложены настройки параметров конфигурации прошивки.
В файле прошивки support.h необходимо будет прописать свои настройки Wi-Fi, MQTT, OTA и раскомментировать следующую строку для корректной работы изменения режимов работы on/off кондиционера с Home Assistant:
А вот то, с чем я столкнулся и без чего Home Assistant не хотел взаимодействовать с MHI-AC-Ctrl, несмотря на то, что все топики отображались в MQTT Explorer, команды из HA не отрабатывались. Дело в том, что топики чувствительны к регистру. Для MQTT в Home Assistant важно, чтобы все управляющие команды в топиках были в нижнем регистре, для этого в файле MHI-AC-Ctrl.h
необходимо изменить команды, прописать все в нижнем регистре:
Там же необходимо заменить команду "Fan" -> "fan_only", без этого не отрабатывается команда режима вентиляции.
Настройка Home Assistant
Подключив модуль MHI-AC-Ctrl к кондиционеру, для проверки его работоспособности запускаем программу MQTT Explorer и подключаемся к своему MQTT брокеру. Если мы все правильно сделали, то должны увидеть топики. В моем случае, модуль отдает топики и их значения, просматриваемые на картинке слева:
В своей интеграции я использовал не все перечисленные статусы и операционные данные, а только те, которые я посчитал для себя наиболее интересными. Полный список с описанием можно посмотреть на странице проекта. Некоторые из них очень полезные, так как позволяют выявлять неисправности кондиционера, если они имеются.
Для интеграции MHI-AC-Ctrl модуля в Home Assistant, необходимо в файле configuration.yaml добавить климатическую платформу MQTT HVAC. Я вынес ее в отдельный файл climate.yaml. При этом в основном конфиге указываем следующее:
climate: !include includes/climate.yaml
А в созданном файле climate.yaml указываем следующее:
- platform: mqtt unique_id: mhi0001 name: "Mitsubishi Heavy" initial: 22 min_temp: 18 max_temp: 30 modes: - "auto" - "dry" - "cool" - "fan_only" - "heat" - "off" swing_modes: - "1" - "2" - "3" - "4" - "swing" fan_modes: - "1" - "2" - "3" - "4" mode_command_topic: "MHI-AC-Ctrl/set/Mode" mode_state_topic: "MHI-AC-Ctrl/Mode" temperature_command_topic: "MHI-AC-Ctrl/set/Tsetpoint" temperature_state_topic: "MHI-AC-Ctrl/Tsetpoint" fan_mode_command_topic: "MHI-AC-Ctrl/set/Fan" fan_mode_state_topic: "MHI-AC-Ctrl/Fan" swing_mode_command_topic: "MHI-AC-Ctrl/set/Vanes" swing_mode_state_topic: "MHI-AC-Ctrl/Vanes" current_temperature_topic: "MHI-AC-Ctrl/Troom"
В разделе сенсоров, я создал сенсоры со своими именами и вынес их так же в отдельный файл mhi_data.yaml в папке sensors:
sensor: !include_dir_merge_list includes/sensors
- platform: mqtt state_topic: "MHI-AC-Ctrl/Power" name: "mhi power" icon: mdi:power - platform: mqtt state_topic: "MHI-AC-Ctrl/Mode" name: "mhi mode" icon: mdi:air-conditioner - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/OUTDOOR" name: "mhi outdoor temperature" unit_of_measurement: '°C' - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/CT" name: "mhi current" unit_of_measurement: 'А' icon: mdi:current-ac - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/IU-FANSPEED" name: "mhi indoor fan speed" icon: mdi:fan-speed-1 - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/OU-FANSPEED" name: "mhi outdoor fan speed" icon: mdi:fan-speed-2 - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/TOTAL-IU-RUN" name: "mhi hours indoor unit" unit_of_measurement: 'ч' icon: mdi:clock-time-four - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/TOTAL-COMP-RUN" name: "mhi hours compressor" unit_of_measurement: 'ч' icon: mdi:clock-time-four - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/COMP" name: "mhi compressor frequency" unit_of_measurement: 'Гц' icon: mdi:current-ac - platform: mqtt state_topic: "MHI-AC-Ctrl/Errorcode" name: "mhi errorcode" icon: mdi:alert-circle - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/PROTECTION-NO" name: "mhi protection number compressor" icon: mdi:alert-circle - platform: mqtt state_topic: "MHI-AC-Ctrl/OpData/DEFROST" name: "mhi defrost control" icon: mdi:car-defrost-front
Прошивка MHI-AC-Ctrl позволяет из HA перезагрузить при необходимости плату WeMos D1 mini, а также Вкл/Выкл функцию разморозки кондиционера. Хоть данная опция полностью автоматизирована сплит-системой, если она имеется, я все-таки ее добавил и оформил в виде скриптов в отдельном файле mhi_operating_data.yaml в папке scripts.
Функция разморозки кондиционера включается самостоятельно, когда в холодное время года кондиционер включается в режиме Отопления, а количество льда и снега, намерзшее на внешнем блоке, превышает допустимый максимум. В этом случае кондиционер самостоятельно включает подогрев, который и растапливает замерзшие образования на поверхности наружного блока. По мере освобождения ото льда и снега, функция разморозки также самостоятельно отключается.
script: !include_dir_merge_named includes/scripts
В файле customize.yaml дал названия скриптам.
script.mhi_reebot: friendly_name: Перезагрузка WeMos D1 mini icon: mdi:chip script.mhi_defrost_on: friendly_name: Включение Разморозки Кондиционера icon: mdi:car-defrost-front script.mhi_defrost_off: friendly_name: Выключение Разморозки Кондиционера icon: mdi:car-defrost-front
Интерфейс Lovelace
Для управления кондиционером в Home Assistant с интерфейсом Lovelace, я использовал стандартную карточку Thermostat Card, а для отображения интересующих меня данных о статусе кондиционера - Entities Card. Вот что у меня получилось:
Раскрыв карточку, мы получаем возможность выбора:
Режима работы:
Режима скорости вентилятора:
Положение шторок по вертикали:
Стоит отметить, что когда последняя команда была получена с пульта ДУ кондиционера, тогда статус шторок в HA неизвестен и отображается как "?".
В папке lovelace создал файл air_conditioner.yaml:
title: Климат icon: mdi:home-thermometer cards: - type: vertical-stack cards: - type: markdown content: > **Гостиная** - type: thermostat entity: climate.mitsubishi_heavy name: Кондиционер Mitsubishi Heavy SRK25ZS-S - type: vertical-stack cards: - type: markdown content: > **Эксплуатационные Данные Кондиционера** - type: entities show_header_toggle: false state_color: true entities: - entity: sensor.mhi_power name: Состояние - entity: sensor.mhi_mode name: Текущий Режим работы - entity: sensor.mhi_outdoor_temperature name: Температура за Окном - entity: sensor.mold_indicator name: Индикатор Плесени - entity: sensor.mhi_current name: Сила Тока - entity: sensor.mhi_indoor_fan_speed name: Скорость Вентилятора Внутреннего блока - entity: sensor.mhi_outdoor_fan_speed name: Скорость Вентилятора Наружного блока - entity: sensor.mhi_hours_indoor_unit name: Общее Время работы Внутреннего блока - entity: sensor.mhi_hours_compressor name: Общее Время работы Компрессора - entity: sensor.mhi_compressor_frequency name: Частота Компрессора - type: divider - entity: sensor.mhi_errorcode name: Код Ошибки - entity: sensor.mhi_protection_number_compressor name: Номер состояние Защиты Компрессора - type: divider - entity: script.mhi_reebot - entity: script.mhi_defrost_on - entity: script.mhi_defrost_off - entity: sensor.mhi_defrost_control name: Разморозка Кондиционера
В качестве Бонуса, я настроил Интегрированный в HA датчик Индикатора плесени, в случае плохой вентиляции и повышенной влажности в помещении, он может указать на возможный рост плесени в доме. Температуры воздуха за окном теперь забирается с датчика наружного блока кондиционера. Это лучше, чем основываться на данные температуры воздуха всяких погодных интеграций в HA.
Заключение
Я рад был поделиться с вами своим опытом по сборке модуля MHI-AC-Ctrl и его настройке. Результатом проделанной работы я оказался более, чем доволен. Я получил качественно новое управление своим кондиционером из Home Assistant, полностью избавился от задержки обратной связи с HA при управлении пультом ДУ кондиционера и теперь уведомления Google Home mini сообщает сразу после смены режима работы кондиционера, как это и положено. Получил информативный список операционных данных от кондиционера, благодаря которым легко будет выявлять его неисправности, если они появятся. Расшифровку кодов можно посмотреть в этом файле.
Дорогие Друзья! Обязательно оставляйте свои комментарии и пишите свои предложения по автоматизации климатической техники в Home Assistant.
Читайте также: