EZF Wiki/Integrationen und API
Artikel · DE

EZF API — JSON, TSV und Fehlerbehandlung

HTTP-Beispiele, Leuchten-IDs, NVG-Diagnose und Fehlercodes.

Geltungsbereich

Diese Anleitung beschreibt die lokale Web-Master-/EZ2-Schnittstelle, Schema ges-v2. Vier GET-Anfragen sind ausschließlich lesend. Zum Starten von Tests Modbus IP verwenden. 192.168.1.50 ist eine Beispieladresse.

Systemzustand als JSON

macOS / Linux:

curl --fail --max-time 10 http://192.168.1.50/data/systeminfo.php

Windows PowerShell:

Invoke-RestMethod -Uri "http://192.168.1.50/data/systeminfo.php" -TimeoutSec 10

Ausgewählte Antwortfelder für eine Leuchte ohne Fehler:

{
  "systemtype": "EZ2",
  "status_codes": ["0001"],
  "error_codes": ["0000"],
  "mapping_complete": true,
  "luminaire_count": 1,
  "communication_error_count": 0,
  "fault_count": 0,
  "error_schema": "ges-v2",
  "address_schema": "channel16-address16-decimal",
  "optional_unavailable": ["letzte_testdauer", "aktualisiert_am"]
}

Dieses Beispiel zeigt das Format. Tatsächliche Werte hängen von der Anlage ab. Die Antwort enthält außerdem NVG-Zähler, Fehlerwörterbuch und Statusumfang. mapping_complete=true bestätigt nicht die Verfügbarkeit optionaler Messwerte oder Zeitangaben.

HEX-Flag Zustand
0001 Normalzustand / Leuchtendaten
0002 Globale Sperre
0004 Allgemeine Störung
0008 Funktionstest
0010 Betriebsdauertest
0100 Suche
0200 Initialisierung oder Konfiguration

Mehrere Flags können gleichzeitig gelten. Immer gemeinsam mit error_codes auswerten. Eine Anlage ohne konfigurierte Leuchten ist gestört beziehungsweise unbestätigt.

TSV-Liste

curl --fail --max-time 10 http://192.168.1.50/lumlist.php -o oprawy.tsv

Windows PowerShell:

Invoke-WebRequest -Uri "http://192.168.1.50/lumlist.php" -OutFile "oprawy.tsv" -TimeoutSec 10
$oprawy = Import-Csv -Path "oprawy.tsv" -Delimiter "`t"
$oprawy | Format-Table adresse, geraetetyp, fehlercode, ortstext

Beispiel: Tabulatoren trennen die Spalten; leere Spalten bleiben erhalten.

adresse geraetetyp  gruppe  ueberwachung    schaltungsart   betriebszeit    letzte_testdauer    fehlercode  ortstext    aktualisiert_am
196618  AW  0   1   DS  LTM_3H      0000    Flur    

Kopfzeile und Datensätze haben jeweils zehn Felder. Nicht nach beliebigen Leerzeichen aufteilen, sonst gehen leere Felder verloren. Die Web-Master-Anleitung erklärt die Spalten. ueberwachung=0 ist nicht gleichbedeutend mit Kommunikationsverlust.

Einzelne Leuchte diagnostizieren

Die ID aus der ersten TSV-Spalte verwenden:

curl --fail --max-time 10 "http://192.168.1.50/data/luminaire.php?id=196618"

Beispiel für eine normale AirBus-Leuchte mit Adresse 10:

{"id":196618,"channel":3,"physical_address":10,"error_code":"0000","nvg":null}

Bei NVG enthält nvg die Felder led1, led2, mains, input_l1, input_l2, maintained1, maintained2 und communication_error. LED-Werte: 0 aus, 1 an, 2 blinkend, 3 Fehler. Bei communication_error=true sind die übrigen NVG-Werte der zuletzt empfangene Zustand und keine Bestätigung des aktuellen Zustands.

Fehlerwörterbuch

curl --fail --max-time 10 http://192.168.1.50/data/errorcodes.php

Codes als vierstellige HEX-Zeichenfolgen einschließlich führender Nullen erhalten.

Code Bedeutung
0000 Kein Fehler in den gelesenen Zuständen
0400 Keine Kommunikation mit der Leuchte
F001 LED-Lichtquellenfehler
F002 Akku fehlt oder ist getrennt
F003 LED-Fehler und fehlender Akku
F004 Übertemperatur des Betriebsgeräts
F011 / F012 / F013 NVG: Fehler LED1 / LED2 / beide Ausgänge
F100 Allgemeiner Anlagenfehler oder keine konfigurierten Leuchten
FFFE Zustand unbestätigt oder Diagnosedaten unvollständig

Fxxx sind Codes des EZF-Adapters. Beschreibungen in das Integrationssystem übernehmen. Ein einzelner Leuchtencode beschreibt nicht alle gleichzeitigen Fehler; zusätzliche NVG-Diagnose auswerten.

Antworten und Aktualisierung

HTTP Bedeutung Verhalten des Clients
200 Antwort verfügbar Format und Statuscodes prüfen
400 ID oder Kanal ungültig Parameter anhand der TSV-Liste korrigieren
403 Leuchten-API deaktiviert Datenfreigabe in der Zentrale einschalten
404 Leuchte nicht gefunden Bestand aktualisieren
503 Daten nicht verfügbar oder Antwort zu groß Fehlende aktuelle Daten anzeigen und Zentrale prüfen

Timeout und begrenzte Wiederholungen mit Verzögerung vorsehen. Das Abfrageintervall bei der Inbetriebnahme festlegen. Keine unbeschränkte Abfrageschleife verwenden. Fehler, leere Antworten und alte Zustände niemals als aktuelles OK darstellen.

Die TSV-Liste ist in dieser Version auf 24576 Bytes begrenzt. Bei Überschreitung wird HTTP 503 statt einer abgeschnittenen Liste mit HTTP 200 geliefert. Getrennte Endpunktabfragen bilden keinen atomaren Gesamtbericht.

Integration prüfen

Erfolgreiches Lesen, deaktivierte Leuchten-API, ungültige und nicht vorhandene IDs sowie Verbindungsverlust prüfen. Die Fehlerdarstellung mit dem Display der Zentrale vergleichen. Werkzeuge und Simulatoren ermöglichen die Vorbereitung ohne angeschlossene Zentrale.

EZF Wiki · Wiedza pod ręką.