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
}
}
