API Dokumentation
Mittels unser API können Sie auf Daten zugreifen und diese ohne unser Dashboard in Ihren eigenen Systemen verwenden.
Aufbau des JSON Objekts
RESPONSE { err: {...}, std: {...}, raw: {...}, raw_history: {...} } err(string) - Fehlertext, leer wenn keine Fehler Beispiel bei ungültigem API-Key: REQUEST: https://APIURL?key=UNGUELTIGERKEY REPSONSE: { "err":"no modules available", "std":{}, "raw":{}, "raw_history":{} } std(stdClass) - Tabelle der aktuellen Status der Module - Konfiguriert über Signal-Tunnel Dashboard Beispiel mit 2 verfügbaren Modulen: REQUEST: https://APIURL?key=GUELTIG REPSONSE: { "err":{}, "std":{ #Objekt mit vorformatierten Daten aus dem Dashboard "38D7EA4C67DDE":{ "config_state":true, #Modul über Dashboard konfiguriert (true, false) "category":"Test-Device", #Kategorie als FREITEXT über Dashboard konfiguriert (string) "description":"T2", #Bescheibung als FREITEXT über Dashboard konfiguriert (string) "address_1":"", #Adressfeld 1 als FREITEXT über Dashboard konfiguriert (string) ... #... "address_5":"", #Adressfeld 5 als FREITEXT über Dashboard konfiguriert (string) "state":"FEHLER", #Statustext, der bereits durch Signal-Tunnel verarbeitet wurde,
als FREITEXT über Dashboard konfiguriert (string) "timestamp":"2021-10-16 12:52:30", #Zeitstempel der Daten, bzw. letzte Meldung vom Modul DATETIME (string) "signal":9 #Signalstärke GSM/IOT-Netzwerk 0-9(int) }, "24CC893758581":{...} #JSON-Keys identisch zu oberen Modul }, "raw":{...} #Objekt enthält Rohdaten "raw_history":{} #Leer } raw(stdClass) - Tabelle der aktuellen Status der Module - Rohdaten Beispiel mit 3 verfügbaren Modulen und unterschiedlichen Anzahlen von Eingängen: REQUEST: https://APIURL?key=GUELTIG REPSONSE: { "err":{}, "std":{...}, #Objekt enthält formatierte Daten (oberes Beispiel) "raw":{ #Objekt mit Roh-Daten "38D7EA4C67DDE":{ #Signal-Tunnel verfügt über 1 Eingang "input_1":"1", #Signal am Eingang 1 (string; "0","1")
"power":"1", #Spannungsversorgung 1=ok, 2=Spannung verloren (string; "0","1")
"signal":"9", #Signalstärke GSM/IOT-Netzwerk 0-9(int) "timestamp":"2021-10-16 12:59:56" #Zeitstempel der Daten, bzw. letzte Meldung vom Modul DATETIME (string) }, "24CC893758581":{ #Signal-Tunnel verfügt über 2 Eingänge "input_1":"0", "input_2":"1",
"power":"1",
"signal":"9", "timestamp":"2021-10-16 12:57:11" }, "24CC893305801":{ #Signal-Tunnel verfügt über 5 Eingänge "input_1":"0", "input_2":"0", "input_3":"1", "input_4":"0", "input_5":"1",
"power":"1",
"signal":"9", "timestamp":"2021-10-16 13:01:04" }, "raw_history":{} #Leer } } raw_history(stdClass) - Tabelle Aller Meldungen der Module für einen definierten Zeitraum - Rohdaten Format: https://APIURL?key={API-KEY}&history={STARTDATUM}T{ENDDATUM}
Optionale Verwendung der Filterfunktion für ein spezifisches Modul:
Format mit filter: https://APIURL?key={API-KEY}&history={STARTDATUM}T{ENDDATUM}&filter_device={DEVICE-ID}
Beispiel Request mit Filter: https://APIURL?key=GUELTIG&history=2021-01-01T2022-10-14&filter_device=G45GSJLKU8S11
Beispiel mit 3 verfügbaren Modulen und unterschiedlichen Anzahlen von Eingängen:
REQUEST: https://APIURL?key=GUELTIG&history=2021-01-01T2022-10-14
REPSONSE: {
“err”:{},
“std”:{…}, #Objekt enthält formatierte Daten (oberes Beispiel)
“raw”:{…}, #Objekt mit Roh-Daten
“raw_history”:{ #Objekt mit allen Meldungen als Rohdaten
“24CC8933C228A”:{ #Modul mit 2 verfügbaren Eingängen
“2021-10-03 12:27:31”:{ #Zeistempel der Meldung
“input_1″:”0”, #Signal am Eingang 1 (string; “0”,”1″)
“input_2″:”0”, #Signal am Eingang 2 (string; “0”,”1″)
“pwr”:”1″, #Spannungsversorgung 1=ok, 2=Spannung verloren (string; “0”,”1″)
“signal”:”9″ #Signalstärke GSM/IOT-Netzwerk 0-9(int)
},
… #Weitere Meldungen nach gleicher Datenstruktur
},
… #Weitere Module nach gleicher Datenstruktur
}
}