JSON API

Mit dieser Logik können beliebige JSON APIs abgefragt werden.

Über dieses API werden Daten im JSON Format ausgegeben. Dieses Format wird von der Logik ausgewertet und die Daten an den Ausgängen ausgegeben.

Für unterschiedliche Geräte sind jeweils unterschiedliche Abfrage Links erforderlich, diese finden Sie in der Beschreibung des JSON API.
Sie können diesen Link im Browser eingeben und erhalten dann die Daten im JSON Format, diese sehen dann folgendermaßen aus:

{
"Body" : {
"Data" : {
"Controller" : {
"Capacity_Maximum" : 9600,
"Current_DC" : 3.3099999260157347,
"DesignedCapacity" : 9600,
"Details" : {
"Manufacturer" : "Fronius International",
"Model" : "Fronius Solar Battery",
"Serial" : "26261713"
},
"Enable" : 1,
"StateOfCharge_Relative" : 81,
"Temperature_Cell" : 31.650004541873955,
"TimeStamp" : 1531737054,
"Voltage_DC" : 431.00000642240047,

Die Logik interpretiert nun die Daten, welche Daten an den Ausgängen ausgegeben werden, kann im Parameter Daten angegeben werden. Um beispielsweise die Variable "Current_DC", muss folgender Eintrag erstellt werden: "Body:Data:Controller:Current_DC". Die einzelnen Bereiche werden hierzu durch Doppelpunkt getrennt angegeben. Bei Zugriffen auf eine Liste wird zuerst der Listenname angegeben und als nächster Parameter die Stelle auf die man zugreifen möchte.
Ein komplettes Beispiel sieht folgendermaßen aus:



Die Anzahl bestimmt gleichzeitig auch die Anzahl der Ausgänge, beim Generieren der Variablen werden diese Einträge auch als Kommentar verwendet, diese können nachträglich auch geändert werden ohne dass die Funktion dadurch beeinflusst wird.

Wichtig: Die Namen müssen exakt so wie in der Antwort im Browser angegeben werden, es wird zwischen Groß- Kleinschreibung unterschieden.





Eingänge

FG Freigabe
Optionale Freigabe. Ist hier kein Wert verknüpft, wird das Auslesen automatisch freigegeben.


Ausgänge

Wert 1-x
Je nach in den Parametern eingestellte Anzahl der Ausgänge werden diese mit den Werten aus den JSON Daten belegt.


Parameter

IP Adresse IP Adresse des JSON APIs
URL
Hier wird die URL der Daten angegeben, welche abgefragt werden sollen. Die URL wird hierbei ohne die IP Adresse angegeben.
Daten
Klicken Sie auf den Button um die Dateneinträge zu bearbeiten, siehe oben.
Vorlage
Hier können vordefinierte Datensätze ausgewählt werden.
Authentification
Hier wird die Authentifizierung für die API eingetragen, falls eine benötigt wird. Diese hat das Format Username:Passwort. Wichtig: Wenn keine Authentifizierung notwendig ist, wird der Standardwert Name:Password gesetzt.
Intervall
Hier wird ein Abfrageintervall in Sekunden angegeben. Wichtig: Der Intervall sollte immer so groß wie möglich gewählt werden, zu kleine Intervalle können zu Timeouts und Fehler bei der Abfrage führen.
Debug Level
Hier kann ein Debug Level angegeben werden. Bei Level 1 werden die empfangenen Daten als String im Diagnose Fenster ausgegeben, bei 2 zusätzlich auch in hexadezimalen Zahlen. Wichtig: Dieser Parameter sollte nur für Diagnosezwecke aktiviert und wenn dieser nicht mehr benötigt wird wieder auf 0 zurück gestellt werden, da die Debug Ausgabe die Steuerung verlangsamt.
Adressen generieren
Mit diesem Button werden die Adressen für die Ausgänge erzeugt und verknüpft. Als Kommentar werden die Namen aus dem Parameter Daten verwendet, diese können nachträglich an der Variable geändert werden, auf die Abfrage hat das keine Auswirkungen. Wichtig: Wenn keine Vorlage ausgewählt ist werden alle Adressen mit dem Datentyp EIS17 generiert. Falls ein anderer Datentyp gewünscht wird muss dieser nachträglich geändert werden.



Hinweise