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

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Построение схемы)
(Проверка)
 
(не показаны 34 промежуточные версии этого же участника)
Строка 1: Строка 1:
Отправка команды устройствам по расписанию (в определенное время и/или с определенным интервалом).
+
Отправка команды устройствам по расписанию (в определенное время и/или с определенным интервалом). Скрипт работает с одной локальной базой интеграции.
  
 
==Построение схемы==
 
==Построение схемы==
Строка 20: Строка 20:
 
[[File:Scheduled_com_3.png|центр|1000px]]
 
[[File:Scheduled_com_3.png|центр|1000px]]
  
''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.''
+
:''Также все элементы можно добавлять путем захвата и перетаскивания на рабочую область левой кнопкой мыши.''
  
:2. Аналогично пункту 1 добавить элементы '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
+
2. Аналогично пункту 1 добавить элементы Egs Модуль '''EgsModule''',  менеджер '''AcuarioManager''' и компьютер '''Computer'''.
  
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
 
[[File:Scheduled_com_6.PNG|центр|1000px]]
  
:3. Настроить сетевой адрес компьютера.  
+
3. Настроить сетевой адрес компьютера.  
  
Для этого  необходимо выделить на схеме элемент '''Computer''' и нажать на кнопку вызова свойств элемента.  
+
Для этого  необходимо выделить на схеме компьютер и нажать на кнопку вызова свойств элемента.  
  
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
 
В окне свойств элемента указать ip адрес используемого компьютера в строке "Сетевой адрес".
Строка 34: Строка 34:
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
 
[[File:Scheduled_com_7.PNG|центр|1000px]]
  
3. Связать '''EgsScheduled''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
+
4. Связать '''EgsScheduled''' и '''Egs Модуль''', подключив пины «'''Egs вход: EgsInput'''» у '''EgsScheduled''' и  «'''Egs выход: EgsOutput'''» у '''Egs Модуля'''.
  
 
[[File:Scheduled_com_8.PNG|центр|1000px]]
 
[[File:Scheduled_com_8.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:Scheduled_com_10.PNG|центр|1000px]]
 
[[File:Scheduled_com_10.PNG|центр|1000px]]
  
6. Настроить следующие параметры триггера:
+
7. Настроить следующие параметры триггера:
  
 +
#текст скрипта ('''script''')'' <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/script/value;</code>
 
# единица измерения ('''period_unit'''), например: секунда;
 
# единица измерения ('''period_unit'''), например: секунда;
 
# интервал в единицах измерения ('''period_count'''), например: 1;
 
# интервал в единицах измерения ('''period_count'''), например: 1;
Строка 54: Строка 55:
 
# включить триггер ('''enabled'''), например: true;
 
# включить триггер ('''enabled'''), например: true;
 
# в настройках:  
 
# в настройках:  
##список масок имен типов для отправки команды ('''types'''), например: BOLID_*;
+
##тип устройства для отправки команды ('''types'''), например: BOLID_ContactSensor;
 
##список идентификаторов объектов для отправки команды ('''guids'''), например: 18a61354-9d51-4506-be41-538b235cef3d;
 
##список идентификаторов объектов для отправки команды ('''guids'''), например: 18a61354-9d51-4506-be41-538b235cef3d;
 
##команда ('''command'''), например: activate.  
 
##команда ('''command'''), например: activate.  
  
 
+
Настройку параметров триггера можно выполнить, открыв свойства элемента.
''Замечание:''
 
 
 
''Если скрипт не был импортирован, то для триггера необходимо настроить параметры:''
 
 
 
#''текст скрипта ('''script''')'' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Scheduled%20commander%201.put&path=0/params/script/value;</code>
 
#''тип ('''typedef''') '' <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Scheduled%20commander%201.put&path=0/params/typedef/value.</code>
 
 
 
''Настройку параметров триггера также можно выполнить, нажав правой кнопкой мыши по элементу '''EgsScheduled''' и в контекстном меню выбрав пункт "Редактировать параметры".''
 
 
 
[[File:Scheduled_com_11.PNG|центр]]
 
 
 
''После этого откроется окно для редактирования параметров.''
 
 
 
[[File:Scheduled_com_12.PNG|центр|1000px]]
 
 
 
''Также это можно выполнить, открыв свойства элемента.''
 
 
 
 
[[File:Scheduled_com_13.PNG|центр]]
 
[[File:Scheduled_com_13.PNG|центр]]
 
==Маски типов и состояний==
 
Маски могут быть как точным именами типов или состояний, так и их частями, содержащими следующие контрольные символы:
 
 
? - любой одиночный символ;
 
* - ноль или более символов;
 
# - любая цифра от 0 до 9;
 
[ charlist ] - любой одиночный символ в charlist;
 
[! charlist ] - любой одиночный символ, не включенный в charlist.
 
  
 
==Проверка==
 
==Проверка==
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com/resources/typedef2017/jsonpath.php?url=/egs/Scheduled%20commander%201.put&path=0/params/hash/value</code>
+
После запуска скрипта в параметре "Хеш" появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке <code>http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/Scheduled%20commander%202.put&path=0/params/hash/value</code>
  
''Хэш-сумма будет совпадать только в том случае, если скрипт не был изменен.''
+
''Хэш-сумма будет совпадать только в том случае, если скрипт был импортирован и не был изменен.''
  
 
==Алгоритм работы==
 
==Алгоритм работы==
  
# Выбираются все объекты типов соответствующих хотя бы одной маске из списка '''settings.types''', либо имеющие идентификатор из списка '''settings.guids'''.
+
# Выбираются все объекты типа '''settings.type''' и имеющие идентификатор из списка '''settings.guids''', если список не пуст.
 
# Выбранным объектам в поле '''command''' записывается команда '''settings.command'''.
 
# Выбранным объектам в поле '''command''' записывается команда '''settings.command'''.
  
Строка 101: Строка 76:
 
Для построения схемы необходимо:
 
Для построения схемы необходимо:
  
1. Создать схему по выше описанному алгоритму.
+
1. Создать схему по выше описанному алгоритму (см. [[Команда_по_расписанию_(Scheduled_commander_1)#Построение_схемы|Построение схемы]]).
 
   
 
   
 
[[File:Scheduled_com_10.PNG|центр|1000px]]
 
[[File:Scheduled_com_10.PNG|центр|1000px]]
Строка 118: Строка 93:
 
#задействовать триггер ('''enabled'''): true;
 
#задействовать триггер ('''enabled'''): true;
 
#в настройках:
 
#в настройках:
##'''types''': BOLID_*;
+
##тип ('''types'''): BOLID_FireSensor;
##'''command''': activate.
+
##команда ('''command'''): activate.
  
После сохранения параметров триггера в параметре "Команда" Пожарного датчика с периодичностью в 1 секунду будет устанавливаться команда "Взять под охрану".
+
'''Результат''':
  
 +
В параметре "Команда" Пожарного датчика с периодичностью в 1 секунду будет устанавливаться команда "Взять под охрану".
  
 
==Дополнения==
 
==Дополнения==
===Добавление триггера EgsScheduled по ссылке===
+
1. В пункте 1 раздела [[Команда_по_расписанию_(Scheduled_commander_1)#Построение_схемы|Построение схемы]] добавление триггера '''EgsScheduled''' можно осуществить по ссылке.
  
Для добавления скрипта необходимо:
+
Для этого необходимо:
  
1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com/resources/typedef2017/egs/Scheduled%20commander%201.put.</code>
+
:1. Импортировать скрипт по следующей ссылке: <code>http://maps.integra-s.com:5434/resources/typedef2017/egs/Scheduled%20commander%202.put.</code>
 
+
:2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
2. Выбрать пункт главного меню "Файл". После этого выбрать "Импорт элементов".
 
  
 
[[File:Scheduled_com_1.png|центр|1000px]]
 
[[File:Scheduled_com_1.png|центр|1000px]]
  
3. В открывшемся окне выбрать импортированный скрипт "Scheduled commander 1.put".
+
:3. В открывшемся окне выбрать импортированный скрипт "Scheduled commander 1.put".
  
 
[[File:Scheduled_com_2.png|центр|1000px]]
 
[[File:Scheduled_com_2.png|центр|1000px]]
  
Элемент появится на рабочей области.
+
:Элемент появится на рабочей области.
  
 
[[File:Scheduled_com_3.png|центр|1000px]]
 
[[File:Scheduled_com_3.png|центр|1000px]]
 +
 +
2. В пункте 7 раздела [[Команда_по_расписанию_(Scheduled_commander_1)#Построение_схемы|Построение схемы]] редактирование параметров элемента можно осуществить, выделив элемент правой кнопкой мыши и в контекстном меню выбрав пункт "Редактировать параметры".
 +
 +
[[File:Scheduled_com_11.PNG|центр]]
 +
 +
:После этого откроется окно для редактирования параметров.''
 +
 +
[[File:Scheduled_com_12.PNG|центр|1000px]]

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

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

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

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

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

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

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

Scheduled com 6.PNG

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

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

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

Scheduled com 7.PNG

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

Scheduled com 8.PNG

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

Scheduled com 9.PNG

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

Scheduled com 10.PNG

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

  1. текст скрипта (script) http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/CCTMK%20client%202.put&path=0/params/script/value;
  2. единица измерения (period_unit), например: секунда;
  3. интервал в единицах измерения (period_count), например: 1;
  4. точное время внутри интервала (period_time), например: 00:00:00, 14:30:00;
  5. повторять через интервал или выполнить один раз в указанное время (repeat), например: 0 (бесконечно), 1 (один раз), 100;
  6. включить триггер (enabled), например: true;
  7. в настройках:
    1. тип устройства для отправки команды (types), например: BOLID_ContactSensor;
    2. список идентификаторов объектов для отправки команды (guids), например: 18a61354-9d51-4506-be41-538b235cef3d;
    3. команда (command), например: activate.

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

Scheduled com 13.PNG

Проверка

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

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

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

  1. Выбираются все объекты типа settings.type и имеющие идентификатор из списка settings.guids, если список не пуст.
  2. Выбранным объектам в поле command записывается команда settings.command.

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

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

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

Scheduled com 10.PNG

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

Scheduled com 14.PNG

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

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

  1. единица измерения (period_unit): секунда;
  2. интервал в единицах измерения (period_count): 1;
  3. повторять через интервал или выполнить один раз в указанное время (repeat): 0;
  4. задействовать триггер (enabled): true;
  5. в настройках:
    1. тип (types): BOLID_FireSensor;
    2. команда (command): activate.

Результат:

В параметре "Команда" Пожарного датчика с периодичностью в 1 секунду будет устанавливаться команда "Взять под охрану".

Дополнения

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

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

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

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

Scheduled com 11.PNG
После этого откроется окно для редактирования параметров.
Scheduled com 12.PNG