Работа со сценариями системы
Общие сведения
Сценарий – текст, описывающий выполнение определенной последовательности действий над объектами системы. Например, таких действий как: постановка под охрану, снятие с охраны, получение состояния, протоколирования события и т.д..
Различается два вида сценариев: сценарии 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 *
Предупреждение
Важно использовать правильный регистр букв и одинаковое количество пробелов с начала строки. В пределах блока отступ должен быть одинаковым. Операторы, начинающие вложенный блок, должны отделяться двоеточием.