Трансляция состояний в события (State Event) — различия между версиями
Mikheeva (обсуждение | вклад) (→Построение схемы) |
Mikheeva (обсуждение | вклад) (→Пример работы) |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 88: | Строка 88: | ||
1. Создать схему по выше описанному алгоритму (см. [[Рассчитывание_состояния_зоны_(Smart_Zone)#Построение_схемы|Построение схемы]]). | 1. Создать схему по выше описанному алгоритму (см. [[Рассчитывание_состояния_зоны_(Smart_Zone)#Построение_схемы|Построение схемы]]). | ||
− | [[File: | + | [[File:StateEvent_1.PNG|центр|800px]] |
− | 2. Добавить элемент | + | 2. Добавить элемент Болид Подарный датчик и IP видеокамера. |
− | [[File: | + | [[File:StateEvent_4.PNG|центр|800px]] |
3. Настроить параметр "Сетевой адрес" компьютера. | 3. Настроить параметр "Сетевой адрес" компьютера. | ||
4. Настроить следующие параметры триггера: | 4. Настроить следующие параметры триггера: | ||
− | #текст скрипта (script): http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/ | + | #текст скрипта ('''script'''): <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/State%20Event%201.put&path=0/params/script/value;</code> |
− | #задействовать триггер (enabled): true. | + | #задействовать триггер (enabled), например: true. |
+ | #в настройках таблица соответствий типов или идентификаторов устройств набору фильтров состояний в json формате ('''table'''), см. ниже. | ||
+ | { | ||
+ | "VideoCamera": [ "alarm_*", "ok_normal" ], | ||
+ | "b98fd896-dfc5-4e86-82f0-e491e436e3d9": "*" | ||
+ | } | ||
− | + | :Для ввода идентификатора необходимо зайти в свойства элемента Болид Пожарный датчик и нажать на ссылку "Болид Пожарный датчик". Идентификатор будет скопирован в буфер обмена. В данном случае это: b98fd896-dfc5-4e86-82f0-e491e436e3d9. | |
+ | [[File:StateEvent_5.PNG|центр]] | ||
'''Результат''': | '''Результат''': | ||
− | + | Для просмотра результата необходимо зайти в [[Онлайн мониторинг событий | Менеджер событий]]. | |
+ | |||
+ | Настроить вкладку на необходимый сервер и параметр "Событие состояния" (StateEvent). | ||
+ | |||
+ | [[File:StateEvent_6.PNG|центр|500px]] | ||
+ | |||
+ | После изменения состояния в пожарном датчике или если в IP видеокамере установится тревожное состояние или в норме, данные события появятся в списке. | ||
+ | [[File:StateEvent_7.PNG|центр|1400px]] | ||
+ | |||
+ | По нажатию на кнопку "Показать информацию" [[File:manager_38.PNG]] раскроется подробная информация о событии. | ||
+ | [[File:StateEvent_8.PNG|центр|1400px]] | ||
==Дополнения== | ==Дополнения== | ||
− | 1. В пункте 1 раздела [[ | + | 1. В пункте 1 раздела [[Трансляция_состояний_в_события_(State_Event)#Построение_схемы|Построение схемы]] добавление триггера '''EgsObjectUpdated''' можно осуществить по ссылке. |
Для этого необходимо: | Для этого необходимо: | ||
− | :1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/ | + | :1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/State%20Event%201.put.</code> |
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов". | :2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов". | ||
[[File:Scheduled_com_1.png|центр|700px]] | [[File:Scheduled_com_1.png|центр|700px]] | ||
− | :3. В открывшемся окне выбрать импортированный скрипт " | + | :3. В открывшемся окне выбрать импортированный скрипт "State Event.put". |
− | + | [[File:StateEvent_9.PNG|центр]] | |
− | [[File: | ||
:Элемент появится на рабочей области. | :Элемент появится на рабочей области. | ||
− | |||
[[File:ResponsiveCommander_3.PNG|центр|700px]] | [[File:ResponsiveCommander_3.PNG|центр|700px]] | ||
− | 2. В пункте 7 раздела [[ | + | 2. В пункте 7 раздела [[Трансляция_состояний_в_события_(State_Event)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры". |
− | + | [[File:StateEvent_10.PNG|центр]] | |
− | [[File: | ||
:После этого откроется окно для редактирования параметров.'' | :После этого откроется окно для редактирования параметров.'' | ||
− | [[File: | + | [[File:StateEvent_11.PNG|центр|1000px]] |
Текущая версия на 11:15, 3 июня 2019
Отслеживание изменений состояния элементов, соответствующих по типу или гуиду какому либо фильтру состояний из таблицы соответствия. Трансляция состояний, удовлетворяющих выбранному фильтру, в события типа StateEvent.
Построение схемы
Для построения схемы требуется:
1. Добавить триггер EgsObjectUpdated.
- Для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент EgsObjectUpdated.
- 2. Дважды нажать на выбранный элемент, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
2. Аналогично пункту 1 добавить элементы Egs Модуль EgsModule, менеджер AcuarioManager и компьютер Computer.
3. Настроить сетевой адрес компьютера.
Для этого необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
4. Связать EgsObjectUpdated и Egs Модуль, подключив пины «Egs вход: EgsInput» у EgsObjectUpdated и «Egs выход: EgsOutput» у Egs Модуля.
5. Привязать пин "Привязка к менеджеру: ManagingContent" из Egs Модуля к пину "Менеджер устройств: ManagingContainer" из Менеджера устройств.
6. Подключить пин "ПО: SoftwareContent" из Менеджера устройств с пином "Установленное ПО: SoftwareContainer" из Компьютера.
7. Настроить следующие параметры триггера:
- текст скрипта (script):
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/State%20Event%201.put&path=0/params/script/value;
- задействовать триггер (enabled), например: true.
- в настройках таблица соответствий типов или идентификаторов устройств набору фильтров состояний в json формате (table), см. ниже.
{ "VideoCamera": [ "alarm_*", "ok_normal" ], "4562ea51-77ff-4539-b087-3db8d52510b8": "*" }
Таблица соответствий имеет вид json объекта, ключами которого являются либо имена типов устройств, либо их идентификаторы, а значениями - соответствующие им наборы масок состояний устройства, либо одна единственная маска. Точки в именах событий (например: ok.normal) следует заменять символом подчеркивания (например: ok_normal).
В события типа StateEvent транслируются следующие параметры:
- Владелец (BaseEvent.owner) - идентификатор элемента
- Сервер (BaseEvent.server) - идентификатор сервера
- Расположение(BaseEvent.position) - географические координаты элемента
- Состояние (StateEvent.state) - состояние элемента
- Время (StateEvent.datetime) - время изменения состояния
- Версия (StateEvent.version) - версия изменений элемента
- Тип (StateEvent.itemtype) - тип элемента
- Имя (StateEvent.name) - имя элемента
Настройку параметров триггера можно выполнить, открыв свойства элемента.
Маски состояний
Маски могут быть как точным именами состояний, так и их частями, содержащими следующие контрольные символы:
? - любой одиночный символ; * - ноль или более символов; # - любая цифра от 0 до 9; [ charlist ] - любой одиночный символ в charlist; [! charlist ] - любой одиночный символ, не включенный в charlist.
Проверка
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/State%20Event%201.put&path=0/params/hash/value
Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.
Пример работы
Для построения схемы необходимо:
1. Создать схему по выше описанному алгоритму (см. Построение схемы).
2. Добавить элемент Болид Подарный датчик и IP видеокамера.
3. Настроить параметр "Сетевой адрес" компьютера.
4. Настроить следующие параметры триггера:
- текст скрипта (script):
http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/State%20Event%201.put&path=0/params/script/value;
- задействовать триггер (enabled), например: true.
- в настройках таблица соответствий типов или идентификаторов устройств набору фильтров состояний в json формате (table), см. ниже.
{ "VideoCamera": [ "alarm_*", "ok_normal" ], "b98fd896-dfc5-4e86-82f0-e491e436e3d9": "*" }
- Для ввода идентификатора необходимо зайти в свойства элемента Болид Пожарный датчик и нажать на ссылку "Болид Пожарный датчик". Идентификатор будет скопирован в буфер обмена. В данном случае это: b98fd896-dfc5-4e86-82f0-e491e436e3d9.
Результат:
Для просмотра результата необходимо зайти в Менеджер событий.
Настроить вкладку на необходимый сервер и параметр "Событие состояния" (StateEvent).
После изменения состояния в пожарном датчике или если в IP видеокамере установится тревожное состояние или в норме, данные события появятся в списке.
По нажатию на кнопку "Показать информацию" раскроется подробная информация о событии.
Дополнения
1. В пункте 1 раздела Построение схемы добавление триггера EgsObjectUpdated можно осуществить по ссылке.
Для этого необходимо:
- 1. Импортировать скрипт по следующей ссылке:
http://maps.integra-s.com:5434/resources/typedef2017/egs/State%20Event%201.put.
- 2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
- 3. В открывшемся окне выбрать импортированный скрипт "State Event.put".
- Элемент появится на рабочей области.
2. В пункте 7 раздела Построение схемы редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
- После этого откроется окно для редактирования параметров.