Reenvío de eventos KNX desde NVR y VMS: Milestone, Genetec y Synology Surveillance Station
Las plataformas NVR y VMS empresariales ya realizan detección de movimiento sofisticada y análisis de eventos a nivel de software. Reenviar estos eventos generados por software a KNX — mediante webhook HTTP, integración SDK o middleware — crea una fuente de activación mucho más rica que las salidas de relé de las cámaras, con eventos por cámara, por zona y filtrados por tiempo.
Enfoques de reenvío de eventos NVR/VMS
Tres patrones de integración distintos cubren el rango de plataformas NVR/VMS encontradas en instalaciones comerciales y residenciales. El enfoque correcto depende de qué plataforma esté instalada y qué infraestructura KNX esté disponible para recibir los eventos.
| Enfoque | Plataformas | Método de escritura KNX | Complejidad |
|---|---|---|---|
| Webhook HTTP → ARISTO BewO | Synology Surveillance, NVRs pequeños | BewO recibe HTTP POST → escribe en KNX GA | Bajo |
| Acción HTTP → middleware | Milestone XProtect | Notificación HTTP XProtect → Home Assistant → KNX | Medio |
| Regla de evento SDK → HTTP POST | Genetec Security Center | Evento SDK Genetec → servicio personalizado → KNX IP | Alto |
| Suscripción de eventos ONVIF | Cualquier NVR/cámara compatible con ONVIF | Nodo Node-RED ONVIF → escritura KNX | Medio |
Integración de notificaciones HTTP Milestone XProtect
Las ediciones Milestone XProtect Corporate y Expert incluyen una acción de notificación HTTP en su motor de reglas de eventos. Esto permite que cualquier evento VMS – movimiento, marcadores, análisis, acceso a puerta – active un HTTP POST a un receptor externo, que luego puede escribir en direcciones de grupo KNX.
Configuración de regla de eventos 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 typeAlternativa a Home Assistant: si ARISTO BewO no está disponible, configure la notificación HTTP de XProtect para que apunte a un webhook de Home Assistant. Una automatización de Home Assistant llama entonces al knx.send servicio para escribir en la dirección de grupo KNX. Esto requiere HA con integración KNX y tunelización KNXnet/IP.
Integración de eventos SDK de Genetec Security Center
Genetec Security Center utiliza un SDK propietario (Security Center SDK) para integraciones externas. El enfoque recomendado para la integración KNX es un servicio ligero de Windows o un script Python que se suscriba a eventos de Genetec a través del SDK y los traduzca a escrituras de direcciones de grupo KNXnet/IP.
Esqueleto middleware 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 → ActionsWebhook de Synology Surveillance Station a Home Assistant KNX
Synology DSM Surveillance Station admite webhooks salientes para eventos de detección de movimiento, lo que la convierte en la plataforma NVR más fácil de integrar con KNX para sitios residenciales o comerciales pequeños y medianos. El webhook apunta a un disparador de webhook de Home Assistant, que luego escribe en KNX a través de la integración HA KNX.
Configuración 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>Limitación de Synology: Los webhooks de Surveillance Station no incluyen eventos de fin de movimiento – solo inicio de movimiento. La automatización de Home Assistant debe implementar un temporizador de duración fija (30–60 segundos) para borrar la GA de alarma KNX, en lugar de esperar un webhook de movimiento detenido.
ARISTO BewO recibe HTTP POST y escribe en GA KNX
ARISTO BewO es un servidor de gestión de edificios nativo de KNX que incluye un servidor HTTP integrado para recibir solicitudes POST externas y convertirlas directamente en escrituras de direcciones de grupo KNX. Esto lo convierte en la ruta de integración más directa cuando BewO ya forma parte de la instalación KNX.
Configuración 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 armPatrones de integración comunes y topología
La elección del patrón de integración debe estar determinada por la infraestructura existente en lugar de agregar nuevo hardware. La siguiente lógica de decisión cubre las configuraciones de sitio más comunes.
Synology NAS + HA ya en sitio
Webhook de Synology → HA → KNX. Sin hardware adicional. Integración KNX ya configurada.
Esfuerzo de integración: 30 minutosMilestone XProtect + ARISTO BewO
Notificación HTTP de XProtect → listener HTTP de BewO → escritura GA KNX. Directo y confiable.
Esfuerzo de integración: 1 horaGenetec + KNX independiente (sin HA/BewO)
Evento Genetec → HTTP POST → nodo KNX de Node-RED. Node-RED se ejecuta en cualquier host Docker.
Esfuerzo de integración: 3–4 horasCualquier NVR + sin middleware existente
Implemente ARISTO BewO o HA. BewO preferido para sitios KNX puros – HA preferido cuando la automatización del hogar ya está planificada.
Esfuerzo de integración: Día completo¿Necesita reenvío de eventos NVR–KNX integrado en un panel construido según especificaciones?
Diseñamos instalaciones KNX con integración de eventos Milestone, Genetec y Synology, configuración ARISTO BewO y documentación completa de puesta en marcha — entregadas probadas en su sitio.
Solicitar presupuesto →