⌂ > 🛠 Конфигурационный REST API > ⇄ Путь

PUT /configure/channels/{channel-id}/scenarios : Изменение сценариев для камеры🔗

Предупреждение

Доступно только в лицензиях Enterprise и ULTRA.

Данный запрос может выполняться только пользователем с максимальными правами, то есть входящим в группу Старшие администраторы.

Важно

Во всех примерах указан локальный хост (localhost). При отправке реальных запросов замените его на адрес и порт сервера, на который отправляете запрос.

Параметры🔗

Параметр

Описание

MotionFact

Обнаружено движение в кадре (событие будет генерироваться постоянно пока в кадре присутствует движение)

MotionBegin

Начало движения в кадре (повторной генерации не будет, пока движение не прекратится). Не забудьте в настройках детектора движения включить соответствующую опцию, отвечающую за генерацию данного события

MotionEnd

Окончание движения в кадре (повторной генерации не будет, пока движение не прекратится). Не забудьте в настройках детектора движения включить соответствующую опцию, отвечающую за генерацию данного события

CameraLostConnection

Соединение с камерой потеряно

CameraEstablishConnection

Соединение с камерой восстановлено

CameraInput

Обнаружен сигнал на входе камеры

UserAlarm

Обнаружена пользовательская тревога (генерируется из клиентского приложения)

FaceDetected

Обнаружено лицо в кадре (событие будет генерироваться только при включённом модуле Распознавание лиц на камере)

LargeNumberOfPeopleInQueue

Превышено максимальное количество людей в очереди

Описание действий (Actions):

Параметр

Описание

ArchiveRecordingOn

Включение ручной записи в архив

ArchiveRecordingOff

Выключение ручной записи в архив

SendingEmail

Отправка email

ExecutingCameraOutput

Установка значения на выходе камеры

AlarmGeneration

Генерация тревоги

MobilePushMessage

Генерация тревоги

Описание атрибутов действий:

Действие

Атрибут

Описание

Тип

Обязательный

Общие

RepeatIntervalMs

Ограничение времени повторения в миллисекундах

number

Нет, по умолчанию — 5000 (5 секунд)

ArchiveRecordingOn

RecordingDurationMs

Интервал записи в миллисекундах

number

Нет, по умолчанию — 0

ArchiveRecordingOff

-//-

AlarmGeneration

-//-

ExecutingCameraOutput

-//-

SendingEmail

EmailServerIndex

Индекс email сервера в списке серверов

number

Нет, по умолчанию — 0

EmailFrom

Адрес отправителя

string

Да

EmailTo

Адрес получателя

string

Да

EmailBody

Текст сообщения

string

Нет, по умолчанию — пустая строка

FrameAttachmentEnabled

Приложить к письму кадр

boolean

Нет, по умолчанию — false

UseFrameFromArchive

Использовать кадр из архива

boolean

Нет, по умолчанию — false

MobilePushMessage

TextToSend

Текст сообщения

string

Да

UsersList

Список пользователей. В случае указания пользователя неопределённого на сервере произойдёт ошибка

[string]

Да

Пример запроса🔗

PUT http://192.168.100.50:8080/configure/channels/7d69e586-25c6-470e-a368-5570d57b2631/scenarios

Примеры тел PUT-запросов🔗

Пример тела PUT-запроса, изменяющего для типа события «Движение» интервал повтора события «Генерация тревоги» до 30000 миллисекунд:

[
    {
        "EventType": "MotionFact",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":30000,\"Conditions\":[]}"
            }
        ]
    },

    {
        "EventType": "MotionBegin",
        "Actions": [
            {
                "ActionType": "ArchiveRecordingOn",
                "ActionBodyJson": "{\"RecordingDurationMs\":300000,\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "MotionEnd",
        "Actions": [
            {
                "ActionType": "ArchiveRecordingOn",
                "ActionBodyJson": "{\"RecordingDurationMs\":300000,\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "CameraLostConnection",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "CameraEstablishConnection",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "CameraNoConnection",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            },
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "CameraInput",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    },
    {
        "EventType": "UserAlarm",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[]}"
            }
        ]
    }
]

Примечание

Для изменения нескольких сценариев используется PUT-запрос и он изменяет весь массив сценариев (т.е. изменяются все существующие сценарии). Данное поведение отличается от изменения ресурса configure/channels/{channel_id}.

Примечание

Начиная с версии 3.4 для настройки действий (Actions) по событиям (EventType) можно задать условия срабатывания (Conditions).

Пример тела PUT-запроса, который задает для типа события «Обнаружено лицо» условие выполнения действия «Генерация тревоги», где условие - название группы равно «Перехват»:

[
    {
        "EventType": "FaceDetected",
        "Actions": [
            {
                "ActionType": "AlarmGeneration",
                "ActionBodyJson": "{\"RepeatIntervalMs\":5000,\"Conditions\":[{\"ConditionFieldName\":\"groups\",\"Comparison\":\"Equal\",\"Value\":\"Перехват\"}]"
            }
        ]
    }
]

Для каждого события (EventType) могут быть заданы только совместимые атрибуты события (ConditionFieldName). Таблица совместимости событий и атрибутов:

Событие (EventType)

Совместимые атрибуты события (ConditionFieldName)

Описание

Сравнение (Comparison)

Значение (Value)

MotionFact

zoneid

Уникальный ID зоны детектирования

Equal, NotEqual

Строка

MotionBegin

zoneid

Уникальный ID зоны детектирования

Equal, NotEqual

Строка

MotionEnd

zoneid

Уникальный ID зоны детектирования

Equal, NotEqual

Строка

CameraLostConnection

streamtypes

Название типа потока

Equal, NotEqual

MainVideo (Основное видео), AlternativeVideo (Альтернативное видео), MainSound (Основной звук), AlternativeSound (Альтернативный звук), OutputSound (Подача звука), MotionDetection (Детекция движения), IO (I/O), ArchiveVideo (Архивное видео), ArchiveSound (Архивный звук)

durationinseconds

Длительность обрыва (в секундах)

Equal

Целое число

CameraEstablishConnection

streamtypes

Название типа потока

Equal, NotEqual

MainVideo (Основное видео), AlternativeVideo (Альтернативное видео), MainSound (Основной звук), AlternativeSound (Альтернативный звук), OutputSound (Подача звука), MotionDetection (Детекция движения), IO (I/O), ArchiveVideo (Архивное видео), ArchiveSound (Архивный звук)

CameraNoConnection

streamtypes

Название типа потока

Equal, NotEqual

MainVideo (Основное видео), AlternativeVideo (Альтернативное видео), MainSound (Основной звук), AlternativeSound (Альтернативный звук), OutputSound (Подача звука), MotionDetection (Детекция движения), IO (I/O), ArchiveVideo (Архивное видео), ArchiveSound (Архивный звук)

durationinseconds

Длительность обрыва (в секундах)

Equal

Целое число

CameraInput

portid

Номер входа

Equal, NotEqual, Bigger, BiggerOrEqual, Smaller, SmallerOrEqual

Целое число

portvalue

Наличие сигнала

Equal, NotEqual

true, false

FaceDetected

isidentified

Лицо опознано

Equal, NotEqual

true, false

lastname

Фамилия

Equal, NotEqual, Like

Строка

firstname

Имя

Equal, NotEqual, Like

Строка

patronymic

Отчество

Equal, NotEqual, Like

Строка

groups

Название группы

Equal, NotEqual, Like

Строка

additionalinfo

Дополнительная информация

Equal, NotEqual, Like

Строка

emotion

Эмоция

Equal, NotEqual

Unknown (Неизвестная), Neutral (Нейтральная), Happiness (Позитивная), Sadness (Негативная)

LargeNumberOfPeopleInQueue

zonename

Название зоны

Equal, NotEqual, Like

Строка

Описание операторов сравнения (Comparison):

Сравнение (Comparison)

Описание

Equal

Проверяет, что значение атрибута события (ConditionFieldName) равно заданному значению (Value). Действие произойдёт, если значения будут равны

NotEqual

Проверяет, что значение атрибута события (ConditionFieldName) не равно заданному значению (Value). Действие произойдёт, если значения не будут равны

Bigger

Проверяет, что значение атрибута события (ConditionFieldName) больше заданного значения (Value)

BiggerOrEqual

Установка значения на выходе камеры

Smaller

Проверяет, что значение атрибута события (ConditionFieldName) меньше заданного значения (Value)

SmallerOrEqual

Проверяет, что значение атрибута события (ConditionFieldName) меньше или равно заданному значению (Value)

Like

Проверяет, что строковое значение атрибута события (ConditionFieldName) содержит подстроку (Value)