Команда по событию (Responsive commander 1) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Добавление триггера вручную)
(Проверка)
 
(не показано 47 промежуточных версий этого же участника)
Строка 1: Строка 1:
Отправка команды устройствам по событию от других устройств (или от самого себя).
+
Отправка команды устройствам по событию от других устройств (или от самого себя). Скрипт работает с одной локальной базой интеграции.
  
==Настройка==
+
==Построение схемы==
===Добавления триггера EgsObjectUpdated===
 
  
Триггер '''EgsScheduled''' можно добавить двумя способами:
+
Для построения схемы требуется:
  
====Добавление триггера EgsScheduled по ссылке====
+
1. Добавить триггер '''EgsObjectUpdated'''.
  
Для добавления скрипта необходимо:
+
:Для этого необходимо:
  
1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Responsive%20commander%201.put.</code>
+
:1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsObjectUpdated'''.
  
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
+
[[File:ResponsiveCommander_2.png|центр]]
  
[[File:Scheduled_com_1.png|центр|1000px]]
+
:2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.  
  
3. В открывшемся окне выбрать импортированный скрипт "Responsive commander 1.put".
+
[[File:Scheduled_com_5.png|центр]]
  
[[File:ResponsiveCommander_1.PNG|центр|1000px]]
+
:3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
  
Элемент появится на рабочей области.
+
[[File:ResponsiveCommander_3.PNG|центр|1000px]]
  
[[File:Scheduled_com_3.png|центр|1000px]]
+
2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
  
====Добавление триггера вручную====
+
[[File:ResponsiveCommander_4.PNG|центр|1000px]]
  
Для того чтобы добавить триггер вручную, необходимо:
+
3. Настроить сетевой адрес компьютера.
  
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsObjectUpdated'''.
+
Для этого  необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.  
  
[[File:ResponsiveCommander_2.png|центр]]
+
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
  
2. Дважды нажать на выбранный элемент.  
+
[[File:Scheduled_com_7.PNG|центр|1000px]]
  
После этого появится окно для добавления элемента.  
+
4. Связать '''EgsObjectUpdated''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsObjectUpdated''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
  
[[File:Scheduled_com_5.png|центр]]
+
[[File:ResponsiveCommander_5.PNG|центр|1000px]]
  
3. Нажать кнопку "Добавить".  
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''.
  
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
+
[[File:Scheduled_com_9.PNG|центр|1000px]]
  
===Построение схемы===
+
6. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''.
  
Для дальнейшего построения схемы необходимо:
+
[[File:ResponsiveCommander_6.PNG|центр|1000px]]
  
1. Добавить элемент '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
+
7. Настроить следующие параметры триггера:
  
[[File:Scheduled_com_6.PNG|центр|1000px]]
+
#текст скрипта ('''script''') <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Responsive%20commander%202.put&path=0/params/script/value;</code>
 +
#в настройках:
 +
##тип объекта источника событий ('''source_types'''), например: FireSecurityCategory;
 +
##список идентификаторов объектов источников событий ('''source_guids'''), например: 7cd95cde-e320-456e-afc1-475899d78707;
 +
##список масок имен событий, активирующих скрипт ('''source_states'''), например: alarm_*, error_*;
 +
##имя типа линка, соединяющего источник и приемник ('''link_type'''), например: LogicLink, Position;
 +
##флаг, указывающий по одну или по разные стороны линка находятся источник события и приемник команды ('''link_same_side'''), см. примеры в низу;
 +
##тип объекта приемника команд ('''target_types'''), например: Turnstile;
 +
##список идентификаторов объектов приемников команд ('''target_guids'''), например: 119eee75-8a52-4443-b537-aac86d3a8a8f;
 +
##отправляемая команда ('''target_command'''), например: activate, deactivate, open_out.
  
2. Настроить сетевой адрес компьютера.  
+
Настройку параметров триггера можно выполнить, открыв свойства элемента.
  
Для этого  необходимо выделить на схеме элемент '''Computer''' и нажать на кнопку вызова свойств элемента.  
+
[[File:ResponsiveCommander_9.PNG|центр]]
  
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
+
==Маски состояний==
 +
Маски могут быть как точным именами состояний, так и их частями, содержащими следующие контрольные символы:
  
[[File:Scheduled_com_7.PNG|центр|1000px]]
+
? - любой одиночный символ;
 +
* - ноль или более символов;
 +
# - любая цифра от 0 до 9;
 +
[ charlist ] - любой одиночный символ в charlist;
 +
[! charlist ] - любой одиночный символ, не включенный в charlist.
  
3. Связать '''EgsScheduled''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
+
==Проверка==
 +
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Responsive%20commander%202.put&path=0/params/hash/value</code>
  
[[File:PositionSimulator_2.PNG|центр|1000px]]
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
4. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''.
+
==Алгоритм работы==
  
[[File:Scheduled_com_9.PNG|центр|1000px]]
+
#Проверяется, чтобы объект источник события имел тип '''settings.source_types''' и идентификатор из списка '''settings.source_guids''' (если указано).
 +
#Проверяется, что список измененных параметров содержит состояние объекта, и значение состояния соответствует хотя бы одной маске из списка '''settings.source_states'''.
 +
#Если в '''settings.link_type''' указан тип линка и '''settings.link_same_side''' равен '''false''':
 +
##выбираются все объекты, находящиеся с ранее выбранными по разную сторону линка '''settings.link_type''';
 +
##выбранным объектам в поле '''command''' записывается команда '''settings.target_command'''.
 +
#Если в '''settings.link_type''' указан тип линка и '''settings.link_same_side''' равен '''true''':
 +
##выбираются все объекты, находящиеся с ранее выбранными по одну сторону линка '''settings.link_type''';
 +
##выбранным объектам в поле '''command''' записывается команда '''settings.target_command'''.
 +
#Если в '''settings.link_type''' не указан тип линка:
 +
##выбираются все объекты типов, соответствующих хотя бы одной маске из списка '''settings.target_types''', либо имеющие идентификатор из списка '''settings.target_guids'''.
 +
##выбранным объектам в поле '''command''' записывается команда '''settings.target_command'''.
  
5. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''.
+
==Примеры использования==
 +
1. По тревоге от любого датчика пожарной сигнализации открыть на выход все турникеты.
 +
 
 +
    source_types: FireSecurityCategory
 +
    source_guids:
 +
    source_states: alarm_* error_* (разделены с помощью Enter)
 +
    link_type:
 +
    link_same_side: false
 +
    target_types: Turnstile
 +
    target_guids:
 +
    target_command: open_out
  
[[File:PositionSimulator_3.PNG|центр|1000px]]
+
2. По тревоге от датчика пожарной сигнализации открыть на выход турникет, связанный с ним линком '''LogicLink'''.
  
''Замечание:''
+
    source_types: FireSecurityCategory
 +
    source_guids:
 +
    source_states: alarm_* error_* (разделены с помощью Enter)
 +
    link_type: LogicLink
 +
    link_same_side: false
 +
    target_types: Turnstile
 +
    target_guids:
 +
    target_command: open_out
  
''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:''
+
3. По тревоге от датчика пожарной сигнализации открыть на выход турникет, находящийся в том же помещении, т.е. связанный с тем же объектом типа '''Space'''.
  
#''текст скрипта ('''script''')'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%201.put&path=0/params/script/value;</code>
+
    source_types: FireSecurityCategory
#''тип ('''typedef''') '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%201.put&path=0/params/typedef/value;</code>
+
    source_guids:  
#''единица измерения ('''period_unit'''), например: секунда;''
+
    source_states: alarm_* error_* (разделены с помощью Enter)
#''интервал в единицах измерения ('''period_count'''), например: 1;''
+
    link_type: Position
#''точное время внутри интервала ('''period_time'''), например: 00:00:00, 14:30:00;''
+
    link_same_side: true
#''повторять через интервал или выполнить один раз в указанное время ('''repeat'''), например: 0 (бесконечно), 1 (один раз), 100;''
+
    target_types: Turnstile
#''задействовать триггер ('''enabled'''), например: true;''
+
    target_guids:  
#''в настройках:''
+
    target_command: open_out
::8.1 ''данные о движении объекта в некотором формате ('''settings.input'''), например:''
 
''48.39250538706612,53.08561325603247,0 48.3916008019351,53.08549340734039,0 48.39167409940283,53.0853119589439,0 48.39181445107519,53.08495754008844,0 48.39209640494313,53.08438800284189,0 48.39227957653078,53.08389896728745,0 48.39283025959841,53.08396288429309,0 48.39373600936838,53.08412382293808,0 48.39360388037241,53.08466109322499,0 48.39313385277075,53.08562609372662,0 48.39250538706612,53.08561325603247,0;''
 
::8.2 ''регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''', например:''
 
''(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;''
 
::8.3 ''идентификатор двигаемого объекта ('''settings.target'''), например: dd0385b7-b32a-4658-88ab-afef3743459b.''
 
  
''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу '''EgsScheduled''' и в контекстном меню выбрав пункт "Редактировать параметры".''
+
4. По тревоге от датчика пожарной сигнализации c идентификатором 7cd95cde-e320-456e-afc1-475899d78707 открыть на выход турникет с идентификатором 119eee75-8a52-4443-b537-aac86d3a8a8f.
 +
 +
    source_types: FireSecurityCategory
 +
    source_guids: 7cd95cde-e320-456e-afc1-475899d78707
 +
    source_states: alarm_* error_* (разделены с помощью Enter)
 +
    link_type: Position
 +
    link_same_side: true
 +
    target_types: Turnstile
 +
    target_guids: 119eee75-8a52-4443-b537-aac86d3a8a8f
 +
    target_command: open_out
  
[[File:PositionSimulator_4.png|центр]]
+
==Пример работы==
  
''После этого откроется окно для редактирования параметров.''
+
Для построения схемы необходимо:
 +
 
 +
1. Создать схему по выше описанному алгоритму (см. [[Команда_по_событию_(Responsive_commander_1)#Построение_схемы|Построение схемы]]).
 +
 +
[[File:ResponsiveCommander_6.PNG|центр|1000px]]
  
[[File:PositionSimulator_5.PNG|центр]]
+
2. Добавить элемент Турникет и Болид Пожарный датчик.
  
''Также это можно выполнить, открыв свойства элемента.''
+
[[File:ResponsiveCommander_10.PNG|центр|1000px]]
  
[[File:PositionSimulator_6.PNG|центр]]
+
3. Настроить параметр "Сетевой адрес" компьютера.
  
==Маски типов и состояний==
+
4. Настроить следующие параметры триггера:
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
 
  
? - любой одиночный символ;
+
#тип объекта источника событий ('''source_types'''): "FireSecurityCategory";
* - ноль или более символов;
+
#список масок имен событий, активирующих скрипт ('''source_states'''): alarm_*;
# - любая цифра от 0 до 9;
+
#имя типа линка, соединяющего источник и приемник ('''link_type'''): "";
  [ charlist ] - любой одиночный символ в charlist;
+
#флаг, указывающий по одну или по разные стороны линка находятся источник события и приемник команды ('''link_same_side'''): false;
[! charlist ] - любой одиночный символ, не включенный в charlist.
+
#тип объекта приемника команд ('''target_types'''): "Turnstile";
 +
#список идентификаторов объектов приемников команд ('''target_guids'''). В данном случае это турникет с идентификатором: 70500b89-8b04-46b3-9173-6a48ecd78e61;
 +
#отправляемая команда ('''target_command'''): open_out;
 +
#список идентификаторов объектов источников событий ('''source_guids''').
 +
Для этого необходимо зайти в свойства пожарного датчика и нажать на ссылку "Болид Пожарный датчик". Идентификатор будет скопирован в буфер обмена. В данном случае это: 2ff2420d-a001-4d59-99b7-4ca66d507e6f.
 +
 
 +
[[File:ResponsiveCommander_11.png|центр]]
  
==Проверка==
+
'''Результат''':
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Position%20simulator%201.put&path=0/params/hash/value</code>
 
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
По тревоге от датчика пожарной сигнализации выполнится команда "открыть на выход" турникет.
  
==Алгоритм работы==
+
==Дополнения==
 +
1. В пункте 1 раздела [[Команда_по_событию_(Responsive_commander_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsObjectUpdated''' можно осуществить по ссылке.
  
#Находится объект назначения с идентификатором '''settings.target'''.
+
Для этого необходимо:
#Данные из '''settings.input''' при помощи регулярного выражения из '''settings.pattern''' преобразовываются в список групп параметров '''longitude''', '''latitude''' и '''altitude'''.
 
#С заданным интервалом из списка выбирается следующая группа параметров по кругу.
 
#Параметры группы записываются в соответствующие параметры объекта назначения.
 
  
==Пример работы==
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Responsive%20commander%202.put.</code>
 +
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  
Для построения схемы необходимо:
+
[[File:Scheduled_com_1.png|центр|1000px]]
  
1. Создать схему по выше описанному алгоритму.
+
:3. В открывшемся окне выбрать импортированный скрипт "Responsive commander.put".
 
[[File:PositionSimulator_3.PNG|центр|1000px]]
 
  
2. Добавить элемент Большой корабль.
+
[[File:ResponsiveCommander_1.PNG|центр|1000px]]
  
[[File:PositionSimulator_7.PNG|центр|1000px]]
+
:Элемент появится на рабочей области.
  
3. Настроить параметр "Сетевой адрес" компьютера.
+
[[File:ResponsiveCommander_3.PNG|центр|1000px]]
  
4. Настроить следующие параметры триггера:
+
2. В пункте 7 раздела [[Команда_по_событию_(Responsive_commander_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
  
#единица измерения ('''period_unit'''): секунда;
+
[[File:ResponsiveCommander_7.png|центр]]
#интервал в единицах измерения ('''period_count'''): 1;
 
#повторять через интервал или выполнить один раз в указанное время ('''repeat'''): 0;
 
#задействовать триггер ('''enabled'''): true;
 
#в настройках:
 
::5.1 данные о движении объекта в некотором формате ('''settings.input'''):
 
48.39250538706612,53.08561325603247,0 48.3916008019351,53.08549340734039,0 48.39167409940283,53.0853119589439,0 48.39181445107519,53.08495754008844,0 48.39209640494313,53.08438800284189,0 48.39227957653078,53.08389896728745,0 48.39283025959841,53.08396288429309,0 48.39373600936838,53.08412382293808,0 48.39360388037241,53.08466109322499,0 48.39313385277075,53.08562609372662,0 48.39250538706612,53.08561325603247,0;
 
::5.2 регулярное выражение для разбора данных ('''settings.pattern'''), должно содержать три именованные группы с именами '''longitude''', '''latitude''' и '''altitude''':
 
(?:(?<longitude>-?\d+\.?\d*),(?<latitude>-?\d+\.?\d*),(?<altitude>-?\d+\.?\d*))\s*;
 
::5.3 идентификатор двигаемого объекта ('''settings.target'''). Для этого необходимо зайти в свойства элемента Большой корабль и нажать на ссылку "Большой корабль". Идентификатор скопируется в буфер обмена. В данном случае это: 2e3b0a7a-cb77-4c93-b461-7c8672dace06.
 
  
[[File:PositionSimulator_8.png|центр]]
+
:После этого откроется окно для редактирования параметров.''
  
После сохранения параметров триггера в параметре "Расположение" двигаемого элемента с периодичностью в 1 секунду будут устанавливаться значения.
+
[[File:ResponsiveCommander_8.PNG|центр|1000px]]

Текущая версия на 11:43, 21 мая 2019

Отправка команды устройствам по событию от других устройств (или от самого себя). Скрипт работает с одной локальной базой интеграции.

Построение схемы

Для построения схемы требуется:

1. Добавить триггер EgsObjectUpdated.

Для этого необходимо:
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsObjectUpdated.
ResponsiveCommander 2.png
2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
Scheduled com 5.png
3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
ResponsiveCommander 3.PNG

2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.

ResponsiveCommander 4.PNG

3. Настроить сетевой адрес компьютера.

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

В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".

Scheduled com 7.PNG

4. Связать EgsObjectUpdated и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsObjectUpdated и «Egs выход: EgsOutput» у Egs Модуля.

ResponsiveCommander 5.PNG

5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.

Scheduled com 9.PNG

6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.

ResponsiveCommander 6.PNG

7. Настроить следующие параметры триггера:

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Responsive%20commander%202.put&path=0/params/script/value;
  2. в настройках:
    1. тип объекта источника событий (source_types), например: FireSecurityCategory;
    2. список идентификаторов объектов источников событий (source_guids), например: 7cd95cde-e320-456e-afc1-475899d78707;
    3. список масок имен событий, активирующих скрипт (source_states), например: alarm_*, error_*;
    4. имя типа линка, соединяющего источник и приемник (link_type), например: LogicLink, Position;
    5. флаг, указывающий по одну или по разные стороны линка находятся источник события и приемник команды (link_same_side), см. примеры в низу;
    6. тип объекта приемника команд (target_types), например: Turnstile;
    7. список идентификаторов объектов приемников команд (target_guids), например: 119eee75-8a52-4443-b537-aac86d3a8a8f;
    8. отправляемая команда (target_command), например: activate, deactivate, open_out.

Настройку параметров триггера можно выполнить, открыв свойства элемента.

ResponsiveCommander 9.PNG

Маски состояний

Маски могут быть как точным именами состояний, так и их частями, содержащими следующие контрольные символы:

? - любой одиночный символ;
* - ноль или более символов;
# - любая цифра от 0 до 9;
[ charlist ] - любой одиночный символ в charlist;
[! charlist ] - любой одиночный символ, не включенный в charlist.

Проверка

После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Responsive%20commander%202.put&path=0/params/hash/value

Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.

Алгоритм работы

  1. Проверяется, чтобы объект источник события имел тип settings.source_types и идентификатор из списка settings.source_guids (если указано).
  2. Проверяется, что список измененных параметров содержит состояние объекта, и значение состояния соответствует хотя бы одной маске из списка settings.source_states.
  3. Если в settings.link_type указан тип линка и settings.link_same_side равен false:
    1. выбираются все объекты, находящиеся с ранее выбранными по разную сторону линка settings.link_type;
    2. выбранным объектам в поле command записывается команда settings.target_command.
  4. Если в settings.link_type указан тип линка и settings.link_same_side равен true:
    1. выбираются все объекты, находящиеся с ранее выбранными по одну сторону линка settings.link_type;
    2. выбранным объектам в поле command записывается команда settings.target_command.
  5. Если в settings.link_type не указан тип линка:
    1. выбираются все объекты типов, соответствующих хотя бы одной маске из списка settings.target_types, либо имеющие идентификатор из списка settings.target_guids.
    2. выбранным объектам в поле command записывается команда settings.target_command.

Примеры использования

1. По тревоге от любого датчика пожарной сигнализации открыть на выход все турникеты.

   source_types: FireSecurityCategory
   source_guids: 
   source_states: alarm_* error_* (разделены с помощью Enter)
   link_type: 
   link_same_side: false
   target_types: Turnstile
   target_guids: 
   target_command: open_out 

2. По тревоге от датчика пожарной сигнализации открыть на выход турникет, связанный с ним линком LogicLink.

   source_types: FireSecurityCategory
   source_guids: 
   source_states: alarm_* error_* (разделены с помощью Enter)
   link_type: LogicLink
   link_same_side: false
   target_types: Turnstile
   target_guids: 
   target_command: open_out 

3. По тревоге от датчика пожарной сигнализации открыть на выход турникет, находящийся в том же помещении, т.е. связанный с тем же объектом типа Space.

   source_types: FireSecurityCategory
   source_guids: 
   source_states: alarm_* error_* (разделены с помощью Enter)
   link_type: Position
   link_same_side: true
   target_types: Turnstile
   target_guids: 
   target_command: open_out 

4. По тревоге от датчика пожарной сигнализации c идентификатором 7cd95cde-e320-456e-afc1-475899d78707 открыть на выход турникет с идентификатором 119eee75-8a52-4443-b537-aac86d3a8a8f.

   source_types: FireSecurityCategory
   source_guids: 7cd95cde-e320-456e-afc1-475899d78707
   source_states: alarm_* error_* (разделены с помощью Enter)
   link_type: Position
   link_same_side: true
   target_types: Turnstile
   target_guids: 119eee75-8a52-4443-b537-aac86d3a8a8f
   target_command: open_out

Пример работы

Для построения схемы необходимо:

1. Создать схему по выше описанному алгоритму (см. Построение схемы).

ResponsiveCommander 6.PNG

2. Добавить элемент Турникет и Болид Пожарный датчик.

ResponsiveCommander 10.PNG

3. Настроить параметр "Сетевой адрес" компьютера.

4. Настроить следующие параметры триггера:

  1. тип объекта источника событий (source_types): "FireSecurityCategory";
  2. список масок имен событий, активирующих скрипт (source_states): alarm_*;
  3. имя типа линка, соединяющего источник и приемник (link_type): "";
  4. флаг, указывающий по одну или по разные стороны линка находятся источник события и приемник команды (link_same_side): false;
  5. тип объекта приемника команд (target_types): "Turnstile";
  6. список идентификаторов объектов приемников команд (target_guids). В данном случае это турникет с идентификатором: 70500b89-8b04-46b3-9173-6a48ecd78e61;
  7. отправляемая команда (target_command): open_out;
  8. список идентификаторов объектов источников событий (source_guids).

Для этого необходимо зайти в свойства пожарного датчика и нажать на ссылку "Болид Пожарный датчик". Идентификатор будет скопирован в буфер обмена. В данном случае это: 2ff2420d-a001-4d59-99b7-4ca66d507e6f.

ResponsiveCommander 11.png

Результат:

По тревоге от датчика пожарной сигнализации выполнится команда "открыть на выход" турникет.

Дополнения

1. В пункте 1 раздела Построение схемы добавление триггера EgsObjectUpdated можно осуществить по ссылке.

Для этого необходимо:

1. Импортировать скрипт по следующей ссылке: http://maps.integra-s.com:5434/resources/typedef2017/egs/Responsive%20commander%202.put.
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
Scheduled com 1.png
3. В открывшемся окне выбрать импортированный скрипт "Responsive commander.put".
ResponsiveCommander 1.PNG
Элемент появится на рабочей области.
ResponsiveCommander 3.PNG

2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".

ResponsiveCommander 7.png
После этого откроется окно для редактирования параметров.
ResponsiveCommander 8.PNG