NVR- und VMS-KNX-Ereignisweiterleitung: Milestone, Genetec und Synology Surveillance Station
Enterprise-NVR- und VMS-Plattformen führen bereits anspruchsvolle Bewegungserkennung und Ereignisanalyse auf Softwareebene durch. Die Weiterleitung dieser softwaregenerierten Ereignisse an KNX — per HTTP-Webhook, SDK-Integration oder Middleware — schafft eine weitaus reichhaltigere Triggerquelle als Kamera-Relaisausgänge, mit pro Kamera, pro Zone und zeitgefilterten Ereignissen.
NVR/VMS-Ereignisweiterleitungsansätze
Drei verschiedene Integrationsmuster decken die Bandbreite der in gewerblichen und privaten Installationen vorkommenden NVR/VMS-Plattformen ab. Der richtige Ansatz hängt davon ab, welche Plattform installiert ist und welche KNX-Infrastruktur für den Empfang der Ereignisse zur Verfügung steht.
| Ansatz | Plattformen | KNX-Schreibmethode | Komplexität |
|---|---|---|---|
| HTTP-Webhook → ARISTO BewO | Synology Surveillance, kleinere NVRs | BewO empfängt HTTP POST → schreibt auf KNX GA | Niedrig |
| HTTP-Aktion → Middleware | Milestone XProtect | XProtect HTTP-Benachrichtigung → Home Assistant → KNX | Mittel |
| SDK-Ereignisregel → HTTP POST | Genetec Security Center | Genetec SDK-Ereignis → benutzerdefinierter Dienst → KNX IP | Hoch |
| ONVIF-Ereignisabonnement | Jeder ONVIF-kompatible NVR/Kamera | Node-RED ONVIF-Knoten → KNX-Schreiben | Mittel |
Milestone XProtect HTTP-Benachrichtigungsintegration
Milestone XProtect Corporate und Expert Editionen enthalten eine HTTP-Benachrichtigungsaktion in ihrer Ereignisregel-Engine. Dies ermöglicht jedem VMS-Ereignis – Bewegung, Lesezeichen, Analysen, Türzugang – das Auslösen eines HTTP-POST an einen externen Empfänger, der dann auf KNX-Gruppenadressen schreiben kann.
Milestone XProtect Ereignisregelkonfiguration
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 typeHome Assistant Alternative: Wenn ARISTO BewO nicht verfügbar ist, konfigurieren Sie die XProtect-HTTP-Benachrichtigung so, dass sie auf einen Home Assistant-Webhook abzielt. Eine Home Assistant-Automation ruft dann den knx.send Dienst auf, um in die KNX-Gruppenadresse zu schreiben. Dies erfordert HA mit KNX-Integration und KNXnet/IP-Tunneling.
Genetec Security Center SDK Event-Integration
Genetec Security Center verwendet ein proprietäres SDK (Security Center SDK) für externe Integrationen. Der empfohlene Ansatz für die KNX-Integration ist ein leichtgewichtiger Windows-Dienst oder ein Python-Skript, das über das SDK Genetec-Ereignisse abonniert und in KNXnet/IP-Gruppenadressenschreibvorgänge übersetzt.
Genetec → KNX Python-Middleware-Gerüst
# 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 → ActionsSynology Surveillance Station Webhook zu Home Assistant KNX
Synology DSM Surveillance Station unterstützt ausgehende Webhooks für Bewegungserkennungsereignisse – was es zur einfachsten NVR-Plattform für die Integration mit KNX für kleine und mittlere Wohn- oder Gewerbestandorte macht. Der Webhook zielt auf einen Home Assistant-Webhook-Trigger ab, der dann über die HA-KNX-Integration in KNX schreibt.
Synology → Home Assistant → KNX-Konfiguration
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-Einschränkung: Surveillance Station-Webhooks enthalten keine Bewegung-Ende-Ereignisse – nur Bewegungsstart. Die Home-Assistant-Automatisierung muss einen Timer mit fester Dauer (30–60 Sekunden) implementieren, um die KNX-Alarm-GA zurückzusetzen, anstatt auf einen Bewegung-gestoppt-Webhook zu warten.
ARISTO BewO empfängt HTTP-POST und schreibt auf KNX-GA
ARISTO BewO ist ein KNX-nativer Gebäudemanagementserver, der einen integrierten HTTP-Server zum Empfangen externer POST-Anfragen und deren direkte Umwandlung in KNX-Gruppenadress-Schreibvorgänge enthält. Dies macht es zum einfachsten Integrationspfad, wenn BewO bereits Teil der KNX-Installation ist.
ARISTO BewO HTTP → KNX-Konfiguration
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 armHäufige Integrationsmuster und Topologie
Die Wahl des Integrationsmusters sollte von der vorhandenen Infrastruktur bestimmt werden, anstatt neue Hardware hinzuzufügen. Die folgende Entscheidungslogik deckt die gängigsten Standortkonfigurationen ab.
Synology NAS + HA bereits vor Ort
Synology Webhook → HA → KNX. Keine zusätzliche Hardware. KNX-Integration bereits konfiguriert.
Integrationsaufwand: 30 MinutenMilestone XProtect + ARISTO BewO
XProtect HTTP-Benachrichtigung → BewO HTTP-Listener → KNX GA-Schreiben. Direkt und zuverlässig.
Integrationsaufwand: 1 StundeGenetec + eigenständiges KNX (ohne HA/BewO)
Genetec-Ereignis → HTTP POST → Node-RED KNX-Knoten. Node-RED läuft auf jedem Docker-Host.
Integrationsaufwand: 3–4 StundenBeliebiger NVR + keine vorhandene Middleware
ARISTO BewO oder HA einsetzen. BewO bevorzugt für reine KNX-Standorte – HA bevorzugt, wenn Hausautomation bereits geplant ist.
Integrationsaufwand: Ganzer TagBenötigen Sie eine NVR–KNX-Ereignisweiterleitung, die in einen nach Spezifikation gebauten Schaltschrank integriert ist?
Wir entwickeln KNX-Installationen mit Ereignisintegration von Milestone, Genetec und Synology, ARISTO BewO-Konfiguration und vollständiger Inbetriebnahmedokumentation – getestet an Ihrem Standort ausgeliefert.
Angebot anfordern →