Передача событий KNX от NVR и VMS: Milestone, Genetec и Synology Surveillance Station
Корпоративные платформы NVR и VMS уже выполняют сложное обнаружение движения и аналитику событий на программном уровне. Передача этих программных событий в KNX — через HTTP-вебхук, интеграцию SDK или промежуточное ПО — создает гораздо более богатый источник триггеров, чем релейные выходы камер, с событиями по каждой камере, зоне и с фильтрацией по времени.
Подходы к передаче событий NVR/VMS
Три различных паттерна интеграции охватывают спектр платформ NVR/VMS, встречающихся в коммерческих и жилых установках. Правильный подход зависит от того, какая платформа установлена и какая инфраструктура KNX доступна для приема событий.
| Подход | Платформы | Метод записи в KNX | Сложность |
|---|---|---|---|
| HTTP-вебхук → ARISTO BewO | Synology Surveillance, небольшие NVR | BewO принимает HTTP POST → записывает в групповой адрес KNX | Низкая |
| HTTP-действие → промежуточное ПО | Milestone XProtect | HTTP-уведомление XProtect → Home Assistant → KNX | Средняя |
| Правило SDK события → HTTP POST | Genetec 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 и предоставляем полную документацию — всё тестируется на вашем объекте.
Запросить расчет стоимости →