NVR · VMS · Milestone · Genetec · Synology · KNX · 10 мин чтения

Передача событий KNX от NVR и VMS: Milestone, Genetec и Synology Surveillance Station

Корпоративные платформы NVR и VMS уже выполняют сложное обнаружение движения и аналитику событий на программном уровне. Передача этих программных событий в KNX — через HTTP-вебхук, интеграцию SDK или промежуточное ПО — создает гораздо более богатый источник триггеров, чем релейные выходы камер, с событиями по каждой камере, зоне и с фильтрацией по времени.

Подходы к передаче событий NVR/VMS

Три различных паттерна интеграции охватывают спектр платформ NVR/VMS, встречающихся в коммерческих и жилых установках. Правильный подход зависит от того, какая платформа установлена и какая инфраструктура KNX доступна для приема событий.

ПодходПлатформыМетод записи в KNXСложность
HTTP-вебхук → ARISTO BewOSynology Surveillance, небольшие NVRBewO принимает HTTP POST → записывает в групповой адрес KNXНизкая
HTTP-действие → промежуточное ПОMilestone XProtectHTTP-уведомление XProtect → Home Assistant → KNXСредняя
Правило SDK события → HTTP POSTGenetec Security CenterСобытие SDK Genetec → пользовательский сервис → KNX IPВысокий
Подписка на события ONVIFЛюбая ONVIF-совместимая NVR/камераУзел Node-RED ONVIF → запись в KNXСредняя

Интеграция Milestone XProtect через HTTP-уведомления

Milestone XProtect Corporate и Expert включают действие HTTP-уведомления в механизме правил событий. Это позволяет любому событию уровня VMS — движение, закладки, аналитика, доступ к двери — инициировать HTTP POST на внешний приёмник, который затем может записать в групповые адреса KNX.

Настройка правила событий Milestone XProtect

XProtect Management Client → Rules and Events → Rules → New Rule

Rule name: CAM-01 Motion → KNX Alarm
Trigger: Event → Devices → Camera → Motion Started
  Camera: [CAM-01 Entrance]
  Schedule: Always (or restricted hours for arming logic)

Actions:
  Action type: Send HTTP notification
  URL: http://<ARISTO-BewO-IP>:8080/knx/write
  Method: POST
  Content-Type: application/json
  Body:
  {
    "groupAddress": "8/0/1",
    "value": 1,
    "dpt": "1.001"
  }

Second rule for Motion Stopped:
  Trigger: Motion Stopped → same camera
  Body: { "groupAddress": "8/0/1", "value": 0, "dpt": "1.001" }

Note: XProtect Express does not include HTTP notification actions
— requires at least XProtect Professional for HTTP action type

Альтернатива Home Assistant: если ARISTO BewO недоступен, настройте HTTP-уведомление XProtect на вебхук Home Assistant. Автоматизация Home Assistant затем вызывает knx.send сервис для записи в групповой адрес KNX. Для этого требуется HA с интеграцией KNX и туннелированием KNXnet/IP.

Интеграция событий SDK Genetec Security Center

Genetec Security Center использует проприетарный SDK (Security Center SDK) для внешних интеграций. Рекомендуемый подход для интеграции с KNX — лёгкий Windows-сервис или Python-скрипт, который подписывается на события Genetec через SDK и преобразует их в записи групповых адресов KNXnet/IP.

Промежуточный Python-скелет для Genetec → KNX

# Genetec SDK events → KNX via knx-stack (xknx Python library)
# Requires: Genetec Security Center SDK licence + xknx

from xknx import XKNX
from xknx.core import XknxConnectionState
import Genetec.Sdk  # Genetec SDK .NET assembly via pythonnet

GA_MOTION_CAM01 = "8/0/1"

async def on_genetec_event(event):
    if event.EntityType == "Camera" and event.EventType == "MotionDetected":
        camera_name = event.Entity.Name
        if camera_name == "CAM-01 Entrance":
            async with XKNX() as xknx:
                await xknx.core.start()
                from xknx.remote_value import RemoteValueSwitch
                await xknx.telegrams.put(
                    Telegram(
                        destination_address=GroupAddress(GA_MOTION_CAM01),
                        payload=GroupValueWrite(DPTBinary(1))
                    )
                )

# Alternatively: Genetec → HTTP POST → ARISTO BewO
# Using Genetec Event-to-Action: HTTP action on motion event
# POST to BewO endpoint with JSON body (same as Milestone approach)
# Requires Genetec Config Tool → System → General Settings → Actions

Вебхук Synology Surveillance Station к Home Assistant KNX

Synology DSM Surveillance Station поддерживает исходящие вебхуки для событий тревоги по движению — что делает его самой простой платформой NVR для интеграции с KNX на небольших и средних жилых или коммерческих объектах. Вебхук направляется на триггер вебхука Home Assistant, который затем записывает в KNX через интеграцию HA KNX.

Конфигурация Synology → Home Assistant → KNX

Step 1: Synology Surveillance Station
  Notification > Push Service > Webhook
  URL: http://<HA-IP>:8123/api/webhook/synology_motion_cam01
  Method: POST
  Trigger: Motion Detected — Camera: CAM-01 Entrance

Step 2: Home Assistant automation (automations.yaml)
  trigger:
    - platform: webhook
      webhook_id: synology_motion_cam01
      local_only: true
  action:
    - service: knx.send
      data:
        address: "8/0/1"
        payload: 1
        type: "1byte_unsigned"

  # Clear alarm after 30 seconds:
    - delay: "00:00:30"
    - service: knx.send
      data:
        address: "8/0/1"
        payload: 0
        type: "1byte_unsigned"

Step 3: KNX integration (configuration.yaml)
  knx:
    tunneling:
      host: <KNX-IP-router-address>
      port: 3671
      local_ip: <HA-machine-IP>

Ограничение Synology: Вебхуки Surveillance Station не включают события окончания движения — только начало движения. Автоматизация Home Assistant должна реализовать таймер фиксированной длительности (30–60 секунд) для сброса группового адреса тревоги KNX, а не ждать вебхука об остановке движения.

ARISTO BewO получает HTTP POST и записывает в групповой адрес KNX

ARISTO BewO — это сервер управления зданием с поддержкой KNX, который имеет встроенный HTTP-сервер для приёма внешних POST-запросов и прямой записи в групповые адреса KNX. Это самый простой путь интеграции, если BewO уже установлен в вашей KNX-системе.

Настройка ARISTO BewO HTTP → KNX

BewO web interface → Interfaces → HTTP Listener

Endpoint definition:
  Path: /knx/write
  Method: POST
  Authentication: Basic auth (configure username/password)

JSON body mapping:
  { "groupAddress": "8/0/1", "value": 1, "dpt": "1.001" }
  → BewO parses groupAddress and value
  → Writes DPT 1.001 value 1 to GA 8/0/1 on KNX bus

Test with curl:
  curl -X POST http://<BewO-IP>:8080/knx/write     -H "Content-Type: application/json"     -u admin:password     -d '{"groupAddress":"8/0/1","value":1,"dpt":"1.001"}'

  Expected: HTTP 200 OK
  ETS6 Group Monitor: GA 8/0/1 telegram appears within 200ms

Reverse direction — KNX-driven recording trigger:
  BewO monitors GA 8/3/0 (Alarm Armed = 1)
  → BewO HTTP client POSTs to NVR API:
    Milestone: XProtect REST API /recording/start
    Synology: http://<NAS>/webapi/entry.cgi (surveillance API)
  → Camera starts continuous recording on alarm arm

Типовые схемы интеграции и топология

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

Уже есть Synology NAS и Home Assistant

Вебхук Synology → HA → KNX. Никакого дополнительного оборудования. Интеграция KNX уже настроена.

Время на интеграцию: 30 минут

Milestone XProtect + ARISTO BewO

HTTP-уведомление XProtect → HTTP-слушатель BewO → запись в групповой адрес KNX. Прямо и надёжно.

Время на интеграцию: 1 час

Genetec + отдельная KNX (без HA/BewO)

Событие Genetec → HTTP POST → узел KNX в Node-RED. Node-RED работает на любом Docker-хосте.

Время на интеграцию: 3–4 часа

Любой NVR + нет промежуточного ПО

Установите ARISTO BewO или Home Assistant. BewO предпочтителен для чистых KNX-объектов, HA — если уже планируется умный дом.

Время на интеграцию: Полный день

Нужна готовая интеграция событий NVR→KNX в щите под заказ?

Мы проектируем KNX-инсталляции с интеграцией событий от Milestone, Genetec и Synology, настраиваем ARISTO BewO и предоставляем полную документацию — всё тестируется на вашем объекте.

Запросить расчет стоимости →
Загрузка ...
Наверх