События
Шаблоны, детекторы, ONVIF-события, интервалы, вложения и аналитика.
Событие — это зафиксированный системой факт: движение в кадре, пересечение линии, потеря связи с камерой, недоступность узла. События хранятся в Plane, ищутся по полям, показываются в живой ленте и связаны с архивом: из любого события можно перейти в DVR на момент, когда оно произошло.
Страница /admin/events — журнал всех событий. Администратору здесь же доступен переключатель
разделов «События» ↔ «Шаблоны».

Модель события#
Мгновенные события и интервалы#
Мгновенное событие — точка на шкале времени: сработал датчик, распознан номер, произошла ошибка PTZ.
Интервальное событие — эпизод: он сначала открывается, а позже закрывается. Пока эпизод открыт, в колонке «Длительность» стоит пометка «идёт», а после закрытия — фактическая длительность. Так устроены, например, «Поток недоступен» и «Узел не в сети»: событие открывается в момент потери связи и закрывается в момент восстановления.
Интервальными бывают и события камер. Движение — это не набор из сотни сработок, а один эпизод: камера присылает «пульс» примерно раз в секунду, а система собирает его в один интервал и закрывает по тайм-ауту простоя. Тайм-аут задаётся в форме камеры полем «Тайм-аут простоя интервального события (секунды)»: «Интервальное событие (движение, саботаж) закрывается после стольких секунд без активности. Минимум 5 с; пусто — значение детектора или глобальное по умолчанию (10 с).»
Длительность эпизода = время закрытия минус время открытия. Аналитика считает по ней суммарную и среднюю длительность, поэтому корректный тайм-аут простоя напрямую влияет на цифры в отчётах. Слишком маленький тайм-аут дробит один проход человека на десяток эпизодов, слишком большой — склеивает разные события в один.
Категории и важность#
У каждого события есть категория — «События камер» (детекции) или «Системные события» (сервисы панели и флота), и важность: «Отладка», «Инфо», «Предупр.», «Ошибка», «Критично» или «Без». Важность назначает шаблон события — либо константой, либо по правилам, разбирающим содержимое события (см. Шаблоны событий).
Уровень «Отладка» — служебный: он присвоен частым внутренним событиям обслуживания (например, «Обслуживание разделов базы данных», которое возникает на каждом проходе). Фильтр важности «Любая» во всех представлениях означает «любая видимая» — отладочные события в него не входят и не учитываются в счётчиках обзора. Увидеть их можно, явно выбрав уровень «Отладка» в фильтре журнала или кнопку «ОТЛАДКА» в распределении по важности на «Обзоре». Хранятся отладочные события как обычные и удаляются ретенцией.
Системные события#
Системные события создаёт сам Plane. Наиболее востребованные:
| Событие | Тип | Когда возникает |
|---|---|---|
| «Узел не в сети» | интервал | нода перестала отвечать; закрывается при восстановлении связи |
| «Поток недоступен» | интервал | камера должна быть в эфире, но потока нет |
| «Ошибка авторизации камеры» | мгновенное | камера отклонила логин или пароль |
| «Хранилище DVR недоступно» | мгновенное | запись невозможна: диск не отвечает или не инициализирован |
| «Потеряна подписка на события ONVIF» | интервал | камера перестала отдавать свои события |
| «Ошибка управления ONVIF PTZ» | мгновенное | камера не выполнила команду поворота |
| «Некорректная конфигурация узла» | мгновенное | нода не приняла присланную конфигурацию |
| «Квота организации» | мгновенное | организация приблизилась к лимиту или превысила его |
Подавление «дребезга»: камера, пропавшая меньше чем на 15 секунд, события не создаёт#
Plane опрашивает ноды каждые 5 секунд. Камера объявляется недоступной только после трёх подряд неудачных опросов — то есть примерно через 15 секунд непрерывного отсутствия потока. Всё, что короче, событием не становится.
Это не задержка ради удобства, а обязательная защита: на большом парке заметная доля камер переподключается постоянно (слабый Wi-Fi-мост, PoE-коммутатор на грани, перегретый блок питания). Без подавления «дребезга» такой парк генерировал бы лавину бесполезных событий и топил бы в ней настоящие аварии.
Что при этом гарантировано:
- Длительность честная. Время открытия эпизода отсчитывается от первого неудачного опроса, а не от момента, когда система «поверила» в аварию. Пятнадцать секунд отладки не съедаются.
- Восстановление мгновенно. Один удачный опрос сразу закрывает открытый эпизод.
- Камера, которая по замыслу простаивает, аварией не считается. Дополнительный профиль в режиме «по запросу» — это штатное состояние, а не отсутствие потока.
- Камеры на упавшем узле не порождают отдельных событий. Заголовочное событие в этом случае одно — «Узел не в сети»; состояние его камер просто замирает. Это тоже защита от лавины.
Разрывы длительностью менее 15 секунд не исчезают бесследно — они считаются в колонке «Ошибки» списка камер (число переподключений, подсвечивается жёлтым при значении больше нуля), а «Аптайм» показывает, сколько длится текущее соединение. Камера с аптаймом в полминуты и десятками ошибок — кандидат на обслуживание, даже если событий по ней нет. См. Настройка камер.
События камер по ONVIF#
Камера может сама сообщать о движении, саботаже, пересечении линии и прочей аналитике. Чтобы это работало:
- Тип источника камеры — «ONVIF-камера» (или камера через агент), заполнены «Хост / IP» и «Порт ONVIF», верны учётные данные.
- В форме камеры включён флажок «Получать события ONVIF»: «Опрашивать камеру о движении, саботаже и другой аналитике (PullPoint) и показывать события на панели.»
- При необходимости задан «Тайм-аут простоя интервального события (секунды)».
Для распространённых тем ONVIF в системе уже есть готовые шаблоны — события приходят с понятными названиями: «ONVIF — Движение», «ONVIF — Саботаж камеры», «ONVIF — Пересечение линии», «ONVIF — Объект в зоне», «ONVIF — Цифровой вход», «ONVIF — Релейный выход», «ONVIF — Изменение сцены», «ONVIF — Обнаружен звук», «ONVIF — Счётчик объектов» и другие. Тема, которой шаблона нет, отображается общим видом — вы всегда увидите событие, даже если ещё не описали его.
Если камера перестала отдавать события, откроется интервал «Потеряна подписка на события ONVIF» — это отдельный сигнал, отличный от потери видеопотока.
Внешние детекторы и модули#
Сторонняя аналитика (распознавание номеров, подсчёт людей, детекторы на стороне сервера) присылает события модульным токеном — отдельным Bearer-ключом, который принимает только события и не даёт доступа к видео, архиву, PTZ и административному API. Токены создаются в разделе Настройки Plane и токены, формат запроса — в API: события.
Работа со списком событий#
Вкладки, колонки и фильтры#
Вкладки над таблицей: «События камер», «Системные события», «Все». Порядок сортировки фиксирован — новые сверху.
Колонки: звёздочка (отметка), «Время», «Камера», «Организация» (мультиорганизация), «Узел», «Тип», «Детали» (значения полей, объявленных шаблоном), «Важность», «Длительность».
Фильтры: «Период», «Важность», «Организация», «Тип», «Камера» и флажок «Отмечено».
Структурированный поиск#
Поле поиска принимает и обычный текст, и запросы вида поле:значение — плейсхолдер так и
подсказывает: «Текст или поле:значение…». Рядом раскрывается справка «Структурированный поиск
событий» с разделами «Синтаксис поиска» и «Доступные поля»: список полей не выдуман — его
объявляют шаблоны событий, поэтому он отражает именно ваши детекторы.
Маски работают только после поле:: * заменяет любую последовательность символов, ? — один
символ.
Ошибки поиска показываются прямо под полем и объясняют, что поправить:
| Сообщение | Что делать |
|---|---|
| «Введите не менее 2 букв или цифр.» | слишком короткий запрос |
| «Это поле не объявлено выбранным шаблоном события.» | проверьте список «Доступные поля» |
| «Слишком широкая маска…» | добавьте символов до маски |
| «Поиск охватывает слишком много событий…» | сузьте период или добавьте фильтр |
| «Архив не успел завершить этот широкий поиск…» | сузьте период и повторите |
Действия и живая лента#
Действия строки: «Открыть в архиве» (DVR-плеер откроется на моменте события минус предзапись из шаблона), «Детали события» и звёздочка — «Добавить в отмеченные» / «Убрать отметку».
Список подписан на живой поток. Частоту обновления задаёт переключатель «Живые обновления»: «Сразу», «Каждую 1 с», «Каждые 3 с», «Каждые 10 с», «Вручную». Новые события добавляются только когда список стоит на самом свежем крае; иначе строки не прыгают под курсором, а появляется плашка с предложением пересортировать.
Оперативная сводка за сутки, распределение по важности и живая лента с быстрым переходом в архив —
на стартовой странице /admin/. В распределении по важности после кнопки «БЕЗ» есть кнопка
«ОТЛАДКА» — это отдельный явный срез: отладочные события не входят ни в «ЛЮБАЯ», ни в плитки
«событий сегодня», и появляются в ленте только при нажатой кнопке «ОТЛАДКА»:

Карточка события и вложения#
«Детали события» открывают карточку: «Контекст события», «Данные события», «ID события», «Данные» и «Исходные данные (маскировано)», а также «Вложения».
Вложение — это доказательство: кадр или короткий ролик, сохранённый Plane. В карточке изображения показываются с аннотациями объектов (рамки, которые прислал детектор): счётчик «Аннотаций объектов: {n}», кнопки «Показать/Скрыть аннотации объектов», «Открыть изображение» (полноразмерный просмотрщик с перелистыванием и режимами «Показать в исходном размере» / «Вписать изображение в окно») и «Скачать вложение».
Стрелки «Предыдущее событие» и «Следующее событие» (клавиши ← и →) листают события в пределах текущей отфильтрованной выдачи — удобно разбирать серию сработок подряд.
Вложения принадлежат Plane и хранятся в его хранилище доказательств (локальный каталог или S3-совместимое хранилище) — DVR при этом остаётся на нодах. Настройка backend, пороги заполнения и политика при переполнении — Настройки Plane и токены.
Шаблоны событий#
Шаблон определяет, как событие конкретного детектора называется, какой у него уровень важности, что показывать в колонке «Детали», по каким полям искать, какие вложения принимать и сколько хранить событие. Раздел открывается переключателем «Шаблоны» на странице событий (только для администраторов).
Список шаблонов: «Название», «Совпадение детектора», «Версия», «Тип» («Системный» или «Орг.»). Кнопка «Новый шаблон». Для системных шаблонов доступен просмотр и «Создать копию» — защищённый системный шаблон правится только копированием.
Если шаблона для детектора нет, событие не теряется: «Пока нет шаблонов — неизвестный детектор отображается общим видом, пока вы не добавите шаблон.»
Редактор шаблона#
Два режима: «Визуальный конструктор» и «JSON»; «Оба режима редактируют один документ.»
Разделы визуального конструктора:
| Раздел | Что настраивает |
|---|---|
| «Название» | «Совпадение детектора» (поддерживает маску вида acme.*), «Заголовок (EN)» и «Заголовок (RU)» |
| «Пример события» | вставленный JSON реального события: по нему выбираются пути к полям и строится живой предпросмотр; сам пример не сохраняется |
| «Карта важности» | «Важность по умолчанию» и упорядоченные правила («Одно условие» / «Все условия» / «Любое условие», операторы сравнения, «содержит значение», «одно из значений», «поле существует», «совпадает с regex»); срабатывает первое совпавшее правило |
| «Поля колонки «Детали»» | что видно в строке списка |
| «Поля аналитики» | какие поля доступны в отчётах |
| «Поля поиска» | какие поля можно искать через поле:значение |
| «Спецификации вложений» | какие блобы принимаются и как показываются |
| «Компоновка деталей» | вид карточки события |
| «Документ шаблона», «Превью» | итоговый JSON и живой предпросмотр |
Отдельные поля шаблона, которые чаще всего приходится менять:
- «Хранение (дней)» — сколько хранить события этого типа; пусто = значение по умолчанию для организации.
- «Сдвиг таймлайна / предзапись DVR (с)» — на сколько секунд раньше открывать архив по действию «Открыть в архиве». По умолчанию 5 с, максимум 300.
- «Интервальное событие…» — считать ли события этого детектора эпизодами.
- «Необъявленные блобы» — что делать с вложениями, которых шаблон не описывает: «Умолчание установки», «Хранить (непрозрачно)» или «Отбрасывать».
- «Игнорировать совпадающие события» — события отбрасываются до дедупликации, вложений и квот.
Если сторонний детектор шлёт тысячи бесполезных событий, не выключайте камеру: создайте шаблон с точным «Совпадением детектора» и включите «Игнорировать совпадающие события». События перестанут занимать место и квоту, при этом видео, архив и остальные детекторы продолжат работать.
Очистка истории событий#
Массовое удаление событий доступно только суперадминистратору: выделите строки и нажмите «Удалить выбранные события» — откроется окно «Безвозвратная очистка событий» с предпросмотром: сколько событий и вложений (и какого объёма) попадает под выборку. Есть и вариант «Удалить все по текущим фильтрам»; он блокируется, пока в поиске есть текст или пока стоит точный фильтр важности, перенесённый со страницы «Обзор».
Подтверждение требует ввести слово DELETE; окно прямо помечает: «Эту операцию нельзя
отменить». Вместе с событиями удаляются их вложения. После подтверждения задание ставится в очередь
(«Очистка событий поставлена в очередь») и выполняется в фоне; остановить его нельзя.
Очистить историю событий организации целиком можно из карточки организации, раздел «Данные и очистка» — см. Организации, квоты и лимиты.
Аналитика по событиям#
Раздел «Аналитика» (/admin/analytics) строит отчёты и живые дашборды поверх тех же событий:
метрика («Количество событий», «Уникальные камеры», «Открытые интервалы», «Суммарная длительность
эпизодов», «Средняя длительность эпизода» и другие) × разбивка (тип, камера, нода, важность, поле
детектора) × шаг времени, плюс фильтры и представление («KPI-число», «Временной график»,
«Столбчатая диаграмма», «Кольцевая диаграмма», «Таблица данных»).
Два практических правила:
- В отчёте доступны только те поля детектора, которые объявлены шаблоном в разделе «Поля аналитики»: произвольные JSON-пути отчёт не принимает.
- Для интервалов важна «Семантика интервалов»: считать эпизоды, начавшиеся в периоде, или те, что были активны в периоде. Для отчёта «сколько времени камеры были недоступны» нужен второй вариант.
Отчёты видны операторам в пределах их прав на события; печать и сохранение в PDF — кнопкой «Печать / PDF». Программный доступ к тем же расчётам — API: события и аналитика.
Диагностика#
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| События от камеры не приходят | не включён флажок «Получать события ONVIF» | включите его в форме камеры и сохраните |
| Были события, потом пропали | открыт интервал «Потеряна подписка на события ONVIF» | проверьте доступность камеры и учётные данные ONVIF |
| Камера моргает, событий нет | разрывы короче ~15 секунд | это штатное подавление «дребезга»; смотрите колонку «Ошибки» |
| Один проход = десяток событий | слишком маленький тайм-аут простоя интервала | увеличьте «Тайм-аут простоя интервального события (секунды)» |
| Событие есть, кадра нет | вложение не объявлено шаблоном или отброшено политикой | проверьте «Спецификации вложений» и «Необъявленные блобы» |
| «Открыть в архиве» ведёт в пустоту | у камеры выключен DVR либо запись уже вытеснена | см. Архив (DVR) |
| Поиск отвечает ошибкой о широте запроса | слишком общий запрос по большому периоду | сузьте «Период» и добавьте фильтр по камере или типу |
Дополнительно — Диагностика неисправностей и работа оператора с лентой: События и мозаики.