8 980 590-57-10
Ваш город — Эль-Монте?
Заявка

Примеры правил в ПО Абром Софт


В этой статье приведены стандартные и слегка редкие правила в ПО Абром, которые мы используем в своих проектах.

Инструкция по настройке по ссылке 

ИК Кондиционер - irconditioner

Используется для управления кондиционерами по ИК. Правило создает удобный интерфейс управления кондиционером. Поддерживаются режимы: охлаждение и нагрев.

Пример:

irConditioner:
  - name: ac_125
    device: 'wb-mir_v2_125'
    roomTemp: 'cityron-pu-3_1/Main Temperature'
    outsideTemp: 'wb-mir_v2_143/External Temperature Sensor'
    conditionerTemp: 'wb-mir_v2_125/External Temperature Sensor'

Термостат отопления - heat

Используется для управления реле электрического или водяного отопителя с 1 или 2 датчиками. Режим с 2 датчиками используется например для управления реле по температуре воздуха с защитами "minFloorTemp" "maxFloorTemp" по температуре пола. Правило создает удобный интерфейс управления отопителем.

Пример:

heat:
  - name: a123f205_126k2_entry
    relays: ['wb-mr6cu_126/K2']                #топик устройства
    roomTemp: 'wb-m1w2_205/External Sensor 1'  #температура воздуха
    floorTemp: 'wb-ms_123/Temperature'         #температура пола
    inverted: false 
    defaultState: true 
    defaultPrefTemp: 26 
    defaultMinFloorTemp: 20 
    defaultMaxFloorTemp: 35


Термостат отопления - heatTimer

Используется для управления реле электрического или водяного теплого пола с 1 датчиком и 2 таймерами. В интерфейсе имеется возможность настроить prefRoomTemp, timerBefore, timerAfter.

Правило работает по timerBefore до достижения prefRoomTemp датчиком, далее переключается на timerAfter.

Пример:

heatTimer:
  - name: a123f205_126k2_entry
    relays: ['wb-mr6cu_126/K2']                 #топик устройства
    roomTemp: 'wb-m1w2_205/External Sensor 1'   #температура воздуха
    inverted: false 
    defaultState: false 
    defaultPrefTemp: 26 
    defaultTimerBefore: 19 
    defaultTimerAfter: 11


Правила с кнопкой – switchbutton | conditionbutton


Привязка осветительного прибора к изменению топика

Может пригодиться для:

  1. привязки выключателей с фиксацией к группе света
  2. привязки группы света ко входу modbus модуля wb-mr6c. Фиксируется изменение топика одинарного, двойного и других типов нажатия
switchButton:
  - name: 13s_59K3K4_street
    topic: wb-gpio/EXT1_IN13                                        #топик выключателя
    outputTopics: [ 'wb-mr6c_59/K3', 'wb-mr6c_59/K4' ]              #топик устройства
    onCondition: '{wb-mr6c_59/K3} == 1 || {wb-mr6c_59/K4} == 1'     #проверка состояния реле
    onValue: 1
    offValue: 0
    onDelayMillis: 0
    offDelayMillis: 0
    tapType: SINGLE                                                 #тип нажатия
conditionButton:
  - name: 26i3_24k6_kitchen
    outputTopics: ['wb-mr6cv3_24/K6']                               #топик выключателя
    onCondition: '{wb-mr6cv3_24/K6}==1'                             #проверка состояния реле
    onValue: 1
    offValue: 0
    onDelayMillis: 0
    offDelayMillis: 0
    changeCondition: 'changed({wb-mr6cv3_26/Input 3 counter})'     #условие на изменение состояния 

Мастер выключатель

Может пригодится для:

  1. отключения света на объекте, закрытия штор, отключения кондиционеров по мастер выключателю.
switchButton:
  - name: h11_switch1_master
    topic: wb-gpio/EXT1_IN1
    rules:
      - outputTopics: [
          'wb-mr6cv3_24/K1', 'wb-mr6cv3_24/K2', 'wb-mr6cv3_24/K3', 'wb-mr6cv3_24/K4', 'wb-mr6cv3_24/K5', 'wb-mr6cv3_24/K6',
          'wb-mr6cv3_26/K1', 'wb-mr6cv3_26/K2', 'wb-mr6cv3_26/K3', 'wb-mr6cv3_26/K4', 'wb-mr6cv3_26/K5', 'wb-mr6cv3_26/K6',
          'wb-mr6cv3_46/K1', 'wb-mr6cv3_46/K2', 'wb-mr6cv3_46/K3', 'wb-mr6cv3_46/K4', 'wb-mr6cv3_46/K5', 'wb-mr6cv3_46/K6',
          'wb-mr6cv3_68/K1', 'wb-mr6cv3_68/K2', 'wb-mr6cv3_68/K3', 'wb-mr6cv3_68/K4', 'wb-mr6cv3_68/K5', 'wb-mr6cv3_68/K6',
          'wb-mr6cv3_70/K1', 'wb-mr6cv3_70/K2', 'wb-mr6cv3_70/K3', 'wb-mr6cv3_70/K4', 'wb-mr6cv3_70/K5', 'wb-mr6cv3_70/K6',
          'wb-mr6cv3_73/K1', 'wb-mr6cv3_73/K2', 'wb-mr6cv3_73/K3', 'wb-mr6cv3_73/K4', 'wb-mr6cv3_73/K5', 'wb-mr6cv3_73/K6',
          'wb-mr6cv3_75/K1', 'wb-mr6cv3_75/K2', 'wb-mr6cv3_75/K3', 'wb-mr6cv3_75/K4', 'wb-mr6cv3_75/K5', 'wb-mr6cv3_75/K6',
          'wb-mr6cv3_79/K1', 'wb-mr6cv3_79/K2', 'wb-mr6cv3_79/K3', 'wb-mr6cv3_79/K4', 'wb-mr6cv3_79/K5', 'wb-mr6cv3_79/K6',
          'wb-led_202/Channel 1', 'wb-led_202/Channel 2', 'wb-led_202/Channel 3', 'wb-led_202/Channel 4',
          'wb-led_205/Channel 1', 'wb-led_205/Channel 2', 'wb-led_205/Channel 3', 'wb-led_205/Channel 4',
          'wb-led_228/Channel 1', 'wb-led_228/Channel 2', 'wb-led_228/Channel 3', 'wb-led_228/Channel 4'
        ]
        onValue: 0
        offValue: 0
        onDelayMillis: 0
        offDelayMillis: 0
        tapType: HOLD

Открытие штор по двойному нажатию на выключатель

Может пригодится для:

  1. Открытия/ закрытия штор по 1 или нескольким кнопкам
  2. Установки позиции штор по выключателю
conditionButton:
  - name: d17i5_0101
    outputTopics: ['dooya_0x0101/Position']
    onCondition: '{dooya_0x0101/Position} >= 70'
    onValue: 100
    offValue: 0
    onDelayMillis: 0
    offDelayMillis: 0
    changeCondition: 'changed({wb-mr6cv3_17/Input 5 Double Press Counter})'
switchButton:
  - name: d11_0101
    topic: wb-gpio/EXT1_IN1
    rules:
      - outputTopics: ['dooya_0x0101/Position']
        onValue: 100
        offValue: 0
        onDelayMillis: 0
        offDelayMillis: 0
        tapType: SINGLE


Кастомные правила - custom


Управление вытяжным вентилятором

Может пригодится для:

  1. Создания логики включения вытяжного вентилятора по свету и отключения по задержке
  2. Создания логики включения вытяжного вентилятора по датчику влажности
custom:
  - name: vent_toilet
    isWithState: true                     # Состояние условия
    onCondition: '{wb-mdm3_199/K1}==1'    # Условие 1
    offCondition: '{wb-mdm3_199/K1}==0'   # Условие 2
    onDelay: 0
    offDelay: 180
    onMessage: "1"
    offMessage: "0"
    outputTopics: ['wb-gpio/EXT4_ON4']   # Управляемые топики

Авто-включение топика

Может пригодиться для:

  1. Принудительного включения топика, если управление группой не требуется.
custom:
  - name: auto_ON
    isWithState: false
    onCondition: '{wb-mr6cv3_28/K3} + {wb-mr6cv3_23/K2} + {wb-mr6cv3_23/K3} + {wb-mr6cv3_213/K1} + {wb-mr6cv3_187/K3} < 5'
    onDelay: 0
    onMessage: "1"
    outputTopics: ['wb-mr6cv3_28/K3', 'wb-mr6cv3_23/K2', 'wb-mr6cv3_23/K3', 'wb-mr6cv3_213/K1', 'wb-mr6cv3_187/K3']

Авто-включение термостатов HEAT

Может пригодиться для:

  1. Принудительного включения топика, если управление группой не требуется.


Авто-включение БП по включению светодиодных групп

Может пригодится для удобного включения БП после его отключения Мастер клавишей.

custom:
  - name: powersupply_autoON
    isWithState: false
    onCondition: '{wb-mrgbw-d-fw3_16/Channel 1 (B)} + {wb-mrgbw-d-fw3_16/Channel 2 (R)} + {wb-mrgbw-d-fw3_16/Channel 3 (G)} + {wb-mrgbw-d-fw3_16/Channel 4 (W)} >=1'
    onDelay: 0
    onMessage: "1"
    outputTopics: ['wb-mr6c_59/K1']

Датчик двери (по 1 двери без блокировок)

custom:
  - name: 139i1_blackbedroomdoor
    isWithState: true
    onCondition: '{wb-mr6cv3_183/K5} == 0 && ((changed({wb-mcm8_138/Input 5}) && {wb-mcm8_138/Input 5}== 0))'
    offCondition: '{wb-mr6cv3_183/K5} == 1'
    onDelay: 0
    offDelay: 300
    onMessage: "1"
    offMessage: "0"
    outputTopics: ['wb-mr6cv3_183/K5']

Датчик двери (по 1 двери с блокировкой отключения по основному свету)

custom:
  - name: 139i5_mastertoiletdoor
    isWithState: true
    onCondition: '{wb-mr6cv3_183/K2} == 0 && ((changed({wb-mcm8_139/Input 5}) && {wb-mcm8_139/Input 5}== 0))'
    offCondition: '{wb-mr6cv3_183/K2} == 1'
    onDelay: 0
    offDelay: 300
    onMessage: "1"
    offMessage: "{wb-mr6cv3_174/K6}"
    outputTopics: ['wb-mr6cv3_183/K2']

Датчик двери (несколько дверей + блокировка по основному свету)

custom:
  - name: 138i5i6&139i1_blackgarderobdoor
    isWithState: true
    onCondition: '{wb-mr6cv3_188/K6} == 0 && ((changed({wb-mcm8_139/Input 1}) && {wb-mcm8_139/Input 1}== 0) || (changed({wb-mcm8_138/Input 5}) && {wb-mcm8_138/Input 5}== 0) || (changed({wb-mcm8_138/Input 6}) && {wb-mcm8_138/Input 6}== 0))'
    offCondition: '{wb-mr6cv3_188/K6} == 1'
    onDelay: 0
    offDelay: 300
    onMessage: "1"
    offMessage: "{wb-mr6cv3_188/K5}"
    outputTopics: ['wb-mr6cv3_188/K6']


Управление воротами и калиткой по сухому контакту

Ворота настроенные на управление SBS (step by step) требуют переключение реле. Соответсвенное после включения реле, правило будет отключать его с небольшой задержкой

Пример:

custom:
  - name: autoOff_23k1-6_2sek
    isWithState: false
    onCondition: '{wb-mr6cu_23/K1} == 1'
    onDelay: 2
    onMessage: "0"
    outputTopics: ['wb-mr6cu_23/K1']


Телеграм оповещения 

Для настройки

  1. создайте бота в @BotFather, например home_notification_bot,
  2. Определите ваш личный id и токен бота. Токен бота появится сразу после создания бота. Для определения вашего id используйте например @username_to_id_bot. Также можно использовать id чата, тогда бот будет отправлять данные туда (не забудьте добавить бота в чат!)
  3. Настройте правило в ПО АБром

Пример:

telegram:
  - name: temp_notify
    condition: "NOW == {yandexWeather/sunrise}"
    message: "artCity, г. Бишкек. \n Температура Офис - {} Комнатка - {} Туалет - {}. Реле Кондиционер - {} Бойлер - {}"
    arguments:
      [
        "{wb-ms_123/Temperature}",
        "{wb-m1w2_32/External Sensor 1}",
        "{wb-ms_112/Temperature}",
        "{IRCONDITIONER_aс_227_kitchen_control/Rule state}",
        "{wb-mr6cu_113/K6}"
      ] # argument of message, replace {} to value of expression
    chatIds: [ "-5999399925" ]
    botToken: "8400140011:A0003c000PzgvM000yT1wD000An-000rI00"
    withoutState: true #by default - false, need to use when rule doesn't have state sendIntervalSeconds: 10


Виртуальное устройство для тестов 

defineVirtualDevice("temperature_control", {
  title: "Temperature Control",
  cells: {
    air_temp: {
      type: "range",
      value: 20.0,
      max: 35.0,
      min: 5.0,
      step: 0.5,
      readonly: false,
      units: "°C"
    },
    floor_temp: {
      type: "range",
      value: 25.0,
      max: 40.0,
      min: 5.0,
      step: 0.5,
      readonly: false,
      units: "°C"
    },
    switch1: {
      type: "switch",
      value: false,
    },
    switch2: {
      type: "switch",
      value: false,
    },
    switch3: {
      type: "switch",
      value: false,
    },
    switch4: {
      type: "switch",
      value: false,
    },
    switch5: {
      type: "switch",
      value: false,
    },
    time: {
      title: "Sunset",
      type: "text",
      value: "05:00",
      readonly: false
    }
  }
});



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

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

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