Работа со сценариями системы
Общие сведения
Сценарий – текст, описывающий выполнение определенной последовательности действий над объектами системы. Например, таких действий как: постановка под охрану, снятие с охраны, получение состояния, протоколирования события и т.д..
Различается два вида сценариев: сценарии XDEV - для охранных приборов и сценарии Contact ID - для Contact ID совместимых устройств.
Правила запуска, порядок выполнения и список доступных функций отличается в зависимости от типа.
Вырианты запуска сценария
Тип сценария |
Варианты запуска |
---|---|
Сценарий XDEV |
|
Сценарий Contact ID |
|
Порядок выполнения сценария XDEV
«Ядро» выполняет поиск сценария в базе данных.
«Ядро» отправляет найденный сценарий на выполнение приложению «Сервер Сценариев».
«Сервер Сценариев» анализирует текст сценария и выполняет его. Во время выполнения сценария происходит обмен служебной информацией между приложениями «Ядро» и «Сервер сценариев».
«Ядро» выполняет команды, полученные от «Сервер Сценариев», и протоколирует свои действия в ленту событий системы.
Порядок выполнения сценария Contact ID
«Ядро» при получении сообщения в формате Contact ID в ленте событий регистрирует событие «Звонок».
«Ядро» выполняет поиск устройства с Account Number из сообщения. Проверяется наличие сценария у найденного устройства.
«Ядро» отправляет найденный сценарий на выполнение приложению «Сервер Сценариев».
«Сервер Сценариев» анализирует текст сценария и выполняет его. Во время выполнения сценария происходит обмен служебной информацией между приложениями «Ядро» и «Сервер сценариев».
«Ядро» выполняет команды, полученные от «Сервер Сценариев», и протоколирует свои действия в ленту событий системы.
Правила написания сценариев
Текст сценария состоит из двух блоков:
заголовок;
список функций.
1from PritokModule import * # заголовок
2
3def SCRIPT(handle): # функция SCRIPT
4 send_command(handle,1011,202) # тело функции
В заголовке подключаются функции, доступные для сценария согласно его типу. Используйте следующую конструкцию, чтобы подключить сразу все доступные функции.
from PritokModule import *
Предупреждение
Важно использовать правильный регистр букв и одинаковое количество пробелов с начала строки. В пределах блока отступ должен быть одинаковым. Операторы, начинающие вложенный блок, должны отделяться двоеточием.