Fernauslese.de bietet Softwareherstellern die Möglichkeit, Daten über eine Schnittstelle – die Fernauslese.de API zu zfa.io – abzufragen und Veränderungen vorzunehmen ohne unser Zentralsystem zfa.io selbst aufrufen zu müssen.

Die Fernauslese.de API ist in verschiedenen Varianten verfügbar. Die nachfolgende Dokumentation zeigt die Implementation in Form einer HTTP GET Schnittstelle. Über die API können alle Daten und Funktionen aus zfa.io angesteuert werden.

Bei Fragen oder Problemen stehen wir gerne mit unserem technischen Support zur Verfügung.

Kommunikationsparameter der API

Über den Pfad /api/VERWALTUNGSSOFTWARE/ können verschiedene Parameter übergeben werden. Die Authentifizierung erfolgt mittels Standardauthentifizierung (Benutzername und Passwort). Für den Zugriff mittels API erhält der Kunde spezielle Zugangsdaten, die von den Zugangsdaten für das Web-Frontend abweichen.

Der Benutzername für die API besteht aus dem in der Regel dreistelligen Kürzel für den Betrieb (z.B. bcm für Beispiel-Campingplatz in Musterstadt) mit dem Präfix api_ (hier: api_bcm).

channelintchannel bezeichnet den Kanal, der abgefragt oder geschaltet werden soll. Die Angabe des Parameters channel ist zwingend erforderlich. Zwischen der Beschreibung des Kanals im Web-Frontend und dem channel besteht kein direkter Zusammenhang. Hierfür erhalten Sie eine Zuordnungstabelle.
newstateintMit newstate wird die gewünschte Betriebsart übergeben (Soll-Zustand). Dieser Befehl kann optional ausgeführt werden.

newstate=0 schaltet den vorher definierten channel aus
newstate=1 schaltet den vorher definierten channel an

 
Die Zuordnungstabelle beschreibt die Zuordnung zwischen der Beschreibung eines Kanals im Web-Frontend und einem channel als Kommunikationsparameter der API. Beispiel:

Beschreibung
https://kürzel.zfa.io
channel
https://kürzel.zfa.io/
api/VERWALTUNGSSOFTWARE/
Steckdose11
Steckdose 22
Steckdose 33
Steckdose 44

 
Rückgabeparameter

Die API liefert nach erfolgreicher Parameterübergabe folgende Rückgabewerte, die Rückgabewerte werden mit ; getrennt ausgegeben:

valuefloatDer aktuelle Zählerstand in Kilowattstunden (kWh).
stateintDer aktuelle Schaltzustand im Schrank, wie er vom Fernauslesesystem zurückgemeldet wird (Ist-Zustand).

state=0 Schaltzustand Aus
state=1 Schaltzustand An
state=2 Schaltzustand Guthaben
state=3 Schaltzustand Guthaben-Automatik.
Für state=3 werden Steckdosen mit Hilfskontakt benötigt.

state=4 Schaltzustand Verbrauch-Automatik
Für state=4 werden Steckdosen mit Hilfskontakt benötigt.

Die Bedeutung der verschiedenen Schaltzustände wird hier erklärt.

errorintGibt an, ob auf diesem channel ein Stromversorgungsfehler (ausgelöster Fehlerstrom-Schutzschalter, Vorsicherung defekt, fehlende Phase) vorliegt. Kommunikationsfehler
innerhalb des Fernauslesesystems werden hier NICHT ausgegeben, diese sind nur über das Web-Frontend ersichtlich!

error=0 kein Fehler
error=1 Stromversorgungsfehler

powerintDie momentan bezogene Leistung in Watt (W).
usagefloatDer Verbrauch seit dem letzten Einschalten in Kilowattstunden (kWh). Dies ist ein
Zwischenzähler, der immer dann zurückgesetzt wird, wenn ein Kanal vom ausgeschalteten in den eingeschalteten Zustand umgeschaltet wird. Beim Ausschalten bleibt der Verbrauchswert noch bis zum nächsten Einschalten erhalten.
qcstr6-stelliger alphanummerischer Zugangscode für den Quick Check unter https://qc.zfa.io

 
Fehlermeldungen

Bei internen Fehlern in der API werden folgende Fehlermeldungen zurückgegeben:

database
connection
refused
Fehler des Datenbankservers
database not
found
Datenbank für diesen Mandant nicht vorhanden
update errorSetzen des neuen Schaltzustandes nicht möglich
query errorAbfragen des Zählerstandes nicht möglich

 
Testszenario

Um die volle Funktionalität der API sicherzustellen, können Sie bei der Implementierung auf folgende Beispiele zurückgreifen.

  • Beispiel 1: Zählerstand abfragen

    URL: https://kürzel.zfa.io/api/VERWALTUNGSSOFTWARE/?channel=1

    Aktion: Der aktuelle Zählerstand des channel mit der ID 1 wird abgefragt.

    Rückgabewert: value=0.010;state=0;error=0;power=0;usage=0.000;qc=1A2B3C

    Bedeutung: Der aktuelle Zählerstand beträgt 0,010 kWh. Der aktuelle Schaltzustand (Ist-Zustand) ist Aus. Es liegen keine Fehlermeldungen vor. Momentan wird keine Leistung bezogen (0 W). Seit dem letzten Einschalten wurde kein Strom bezogen. Der Quick Check unter https://qc.zfa.io kann mit dem Link https://qc.zfa.io/1A2B3C erreicht werden.

  • Beispiel 2: Kanal einschalten

    URL: https://kürzel.zfa.io/api/VERWALTUNGSSOFTWARE/?channel=1&newstate=1

    Aktion: Der channel mit der ID 1 wird eingeschaltet.

    Rückgabewert: value=0.010;state=0;error=0;power=0;usage=0.000;qc=1A2B3C

    Bedeutung: Der aktuelle Zählerstand beträgt 0,010 kWh. Der aktuelle Schaltzustand (Ist-Zustand) ist Aus. Es liegen keine Fehlermeldungen vor. Momentan wird keine Leistung bezogen (0 W). Seit dem letzten Einschalten wurde kein Strom bezogen. Der Quick Check unter https://qc.zfa.io kann mit dem Link https://qc.zfa.io/1A2B3C erreicht werden.

Schnittstelle zwischen der Verwaltungssoftware und Fernauslese.de

Der Benutzer erhält einen Konfigurationsstring im Format api-benutzername:passwort für die Nutzung des Fernauslesesystems mit der Verwaltungssoftware. Idealerweise kann er diesen genauso in den dortigen Einstellungen hinterlegen. Wir empfehlen eine Funktion einzubauen, in der der Kunde für den jeweiligen Zähler den entsprechenden channel hinterlegen kann.