Управление кондиционером через ИК модуль WB-MIR. ПО Абром
На рынке большое количество модулей управления кондиционерами. Рассматривая разные модули можно глобально выделить 2 типа управления:
- двусторонее или по-другому "полноценное" управление с помощью модулей интеграции.
- одностороннее управление с помощью ИК
Мы в своих проектах придерживаемся следующего формата: для обычных кондиционеров используем ИК. Там где ИК использовать проблематично, например в канальниках или тяжелых сплит системах, используем модули интеграции.
Управление с помощью ИК модуля дешевле и избавляет нас от огромного процесса согласования типов кондиционеров с заказчиками и поиска подходящего модуля интеграции.
Мы не рассматриваем сомнительные решения по типу Яндекс Пульта или других ИК передатчиков.
В нашем примере будем использовать ИК модуль компании Wirenboard (wb-mir v.2). Модуль умеет хранить в своей памяти до 40 "банков" команд.
В ПО Абром реализован конвертер, который поможет нам превратить эти "банки" в полноценное устройство "кондиционер" с возможностью регулировки температуры кондиционера и выбора режимов нагрева или охлаждения.
Требование к кондиционерам
Кондиционер необходимо выбирать с дисплеем на лицевой части кондиционера. В коробочке дисплея прячется ИК приемник кондиционера, к нему мы будем максимально близко "подцепляться".
Очень редко можно встретить кондиционеры с хитрым расположением ИК приемника. У подобных обычно нет дисплея или он как-то очень хитро обыгран. От таких кондиционеров нужно отказываться или искать альтернативный вариант интеграции.
Монтаж ИК модуля wb-mir v.2
ИК модуль можно расположить внутри кондиционера, в зоне подключения силовой части или над кондиционером.
К модулю подключаем датчик ds18b20 и располагаем его в зоне зоборы воздуха.
ИК передатчик протягиваем до дисплея и приклеиваем рядом с приемником кондиционера.
Записываем правила в банки ИК модуля
1. Модуль wb-mir должен быть уже настроен в конфигурационном файле контроллера Wirenboard. По умолчанию доступно 10 банков команд, увеличим в настройках до 15.
2. После настройки переходим во вкладку "Устройства" и находим наш модуль
На скрине выше в модуль уже записаны все команды, это можно определить по ненулевому значению "Размер команды ROM1". Название ROM и "банк" команды синонимы.
Пульт кондиционера при каждом нажатии передает полное состояние пульта.
Например, если на пульте выставлено (17 градусов, режим охлаждение, вентилятор auto, режим eco). То при нажатии на +1 градус пульт передаст (18 градусов, режим охлаждение, вентилятор auto, режим eco).
Нам необходимо настроить команды следующим образом:
- ROM1 - 17 градусов, режим "охлаждение"
- ROM2 - 20 градусов, режим "охлаждение"
- ROM3 - 23 градусов, режим "охлаждение"
- ROM4 - 26 градусов, режим "охлаждение"
- ROM5 - 29 градусов, режим "охлаждение"
- ROM6 - выключение
- ROM7 - 20 градусов, режим "нагрев"
- ROM8 - 23 градусов, режим "нагрев"
- ROM9 - 26 градусов, режим "нагрев"
- ROM10 - 29 градусов, режим "нагрев"
- ROM11 - 30 градусов, режим "нагрев"
3. Для настройки включаем переключатель "Записать команду в ROM1" и отправляем с пульта (17 градусов, режим "охлаждение"). Пульт нужно максимально близко поднести к IR LEARN на wb-mir.
4. После записи, без лишних нажатий на пульт, выключаем переключатель "Записать команду в ROM1". Через несколько секунд "Размер команды ROM1" примет ненулевое значение. Далее нужно сделать то же самое для ROM2-11
5. После записи всех команд желательно протестировать каждый ROM. Для воспроизведения команды чуть ниже есть кнопка "Воспроизвести команду из ROM1".
Настройка правила в ПО Абром
1. Модуль готов к работе, теперь нужно создать правило с типом IRCONDITIONER, название ac_125_lounge. Название не влияет на работу правила, но смысловое название облегчит нам настройку в перспективе.
- ac - air conditioner
- 125 - адрес модуля
- lounge - название комнаты
Более подробно по работе с правилами ПО Абром по ссылке https://abrom.ru/nastrojka-po-abrom
2. Следующим шагом нажимаем ADD RULE, перед нами появляется окно настройки правила. В нашем примере используется название без адреса модуля, что частенько усложняет нам процесс настройки.
3. Заполняем правило
device | wb-mir_v2_125 | топик устройства |
outside temp | wb-mir_v2_143/External Temperature Sensor | топик датчика температуры улицы (необязательное поле) |
room temp | cityron-pu-3_1/Main Temperature | топик датчика температуры комнаты (необязательное поле) |
conditioner temp | wb-mir_v2_125/External Temperature Sensor | топик датчика температуры кондиционера (необязательное поле) |
4. Далее в окне "настройка правил" нажимаем SAVE RULE
5. Перед нами появляется вирутальное устройство "кондиционер".
- pref temp - предпочитаемая температура. Кондиционер, при достижении температуры комнаты, будет отключаться. Работает только с включенным "use room temp"
- conditioner mode 0 - режим охлаждения
- conditioner mode 1 - режим нагрева
- conditioner state - состояние кондиционера. Этот переключатель показывает только статус, трогать его нет смысла.
- Rule state - вкл/выкл правило
- use room temp - В выключенном состоянии кондиционер не будет ориентироваться на датчик комнаты. Выставляем температуру с помощью pref temp, кондиционер будет работать в штатном режиме по выставленной температуре
Прокидываем кондиционер в Яндекс и Apple Homekit
Шаблон для SprutHub
{ "name": "Кондиционер", "manufacturer": "Abrom", "model": "IRCONDITIONER", "catalogId": 374, "services": [ { "name": "Кондиционер", "type": "Thermostat", "characteristics": [ { "type": "CurrentTemperature", "link": { "type": "Integer", "topicSearch": "/devices/(IRCONDITIONER_ac_176_lounge_control)/controls/room temp/meta/type", "topicGet": "/devices/(1)/controls/room temp" } }, { "type": "TargetTemperature", "link": { "type": "Integer", "topicGet": "/devices/(1)/controls/pref temp/on", "topicSet": "/devices/(1)/controls/pref temp/on" }, "minValue": 16, "maxValue": 30, "minStep": 1 }, { "type": "CurrentHeatingCoolingState", "link": { "type": "Integer", "topicGet": "/devices/(1)/controls/conditioner mode/on", "map": { "0": "0", "1": "1", "2": "2" } } }, { "type": "TargetHeatingCoolingState", "link": { "type": "Integer", "topicGet": "/devices/(1)/controls/conditioner mode/on", "topicSet": "/devices/(1)/controls/conditioner mode/on", "map": { "0": "0", "1": "1", "2": "2" } }, "validValues": "0,1,2" } ] } ] }
Заливаем
Еще никто не написал комментариев.