Transfert d'événements KNX depuis NVR et VMS : Milestone, Genetec et Synology Surveillance Station
Les plateformes NVR et VMS d'entreprise effectuent déjà une détection de mouvement sophistiquée et une analyse d'événements au niveau logiciel. Transférer ces événements générés par logiciel vers KNX — via webhook HTTP, intégration SDK ou middleware — crée une source de déclenchement bien plus riche que les sorties relais des caméras, avec des événements par caméra, par zone et filtrés dans le temps.
Approches de transfert d'événements NVR/VMS
Trois modèles d'intégration distincts couvrent la gamme des plateformes NVR/VMS rencontrées dans les installations commerciales et résidentielles. La bonne approche dépend de la plateforme installée et de l'infrastructure KNX disponible pour recevoir les événements.
| Approche | Plateformes | Méthode d'écriture KNX | Complexité |
|---|---|---|---|
| Webhook HTTP → ARISTO BewO | Synology Surveillance, petits NVR | BewO reçoit HTTP POST → écrit sur KNX GA | Faible |
| Action HTTP → intergiciel | Milestone XProtect | Notification HTTP XProtect → Home Assistant → KNX | Moyen |
| Règle d'événement SDK → HTTP POST | Genetec Security Center | Événement SDK Genetec → service personnalisé → KNX IP | Élevé |
| Abonnement aux événements ONVIF | Tout NVR/caméra compatible ONVIF | Nœud Node-RED ONVIF → écriture KNX | Moyen |
Intégration des notifications HTTP Milestone XProtect
Les éditions Milestone XProtect Corporate et Expert incluent une action de notification HTTP dans leur moteur de règles d'événements. Cela permet à tout événement VMS – mouvement, signets, analyses, accès porte – de déclencher un HTTP POST vers un récepteur externe, qui peut ensuite écrire sur des adresses de groupe KNX.
Configuration de règle d'événement 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 typeAlternative à Home Assistant : si ARISTO BewO n'est pas disponible, configurez la notification HTTP XProtect pour cibler un webhook Home Assistant. Une automatisation Home Assistant appelle ensuite le knx.send service pour écrire dans l'adresse de groupe KNX. Cela nécessite HA avec intégration KNX et tunneling KNXnet/IP.
Intégration des événements SDK Genetec Security Center
Genetec Security Center utilise un SDK propriétaire (Security Center SDK) pour les intégrations externes. L'approche recommandée pour l'intégration KNX est un service Windows léger ou un script Python qui s'abonne aux événements Genetec via le SDK et les traduit en écritures d'adresses de groupe KNXnet/IP.
Squelette 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 Synology Surveillance Station vers Home Assistant KNX
Synology DSM Surveillance Station prend en charge les webhooks sortants pour les événements de détection de mouvement – ce qui en fait la plateforme NVR la plus simple à intégrer avec KNX pour les sites résidentiels ou commerciaux de petite et moyenne taille. Le webhook cible un déclencheur de webhook Home Assistant, qui écrit ensuite sur KNX via l'intégration HA KNX.
Configuration 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>Limitation Synology : Les webhooks de Surveillance Station n'incluent pas les événements de fin de mouvement – seulement le début de mouvement. L'automatisation Home Assistant doit implémenter une minuterie à durée fixe (30–60 secondes) pour effacer la GA d'alarme KNX, plutôt que d'attendre un webhook d'arrêt de mouvement.
ARISTO BewO reçoit HTTP POST et écrit sur GA KNX
ARISTO BewO est un serveur de gestion de bâtiment natif KNX qui inclut un serveur HTTP intégré pour recevoir des requêtes POST externes et les convertir directement en écritures d'adresses de groupe KNX. Cela en fait la voie d'intégration la plus simple lorsque BewO fait déjà partie de l'installation KNX.
Configuration 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 armModèles d'intégration courants et topologie
Le choix du modèle d'intégration doit être dicté par l'infrastructure existante plutôt que par l'ajout de nouveau matériel. La logique de décision suivante couvre les configurations de site les plus courantes.
Synology NAS + HA déjà sur site
Webhook Synology → HA → KNX. Aucun matériel supplémentaire. Intégration KNX déjà configurée.
Effort d'intégration : 30 minutesMilestone XProtect + ARISTO BewO
Notification HTTP XProtect → écouteur HTTP BewO → écriture GA KNX. Direct et fiable.
Effort d'intégration : 1 heureGenetec + KNX autonome (sans HA/BewO)
Événement Genetec → HTTP POST → nœud KNX Node-RED. Node-RED fonctionne sur n'importe quel hôte Docker.
Effort d'intégration : 3–4 heuresN'importe quel NVR + aucun middleware existant
Déployez ARISTO BewO ou HA. BewO préféré pour les sites KNX purs – HA préféré lorsque l'automatisation domestique est déjà prévue.
Effort d'intégration : Journée complèteBesoin d'un transfert d'événements NVR–KNX intégré dans une armoire construite sur mesure ?
Nous concevons des installations KNX avec intégration d'événements Milestone, Genetec et Synology, configuration ARISTO BewO et documentation de mise en service complète — livrées testées sur votre site.
Demander un devis →