Ajax API-Integration: Ajax mit KNX, Home Assistant und Drittsystemen verbinden
Ajax stellt eine cloudbasierte REST API mit OAuth 2.0-Authentifizierung für Partnerintegration bereit. Dieser Leitfaden behandelt die API-Funktionen, Home Assistant HACS-Integration, KNX-Bindungsmuster via xknx, Webhook-Ereignisverarbeitung und die Einschränkungen der reinen Cloud-Architektur.
Ajax API — Übersicht
Die Ajax API ist eine RESTful-Cloud-API auf der Ajax-Systems-Infrastruktur. Die gesamte Kommunikation läuft über die Ajax Cloud — der Hub 2 Plus selbst besitzt keine lokale API. Die Authentifizierung erfolgt über den OAuth 2.0 Authorization Code Flow und erfordert eine registrierte Partneranwendung im Ajax-Entwicklerportal.
Die API steht Ajax-Partnern ab Certified Integrator zur Verfügung. Verbraucherkonten haben keinen direkten API-Zugang — die Integration erfolgt stets über eine partnerregistrierte Anwendung. Die Home Assistant HACS-Integration abstrahiert dies durch einen vorregistrierten Anwendungstoken.
Keine lokale API: Der Ajax Hub 2 Plus stellt keinen lokalen REST- oder WebSocket-Endpunkt bereit. Alle API-Aufrufe gehen via HTTPS an api.ajax.systems. Für jede Drittanbieterintegration — einschließlich Home Assistant, auch wenn es im selben lokalen Netzwerk wie der Hub läuft — ist eine Internetverbindung erforderlich.
API-Funktionen
| Endpunktkategorie | Verfügbare Operationen | Hinweise |
|---|---|---|
| Hubs | Hubs auflisten, Hub-Status (scharf/unscharf) | Online-/Offline-Status des Hubs enthalten |
| Geräte | Geräte auflisten, Gerätestatus, Batteriestand | Signalstärke, Sabotagestatus |
| Gruppen | Gruppen auflisten, Gruppe scharf-/unscharfschalten | Partitionssteuerung |
| Scharf-/Unscharfschalten | POST scharf, POST unscharf, POST Nachtmodus | Erfordert Benutzerauthentifizierungstoken |
| Benutzer | Benutzer auflisten, Benutzerzugang verwalten | Nur Partner-Admin |
| Ereignisstrom | Webhook-Push-Ereignisse (Alarm, Sabotage, Scharf) | Abonnement pro Hub im Portal |
| Kameras | Kameras auflisten, Snapshot anfordern | Ajax NVR und IP-Kamera-Integration |
Home Assistant Integration
Die offizielle Ajax Security Integration für Home Assistant ist über HACS (Home Assistant Community Store) verfügbar. Sie nutzt die Ajax Partner API im Hintergrund und erstellt Standard-HA-Entitäten für alle Ajax-Geräte am verbundenen Hub.
Home Assistant Ajax Integration — Einrichtung
Prerequisites: - Ajax account with hub registered - Partner API token (from Ajax PRO Desktop → API Keys) - Home Assistant 2024.1+ with HACS installed Installation: 1. HACS → Integrations → Search "Ajax Security" 2. Install integration, restart HA 3. Settings → Integrations → Add Integration → Ajax Security 4. Enter API token and select hub(s) Entities created per hub: alarm_control_panel.ajax_hub_[id] — arm/disarm/night mode binary_sensor.[device_name]_motion — PIR detectors binary_sensor.[device_name]_door — door/window contacts binary_sensor.[device_name]_glass — glass break detectors binary_sensor.[device_name]_tamper — tamper on all devices sensor.[device_name]_battery — battery level (%) sensor.[device_name]_signal — signal strength (%) Polling interval: 30 seconds (HA polls Ajax Cloud) Alarm events via webhook: real-time push (see below)
KNX-Integration via Home Assistant
Mit Ajax-Entitäten in Home Assistant werden KNX-Gruppenadressbindungen über die KNX-Integration (xknx-Bibliothek) erstellt. Bewegungsauslöser von Ajax-Detektoren schreiben DPT 1.001-Telegramme an KNX-Gruppenadressen; die Ajax-Alarmzentralen-Entität wird auf eine allgemeine KNX-Alarmgruppenadresse abgebildet.
configuration.yaml — Ajax Bewegung → KNX-Telegramm
# Home Assistant configuration.yaml (KNX integration)
knx:
tunnel:
host: 192.168.1.10 # KNX IP Interface address
port: 3671
# automations.yaml — Ajax motion detector → KNX
automation:
- alias: "Ajax MotionCam hallway → KNX lights"
trigger:
platform: state
entity_id: binary_sensor.ajax_motioncam_hallway_motion
to: "on"
action:
service: knx.send
data:
address: "3/0/5" # KNX hallway lights GA
payload: true
type: "1byte"
- alias: "Ajax MotionCam hallway OFF → KNX lights off"
trigger:
platform: state
entity_id: binary_sensor.ajax_motioncam_hallway_motion
to: "off"
for: "00:02:00" # 2-minute hold-off
action:
service: knx.send
data:
address: "3/0/5"
payload: false
type: "1byte"
- alias: "Ajax alarm → KNX general alarm"
trigger:
platform: state
entity_id: alarm_control_panel.ajax_hub_main
to: "triggered"
action:
service: knx.send
data:
address: "8/0/1" # KNX general alarm GA
payload: true
type: "1byte"Ajax + KNX Szenariobeispiele
Die Ajax-HA-KNX-Brücke ermöglicht Szenarien, in denen der physische Sicherheitsstatus die Gebäudeautomation steuert. Ein gängiges Muster ist das Scharfschalten von Ajax, wenn eine KNX-Szene "Verlassen" aktiviert wird, und das Unscharfschalten bei Ankunft mit einem bestimmten Tastaturcode.
KNX-Szene "Ich verlasse" → Ajax scharf
# KNX "I'm leaving" button press (GA 1/0/10 = true)
# triggers HA automation → arms Ajax
automation:
- alias: "KNX leaving scene → Ajax arm away"
trigger:
platform: event
event_type: knx_event
event_data:
address: "1/0/10" # KNX leaving button GA
value: true
action:
- service: knx.send
data:
address: "3/0/0" # Lights off (all zones)
payload: false
type: "1byte"
- service: knx.send
data:
address: "4/0/0" # HVAC setback mode
payload: false
type: "1byte"
- delay: "00:00:30" # 30-second exit delay
- service: alarm_control_panel.alarm_arm_away
target:
entity_id: alarm_control_panel.ajax_hub_main
data:
code: "1234" # Master code
- alias: "Ajax armed → KNX confirmation"
trigger:
platform: state
entity_id: alarm_control_panel.ajax_hub_main
to: "armed_away"
action:
service: knx.send
data:
address: "1/0/11" # KNX armed indicator LED
payload: true
type: "1byte"Webhook-Ereignisse
Ajax unterstützt Webhook-Push-Ereignisse für Echtzeit-Alarmbenachrichtigungen. Webhooks werden im Ajax PRO-Portal pro Hub konfiguriert und liefern JSON-Nutzdaten an einen öffentlichen HTTPS-Endpunkt. Für Home Assistant wird die HA-Webhook-Trigger-URL verwendet.
Ajax Webhook JSON-Nutzdaten — Alarmereignis
// Ajax webhook POST body (alarm event)
{
"hubId": "HUB-XXXXXXXX",
"eventType": "ALARM",
"deviceId": "DEV-12345678",
"deviceName": "MotionCam Hallway",
"deviceType": "MotionCam",
"zoneId": 3,
"zoneName": "Ground Floor",
"timestamp": "2025-04-15T14:32:10Z",
"alarmReason": "MOTION_DETECTED"
}
// Event types:
// ALARM — motion, door open, glass break
// TAMPER — device opened or removed
// ARM — system or group armed
// DISARM — system or group disarmed
// POWER_LOSS — hub external power lost
// BATTERY_LOW — device battery below 10%
// SIGNAL_LOSS — device communication lost
// Test webhook (curl):
curl -X POST https://your-ha-instance.duckdns.org/api/webhook/ajax_test \
-H "Content-Type: application/json" \
-d '{"eventType":"ALARM","deviceName":"Test","alarmReason":"TEST"}'Ajax Partner API-Zugang
Der Zugang zur Ajax REST API erfordert ein Partnerkonto. Verbraucher-Ajax-Konten können keine API-Token generieren. Partner werden nach Stufen eingeteilt, wobei die API-Funktionen mit höheren Stufen erweitert werden.
| Partnerstufe | API-Zugang | Ratenlimit |
|---|---|---|
| Certified Installer | Basis — Geräteliste, Statusabfrage | 60 Anfragen/Min. |
| Certified Integrator | Vollständig — Scharf-/Unscharfschalten, Webhooks, Kameras | 300 Anfragen/Min. |
| Technology Partner | Vollständig + Multi-Hub-Massenverwaltung | Individuelle SLA |
Für den Partner-API-Zugang registrieren Sie sich unter ajax.systems/partners. Der Genehmigungsprozess dauert 3–10 Werktage. Für den Home Assistant-Privatgebrauch verwendet die HACS-Integration einen gemeinsam genutzten Anwendungstoken — keine persönliche API-Registrierung erforderlich.
Einschränkungen und Hinweise
Die reine Cloud-API-Architektur hat wichtige Auswirkungen auf Zuverlässigkeit und Datenverarbeitung. Sicherheitsfachleute sollten diese bewerten, bevor sie sich für API-basierte Automatisierung in kritischen Anlagen entscheiden.
| Einschränkung | Detail | Abhilfe |
|---|---|---|
| Keine lokale API | Hub 2 Plus hat keinen LAN-Endpunkt | Cloud-Abhängigkeit akzeptieren; zuverlässiges Internet mit USV am Router |
| Verzögerung bei Statusabfragen | Standard-Abfrageintervall 30 Sekunden in HA | Webhooks für Alarmereignisse nutzen; Abfrage nur für Statusanzeige |
| Internetausfall | API bei Ausfall nicht verfügbar | Ajax-Sicherheit läuft weiter; nur die Automatisierungsbrücke fällt aus |
| DSGVO-Datenverarbeitung | Ereignisdaten auf Ajax EU-Servern verarbeitet | Datenverarbeitungsvertrag mit Ajax für gewerbliche Projekte bestätigen |
| OAuth Token-Erneuerung | Zugriffstoken läuft ab, muss erneuert werden | HACS-Integration übernimmt Erneuerung; benutzerdefinierte Integrationen müssen dies implementieren |
Die Ajax-Standalone-Sicherheit wird durch API-/Internetausfall nicht beeinträchtigt. Der Hub 2 Plus erkennt, alarmiert und benachrichtigt weiterhin über GSM, auch wenn die Cloud-API nicht erreichbar ist. Die API-Integrationsschicht ist ergänzend — entwerfen Sie kein Gebäudeautomationssystem, das für lebensrelevante Funktionen auf die Ajax API angewiesen ist.
Ajax + KNX + Home Assistant — integriert und getestet
Wir konfigurieren Ajax Hub 2 Plus mit Home Assistant KNX-Brücke, Webhook-Automatisierung und Gebäudeszenen-Integration — geliefert als funktionierendes System mit vollständiger Dokumentation.
Angebot anfordern →