Перейти в хранилище документации
Обратиться в техническую поддержку
Метод DoReactStr используется для генерации реакций системных объектов. Метод DoReactStr отправляет реакцию заданному объекту. При этом реакция передается непосредственно тому ядру, на котором зарегистрирован объект, а не всей системе. В методе DoReactStr реакция задается группой аргументов типа String.
Синтаксис обращения к методу:
function DoReactStr(objtype : String, id : String, action : String, param<value> [, param<value>] : String)
Аргументы метода:
Синтаксис задания значения одному параметру соответствует строке:
"param<value>", где
param – название параметра;
value – значение параметра.
Синтаксис задания значения нескольким параметрам соответствует строке:
"param1<value1>,param2<value2>…".
Список оформляется через запятую без пробелов. В том случае, если ни один параметр задавать не требуется, при обращении необходимо указать пустую строку, например:
DoReactStr("CAM","1","REC","");
Допустимые значения аргумента param: тип String, диапазон ограничен допустимыми для заданной реакции параметрами. Допустимые значения аргумента value: тип String, диапазон зависит от устанавливаемого параметра.
Для всех реакций имеется возможность указать задержку выполнения реакции при помощи параметра delay<>. Задержка указывается в секундах.
Примечание
Пример 1. При регистрации тревоги по любой из видеокамер системы переводить Монитор №1 в режим отображения одного окна видеонаблюдения (однократер) и выводить в данном окне видеосигнал с камеры, по которой зарегистрирована тревога.
if (Event.SourceType == "CAM" && Event.Action == "MD_START") { var camid = Event.SourceId; DoReactStr("MONITOR","1","ACTIVATE_CAM","cam<"+ camid +">"); DoReactStr("MONITOR","1","KEY_PRESSED","key<SCREEN.1>"); }
Пример 2. При окончании тревоги по любой из видеокамер продолжать запись по ней в течении еще 5 секунд, после чего прекращать запись (аналог режима Дозапись).
if (Event.SourceType == "CAM" && Event.Action == "MD_STOP") { var camid = Event.SourceId; DoReactStr("CAM",camid,"REC_STOP","delay<5>"); }
Пример 3. По макрокоманде 1 включать управление телеметрией при помощи мыши на камере 4, выведенной на монитор 10, по макрокоманде 2 отключать.
if (Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceId == "1") { DoReactStr("MONITOR","10","CONTROL_TELEMETRY","cam<4>,on<1>"); } if (Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceId == "2") { DoReactStr("MONITOR","10","CONTROL_TELEMETRY","cam<4>,on<0>"); }