REST API – Beispiel-Anlage
Expertenanbindung
Sicherheitshinweis: Diese Daten sind vertraulich und Ihrer Anlage eindeutig zugeordnet. Teilen Sie sie nicht mit Dritten und bewahren Sie heruntergeladene Dateien sicher auf. Bei Verdacht auf Kompromittierung können Sie Zugangsdaten jederzeit im Portal neu generieren.
API Key
X-Api-Key: {key}URL:
?api_key={key}
Bearer Token
Authorization: Bearer {token}URL:
?token={token}
Die REST API liefert Gerätestatus mit einer Verzögerung von maximal 30 Sekunden. Für Echtzeit-Updates empfehlen wir die MQTT Integration.
Base URL:
https://cbnode.at/api –
Authentifizierung über X-Api-Key Header oder ?api_key= URL-Parameter.
HTTP API Endpoints:
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/hub/0012AB34/status | Hub Status (mode, online) |
| GET | /v1/hub/0012AB34/devices | Alle Geräte mit state/alarm/battery |
| GET | /v1/hub/0012AB34/devices/{id} | Einzelnes Gerät |
| POST | /v1/hub/0012AB34/command | Hub scharf/unscharf – Body: {"command":"ARM"} |
| POST | /v1/hub/0012AB34/devices/{id}/bypass | Bypass – Body: {"bypass":true} |
| GET | /v1/hub/0012AB34/groups | Alle Gruppen (Bereiche) |
| POST | /v1/hub/0012AB34/groups/{id}/command | Gruppe ARM/DISARM/NIGHT |
Gruppen sind Sicherheitsbereiche die in der Ajax App konfiguriert werden.
Befehle:
ARM, DISARM, NIGHT
MQTT Topics:
Struktur: ajax/hubs/0012AB34/hub/... für Zentrale & Gruppen, ajax/hubs/0012AB34/devices/{id}/... für Geräte.
| Topic | Werte | Beschreibung |
|---|---|---|
.../hub/status/mode | ARMED/DISARMED/NIGHT/... | Hub Modus Klartext (lesen) |
.../hub/status/armed | 0/1 | Hub scharf (binär, lesen) |
.../hub/status/disarmed | 0/1 | Hub unscharf (binär, lesen) |
.../hub/status/night_mode | 0/1 | Nachtmodus aktiv (binär, lesen) |
.../hub/status/partially_armed | 0/1 | Teilweise scharf (binär, lesen) |
.../hub/status/battery | 0–100 | Akku Zentrale % |
.../hub/status/tampered | 0/1 | Sabotage Zentrale |
.../hub/command/arm | 1 senden | Hub scharf schalten |
.../hub/command/disarm | 1 senden | Hub unscharf schalten |
.../hub/command/night | 1 senden | Hub Nacht-Modus |
.../hub/groups/{id}/status/mode | ARMED/DISARMED | Gruppen Status Klartext (lesen) |
.../hub/groups/{id}/status/armed | 0/1 | Gruppe scharf (binär, lesen) |
.../hub/groups/{id}/status/name | Text | Gruppenname (lesen) |
.../hub/groups/{id}/command/arm | 1 senden | Gruppe scharf schalten |
.../hub/groups/{id}/command/disarm | 1 senden | Gruppe unscharf schalten |
.../devices/{id}/status/state | 0/1 | Ausgelöst (lesen) |
.../devices/{id}/status/alarm | 0/1 | Aktiver Alarm (lesen) |
.../devices/{id}/status/tamper | 0/1 | Sabotage (lesen) |
.../devices/{id}/status/malfunction | 0/1 | Störung (lesen) |
.../devices/{id}/status/online | 0/1 | Online-Status (lesen) |
.../devices/{id}/status/battery | 0–100 | Batterie % (lesen) |
.../devices/{id}/status/bypass_status | ENABLED/BYPASSED | Bypass Status (lesen) |
.../devices/{id}/command/bypass | 1/0 senden | Bypass setzen/aufheben |
.../devices/{id}/status/switch_state | 0/1 | Plug/Steckdose Zustand (lesen) |
.../devices/{id}/command/switch | 1/0 senden | Plug/Steckdose schalten |
.../devices/{id}/status/power_w | Zahl | Plug Leistung in Watt (lesen) |
{id} ist die Geräte- bzw. Gruppen-ID aus /devices bzw. /groups.
cURL eignet sich zum schnellen Testen der API direkt im Terminal. Kopieren Sie die Befehle und führen Sie sie in Ihrer Kommandozeile aus.
1. Hub Status abfragen:
curl -H "X-Api-Key: IHR_API_KEY" \
https://cbnode.at/api/v1/hub/0012AB34/status
2. Alle Gruppen abrufen:
curl -H "X-Api-Key: IHR_API_KEY" \
https://cbnode.at/api/v1/hub/0012AB34/groups
# Beispiel Antwort:
# {"groups": [{"id": "00000001", "name": "ALARMANLAGE", "mode": "DISARMED"}]}
3. Gruppe scharf/unscharf schalten:
# Gruppe scharf (ARM):
curl -X POST -H "X-Api-Key: IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"command": "ARM"}' \
https://cbnode.at/api/v1/hub/0012AB34/groups/{GRUPPE_ID}/command
# Gruppe unscharf (DISARM):
curl -X POST -H "X-Api-Key: IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"command": "DISARM"}' \
https://cbnode.at/api/v1/hub/0012AB34/groups/{GRUPPE_ID}/command
# Verfügbare Befehle: ARM | DISARM | NIGHT
4. Alle Geräte abrufen + Bypass:
# Alle Geräte mit Status:
curl -H "X-Api-Key: IHR_API_KEY" \
https://cbnode.at/api/v1/hub/0012AB34/devices
# Gerät bypasssen (deaktivieren):
curl -X POST -H "X-Api-Key: IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"bypass": true}' \
https://cbnode.at/api/v1/hub/0012AB34/devices/{GERAET_ID}/bypass
# Bypass aufheben:
curl -X POST -H "X-Api-Key: IHR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"bypass": false}' \
https://cbnode.at/api/v1/hub/0012AB34/devices/{GERAET_ID}/bypass