Элемент - заместитель связанного устройства (Proxy item 1) — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Построение схемы)
(Проверка)
 
(не показано 20 промежуточных версий этого же участника)
Строка 2: Строка 2:
 
Копирование команды от прокси в связанное устройство.
 
Копирование команды от прокси в связанное устройство.
  
 +
==Построение схемы==
  
==Настройка==
+
Для построения схемы требуется:
===Добавления триггера EgsObjectUpdated===
 
  
Триггер '''EgsObjectUpdated''' можно добавить двумя способами:
+
1. Добавить триггер '''EgsObjectUpdated'''.
  
====Добавление триггера EgsObjectUpdated по ссылке====
+
:Для этого необходимо:
  
Для добавления скрипта необходимо:
+
:1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsObjectUpdated'''.
 
 
1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Proxy%20item%201.put.</code>
 
 
 
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
 
 
[[File:Scheduled_com_1.png|центр|1000px]]
 
 
 
3. В открывшемся окне выбрать импортированный скрипт "Proxy item 1.put".
 
 
 
[[File:ProxiItem_1.PNG|центр|1000px]]
 
 
 
Элемент появится на рабочей области.
 
 
 
[[File:ResponsiveCommander_3.PNG|центр|1000px]]
 
 
 
====Добавление триггера вручную====
 
 
 
Для того чтобы добавить триггер вручную, необходимо:
 
 
 
1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''EgsObjectUpdated'''.
 
  
 
[[File:ResponsiveCommander_2.png|центр]]
 
[[File:ResponsiveCommander_2.png|центр]]
  
2. Дважды нажать на выбранный элемент.
+
:2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.  
 
 
После этого появится окно для добавления элемента.  
 
  
 
[[File:Scheduled_com_5.png|центр]]
 
[[File:Scheduled_com_5.png|центр]]
  
3. Нажать кнопку "Добавить".  
+
:3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
  
Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.
+
[[File:ResponsiveCommander_3.PNG|центр|1000px]]
  
===Построение схемы===
+
2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
 
 
Для дальнейшего построения схемы необходимо:
 
 
 
1. Добавить элемент '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
 
  
 
[[File:ResponsiveCommander_4.PNG|центр|1000px]]
 
[[File:ResponsiveCommander_4.PNG|центр|1000px]]
  
2. Настроить сетевой адрес компьютера.  
+
3. Настроить сетевой адрес компьютера.  
  
Для этого  необходимо выделить на схеме элемент '''Computer''' и нажать на кнопку вызова свойств элемента.  
+
Для этого  необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.  
  
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
Строка 60: Строка 34:
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
  
3. Связать '''EgsObjectUpdated''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsObjectUpdated''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
+
4. Связать '''EgsObjectUpdated''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsObjectUpdated''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
  
 
[[File:ProxiItem_2.PNG|центр|1000px]]
 
[[File:ProxiItem_2.PNG|центр|1000px]]
  
4. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Привязка к менеджеру: ManagingContainer'''" из '''Менеджера устройств'''.
+
5. Привязать пин "'''Привязка к менеджеру: ManagingContent'''" из '''Egs Модуля''' к пину "'''Менеджер устройств: ManagingContainer'''" из '''Менеджера устройств'''.
  
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
 
[[File:Scheduled_com_9.PNG|центр|1000px]]
  
5. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''.
+
6. Подключить пин "'''ПО: SoftwareContent'''" из '''Менеджера устройств''' с пином "'''Установленное ПО: SoftwareContainer'''" из '''Компьютера'''.
  
 
[[File:ProxiItem_3.PNG|центр|1000px]]
 
[[File:ProxiItem_3.PNG|центр|1000px]]
  
6. Настроить следующие параметры триггера:
+
7. Настроить следующие параметры триггера:
 +
 
 +
#текст скрипта ('''script''') <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%202.put&path=0/params/script/value;</code>
 
#задействовать триггер ('''enabled'''), например: true;
 
#задействовать триггер ('''enabled'''), например: true;
 
#в настройках:
 
#в настройках:
##список масок имен типов устройств ('''item_types'''), например: VideoCamera;
+
##тип устройств ('''item_type'''), например: VideoCamera;
 
##имя пина, через который устройства подключены к прокси ('''item_pin'''), например: zoneInputPin;
 
##имя пина, через который устройства подключены к прокси ('''item_pin'''), например: zoneInputPin;
##список масок имен типов прокси ('''proxy_types'''), например: Zone;
+
##тип прокси ('''proxy_type'''), например: Zone;
 
##имя пина, через который прокси подключены к устройствам ('''proxy_pin'''), например: zoneOutputPin.
 
##имя пина, через который прокси подключены к устройствам ('''proxy_pin'''), например: zoneOutputPin.
  
''Замечание:''
+
Настройку параметров триггера можно выполнить, открыв свойства элемента.
 +
[[File:ProxiItem_6.PNG|центр]]
  
''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:''
+
==Проверка==
 +
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%202.put&path=0/params/hash/value</code>
  
#''текст скрипта ('''script''')'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%201.put&path=0/params/script/value;</code>
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
#''тип ('''typedef''') '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%201.put&path=0/params/typedef/value.</code>
+
 
 +
==Алгоритм работы==
  
''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу '''EgsObjectUpdated''' и в контекстном меню выбрав пункт "Редактировать параметры".''
+
#При смене состояния устройства, имеющего тип из списка '''item_type''':
 +
##находятся все прокси, соединенные с устройством линком от '''item_pin''' к '''proxy_pin''' и имеющие тип из списка '''proxy_type''';
 +
##значение состояния устройства копируется в состояние прокси;
 +
##если у прокси нет такого состояния, то выбирается наиболее близкое базовое состояние из списка '''ok.normal''', '''error.defective''', '''alarm.alarm''' и '''none.unknown'''.
 +
#При смене команды прокси, имеющего тип из списка '''proxy_type''':
 +
##находятся все устройства, соединенные с прокси линком от '''proxy_pin''' к '''item_pin''' и имеющие тип из списка '''item_type''';
 +
##значение команды прокси копируется в состояние устройства;
 +
##если у устройства нет такого состояния, то выставляется значение '''DEFAULT''' и параметр помечается как не валидный.
  
[[File:ProxiItem_4.png|центр]]
+
==Пример работы==
  
''После этого откроется окно для редактирования параметров.''
+
Для построения схемы необходимо:
  
[[File:ProxiItem_5.PNG|центр]]
+
1. Создать схему по выше описанному алгоритму (см. [[Элемент_-_заместитель_связанного_устройства_(Proxy_item_1)#Построение_схемы|Построение схемы]]).
 +
 +
[[File:ProxiItem_3.PNG|центр|1000px]]
  
''Также это можно выполнить, открыв свойства элемента.''
+
2. Добавить элемент Зона и IP Видеокамера. Подключите пин "'''Привязка к зоне: ZoneInputPin'''" из '''IP Видеокамеры''' с пином "'''Зона: ZoneOutputPin'''" из '''Зоны'''.
  
[[File:ProxiItem_6.PNG|центр]]
+
[[File:ProxiItem_7.PNG|центр|1000px]]
  
==Маски типов и состояний==
+
3. Настроить параметр "Сетевой адрес" компьютера.
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
 
  
? - любой одиночный символ;
+
4. Настроить следующие параметры триггера:
* - ноль или более символов;
 
# - любая цифра от 0 до 9;
 
[ charlist ] - любой одиночный символ в charlist;
 
[! charlist ] - любой одиночный символ, не включенный в charlist.
 
  
==Проверка==
+
#задействовать триггер ('''enabled'''): true;
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Responsive%20commander%201.put&path=0/params/hash/value</code>
+
#в настройках:
 +
##тип устройств ('''item_type'''): VideoCamera;
 +
##имя пина, через который устройство подключено к прокси ('''item_pin'''): zoneInputPin;
 +
##тип прокси ('''proxy_type'''): Zone;
 +
##имя пина, через который прокси подключен к устройствам ('''proxy_pin'''): zoneOutputPin.
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
'''Результат''':
  
==Алгоритм работы==
+
При смене состояния IP Видеокамеры, например, на тревогу, появится соответствующее состояние у Зоны.
  
#Проверяется, чтобы объект источник события соответствовал хотя бы одной маске из списка '''settings.source_types''', либо имел идентификатор из списка '''settings.source_guids'''.
+
==Дополнения==
#Проверяется, что список измененных параметров содержит состояние объекта, и значение состояния соответствует хотя бы одной маске из списка '''settings.source_states'''.
+
1. В пункте 1 раздела [[Элемент_-_заместитель_связанного_устройства_(Proxy_item_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsObjectUpdated''' можно осуществить по ссылке.
#Если в '''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'''.
 
  
==Примеры использования==
+
Для этого необходимо:
1. По тревоге от любого датчика пожарной сигнализации открыть на выход все турникеты.
 
 
    "source_types": ["FireSecurityCategory"],
 
    "source_guids": null,
 
    "source_states": ["alarm_*"],
 
    "link_type": "",
 
    "link_same_side": false,
 
    "target_types": ["Turnstile"],
 
    "target_guids": null,
 
    "target_command": "open_out"
 
}
 
2. По тревоге от датчика пожарной сигнализации открыть на выход турникет, связанный с ним линком '''LogicLink'''.
 
{
 
    "source_types": ["FireSecurityCategory"],
 
    "source_guids": null,
 
    "source_states": ["alarm_*"],
 
    "link_type": "LogicLink",
 
    "link_same_side": false,
 
    "target_types": ["Turnstile"],
 
    "target_guids": null,
 
    "target_command": "open_out"
 
}
 
3. По тревоге от датчика пожарной сигнализации открыть на выход турникет, находящийся в том же помещении, т.е. связанный с тем же объектом типа '''Space'''.
 
{
 
    "source_types": ["FireSecurityCategory"],
 
    "source_guids": [],
 
    "source_states": ["alarm_*"],
 
    "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": [],
 
    "source_guids": ["7cd95cde-e320-456e-afc1-475899d78707"],
 
    "source_states": ["alarm_*"],
 
    "link_type": "",
 
    "link_same_side": false,
 
    "target_types": [],
 
    "target_guids": ["119eee75-8a52-4443-b537-aac86d3a8a8f"],
 
    "target_command": "open_out"
 
}
 
  
==Пример работы==
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Proxy%20item%202.put.</code>
 +
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
  
Для построения схемы необходимо:
+
[[File:Scheduled_com_1.png|центр|1000px]]
  
1. Создать схему по выше описанному алгоритму.
+
:3. В открывшемся окне выбрать импортированный скрипт "Proxy item 1.put".
 
[[File:ResponsiveCommander_6.PNG|центр|1000px]]
 
  
2. Добавить элемент Турникет и Болид Пожарный датчик.
+
[[File:ProxiItem_1.PNG|центр|1000px]]
  
[[File:ResponsiveCommander_10.PNG|центр|1000px]]
+
:Элемент появится на рабочей области.
  
3. Настроить параметр "Сетевой адрес" компьютера.
+
[[File:ResponsiveCommander_3.PNG|центр|1000px]]
  
4. Настроить следующие параметры триггера:
+
2. В пункте 7 раздела [[Элемент_-_заместитель_связанного_устройства_(Proxy_item_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
  
#список масок имен типов источников событий ('''source_types'''): [];
+
[[File:ProxiItem_4.png|центр]]
#список масок имен событий, активирующих скрипт ('''source_states'''): alarm_*;
 
#имя типа линка, соединяющего источник и приемник ('''link_type'''): "";
 
#флаг, указывающий по одну или по разные стороны линка находятся источник события и приемник команды ('''link_same_side'''): false;
 
#список масок имен типов приемников команд ('''target_types'''): [];
 
#список идентификаторов объектов приемников команд ('''target_guids''').  В данном случае это турникет с идентификатором: 70500b89-8b04-46b3-9173-6a48ecd78e61;
 
#отправляемая команда ('''target_command'''): open_out;
 
#список идентификаторов объектов источников событий ('''source_guids''').
 
Для этого необходимо зайти в свойства пожарного датчика и нажать на ссылку "Болид Пожарный датчик". Идентификатор скопируется в буфер обмена. В данном случае это: 2ff2420d-a001-4d59-99b7-4ca66d507e6f.
 
  
[[File:ResponsiveCommander_11.png|центр]]
+
:После этого откроется окно для редактирования параметров.''
  
После сохранения параметров по тревоге от датчика пожарной сигнализации выполнится команда "открыть на выход" турникет .
+
[[File:ProxiItem_5.PNG|центр]]

Текущая версия на 11:45, 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 Модуля.

ProxiItem 2.PNG

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

Scheduled com 9.PNG

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

ProxiItem 3.PNG

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

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Proxy%20item%202.put&path=0/params/script/value;
  2. задействовать триггер (enabled), например: true;
  3. в настройках:
    1. тип устройств (item_type), например: VideoCamera;
    2. имя пина, через который устройства подключены к прокси (item_pin), например: zoneInputPin;
    3. тип прокси (proxy_type), например: Zone;
    4. имя пина, через который прокси подключены к устройствам (proxy_pin), например: zoneOutputPin.

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

ProxiItem 6.PNG

Проверка

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

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

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

  1. При смене состояния устройства, имеющего тип из списка item_type:
    1. находятся все прокси, соединенные с устройством линком от item_pin к proxy_pin и имеющие тип из списка proxy_type;
    2. значение состояния устройства копируется в состояние прокси;
    3. если у прокси нет такого состояния, то выбирается наиболее близкое базовое состояние из списка ok.normal, error.defective, alarm.alarm и none.unknown.
  2. При смене команды прокси, имеющего тип из списка proxy_type:
    1. находятся все устройства, соединенные с прокси линком от proxy_pin к item_pin и имеющие тип из списка item_type;
    2. значение команды прокси копируется в состояние устройства;
    3. если у устройства нет такого состояния, то выставляется значение DEFAULT и параметр помечается как не валидный.

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

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

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

ProxiItem 3.PNG

2. Добавить элемент Зона и IP Видеокамера. Подключите пин "Привязка к зоне: ZoneInputPin" из IP Видеокамеры с пином "Зона: ZoneOutputPin" из Зоны.

ProxiItem 7.PNG

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

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

  1. задействовать триггер (enabled): true;
  2. в настройках:
    1. тип устройств (item_type): VideoCamera;
    2. имя пина, через который устройство подключено к прокси (item_pin): zoneInputPin;
    3. тип прокси (proxy_type): Zone;
    4. имя пина, через который прокси подключен к устройствам (proxy_pin): zoneOutputPin.

Результат:

При смене состояния IP Видеокамеры, например, на тревогу, появится соответствующее состояние у Зоны.

Дополнения

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

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

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

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

ProxiItem 4.png
После этого откроется окно для редактирования параметров.
ProxiItem 5.PNG