+7 (904) 764-51-27

Управление кондиционером через ИК модуль 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"
        }
      ]
    }
  ]
}

Заливаем 




Еще никто не написал комментариев.

Написать комментарий