API Dokumentation

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