SmartVision API Integration Module
SmartVision API Integration Module расширяет возможности видеонаблюдения и превращает систему из инструмента наблюдения в инструмент действия. Модуль предназначен для выполнения внешних команд по событиям видеоаналитики и позволяет автоматически управлять дверями, шлагбаумами, сиренами, реле, контроллерами, локальными программами и внешними сервисами.
Речь идет не о формальном webhook "для галочки", а о полноценном механизме интеграции, который связывает события аналитики с реальными действиями на объекте.
Как работает модуль
Логика работы построена так, чтобы внешние интеграции не мешали видеонаблюдению. Когда камера или аналитический модуль фиксирует событие, SmartVision проверяет правило, расписание и дополнительные ограничения, после чего ставит задачу в отдельную очередь выполнения.
Далее команда отправляется не из видеопотока напрямую, а через отдельный механизм исполнения. Такой подход защищает систему от зависаний и не позволяет медленным внешним API, контроллерам или сетевым задержкам влиять на обработку видео.
Базовая схема выглядит так:
- событие фиксируется камерой или аналитикой
- правило проверяет условия срабатывания
- задача ставится в очередь
- отдельный worker выполняет действие
- результат записывается в журнал
Именно такая архитектура позволяет SmartVision сохранять стабильную работу даже в ситуациях, когда внешняя система отвечает с характером старого принтера: не сразу, не всегда и с сюрпризами.
Размещение в интерфейсе
В интерфейсе SmartVision для каждой камеры предусмотрен отдельный раздел Actions, в котором отображаются готовые правила для этой камеры. Оператор сразу видит ключевую информацию:
- условие срабатывания
- расписание
- назначенное действие
- текущее состояние правила
В общих настройках программы доступен отдельный справочник действий. Именно там централизованно создаются, редактируются и удаляются шаблоны внешних команд, которые затем используются в правилах камер.
Готовые условия для автоматизации
На старте SmartVision использует набор преднастроенных условий, которые подходят для самых востребованных сценариев автоматизации. Для каждой камеры могут использоваться типовые события:
- номер из белого списка
- номер из черного списка
- лицо из белого списка
- лицо из черного списка
- дым
- огонь
Такие правила заранее подготовлены, но по умолчанию остаются выключенными и не привязаны к действиям. Это безопасный и правильный подход: сначала оператор настраивает сценарий, затем включает его в работу.
Для распознанных лиц и автомобильных номеров SmartVision также поддерживает удобную модель статусов доступа:
- нет доступа
- белый список
- VIP
- черный список
Это упрощает построение логики и позволяет без лишних обходных решений создавать более сложные сценарии автоматизации.
Централизованные действия
В SmartVision действие является отдельной сущностью, которая настраивается централизованно и может использоваться сразу в нескольких правилах и на нескольких камерах. Это избавляет от дублирования настроек и упрощает сопровождение системы.
На текущем этапе доступны основные типы действий:
- HTTP-запрос
- запуск внешней программы
Для HTTP-интеграций настраиваются стандартные параметры:
- метод запроса
- адрес
- авторизация
- заголовки
- тело запроса
- таймаут
- количество повторных попыток
- успешные коды ответа
Для запуска внешних программ используются:
- путь к исполняемому файлу
- аргументы запуска
Этого уже достаточно для большого числа практических задач:
- открытие шлагбаума
- открытие двери
- включение реле
- отправка команды в СКУД
- запуск локального скрипта
- передача события во внешний сервис
Почему SmartVision не отправляет команды прямо из видеопотока
Прямой вызов внешнего API из потока аналитики выглядит просто только на бумаге. На практике такая схема быстро приводит к проблемам: внешний сервер может отвечать медленно, контроллер может зависнуть, API может вернуть ошибку, а поток событий при этом продолжает идти.
Если не отделить видеообработку от внешних команд, система начинает тормозить именно там, где этого нельзя допускать. Поэтому в SmartVision используется раздельная архитектура, где аналитика и интеграции работают независимо друг от друга.
Это позволяет системе сохранять устойчивость даже при проблемах на стороне внешних сервисов.
Защита от повторных срабатываний
Одна из главных задач в любой интеграции по событиям аналитики, это не просто отправить команду, а не отправить ее много раз подряд на одно и то же событие.
Один и тот же номер может быть распознан в нескольких соседних кадрах. Лицо может подтверждаться серией детекций. Дым, огонь или другой инцидент тоже обычно не ограничиваются одним кадром. Без защитных механизмов система быстро превратилась бы в фабрику дублей.
В SmartVision для этого используются несколько уровней защиты.
Пауза после срабатывания
После успешного выполнения действия правило может блокироваться на заданный интервал времени. Это особенно полезно для дверей, ворот, шлагбаумов, сирен и реле, где повтор той же команды через секунду не приносит пользы.
Пример простой: номер из белого списка распознан, команда на открытие шлагбаума отправлена. Через секунду тот же номер обнаружен снова. При наличии паузы повторная команда уже не уйдет.
Ограничение числа запусков
Если аналитика начинает генерировать слишком много событий из-за шума, ложных детекций или нестабильных условий съемки, SmartVision ограничивает количество запусков за единицу времени. Это защищает:
- внешние контроллеры
- API внешних систем
- журнал событий
- саму систему видеонаблюдения
Подавление дублей
Помимо общей паузы SmartVision может отсеивать именно одинаковые события в коротком временном окне. Это более точный механизм, который не блокирует правило целиком, а убирает только повторы.
Например, если один и тот же номер распознан в 10:00:01, 10:00:03 и 10:00:05, такие срабатывания можно считать дублями. Но если следом появляется уже другой номер, он будет обработан отдельно.
Проверка перед выполнением действия
Перед тем как поставить команду в очередь на выполнение, SmartVision проверяет основные условия корректного запуска. Система учитывает:
- включено ли правило
- назначено ли действие
- активно ли расписание
- не действует ли пауза после предыдущего срабатывания
- не превышен ли лимит запусков
- не является ли событие дублем
Только после этого задача передается на исполнение. Такой подход позволяет системе реагировать именно на события, а не на случайный шум.
Гибкое расписание
Расписание в SmartVision является частью логики автоматизации, а не декоративной настройкой. Правило может работать:
- только ночью
- только в рабочие часы
- только в выходные
- в заданные интервалы времени
Если расписание не указано, правило работает постоянно. Это удобно как поведение по умолчанию. При этом сама модель расписания подходит для дальнейшего расширения и поддерживает более сложные временные сценарии.
Типовые действия для быстрого запуска
Для удобного старта модуль может использовать набор типовых действий, которые закрывают основные потребности автоматизации:
- открыть шлагбаум
- удерживать шлагбаум открытым
- закрыть шлагбаум
- открыть дверь
- закрыть дверь
- включить сигнализацию
- запуск внешней программы
- прочие пользовательские действия
Для части интеграций можно применять готовые статические HTTP-команды. Это упрощает первый запуск и позволяет быстрее вводить систему в эксплуатацию.
Тестирование и журнал выполнения
В SmartVision предусмотрены инструменты, которые помогают не только настроить интеграцию, но и контролировать ее работу в реальных условиях.
Функция тестирования действия позволяет проверить команду без ожидания реального события. Это удобно для проверки:
- адреса устройства
- параметров авторизации
- структуры запроса
- времени ответа
- факта доступности устройства
История выполнения
Журнал выполнения нужен для контроля и диагностики. В нем отображается:
- когда сработало правило
- какое действие было поставлено в очередь
- успешно ли оно выполнилось
- сколько времени заняло выполнение
- были ли повторные попытки
- какой ответ вернула внешняя система
- когда состоялся последний успешный запуск
Передача контекста события
На первом этапе SmartVision поддерживает статические действия, такие как открытие двери, шлагбаума, включение реле или отправка фиксированного HTTP-запроса. Но архитектура модуля изначально рассчитана на развитие.
В дальнейшем в URL, заголовки и тело запроса могут подставляться данные самого события, например:
- идентификатор камеры
- имя камеры
- тип события
- время события
- номер автомобиля
- идентификатор лица
- имя человека
- ссылка на снимок
- уровень достоверности
- зона детекции
Это дает внешним системам не просто команду, а полный контекст происходящего. Такой подход открывает путь к интеграциям с CRM, ERP, WMS, СКУД, help desk-платформами, облачными сервисами и внутренними корпоративными системами.
Сценарии применения
Архитектура SmartVision API Integration Module не ограничивается стартовым набором условий. Тот же механизм подходит для самых разных отраслевых сценариев, где события аналитики должны запускать реальные действия.
Примеры типовых цепочек:
- лицо сотрудника → проверка расписания → открытие двери → фиксация прохода
- номер поставщика → проверка списка → открытие ворот → уведомление склада
- огонь → отключение питания → запуск сирены → отправка тревоги → сохранение видео
- неизвестный человек ночью → включение прожектора → отправка фото владельцу → запись инцидента
- драка → тревога → вывод соседних камер → уведомление охраны → сохранение фрагмента
- человек без каски → голосовое предупреждение → уведомление начальнику смены → запись нарушения
SmartVision как платформа автоматизации
SmartVision API Integration Module делает видеонаблюдение не только источником изображения, но и полноценным центром событийной автоматизации. Система не просто фиксирует происходящее, а связывает аналитику с внешними действиями и позволяет строить надежные сценарии для безопасности, доступа, логистики и управления объектом.
Если архитектура с самого начала построена на правилах, очереди задач, защите от дублей и централизованных действиях, система легко масштабируется под новые задачи. Именно поэтому SmartVision подходит не только для наблюдения, но и для реальной автоматизации процессов на объекте.