Sonnenertrag beschäftigt sich in erster Linie mit Photovoltaik und nachhaltigen Energien. Wir unterhalten die Photovoltaik Datenbank in der unsere Nutzer ihre Erträge und Anlagen untereinander vergleiche können. Neu ist der Datenimport über Solarlog und Sunnyreport.
Anzeige

JSON-Strings als Rückgabe eines Datenloggers

Stand 2012-06-12

Dieser Datenimport wurde für den YouLess Datenlogger geschrieben und mit diesem getestet.
Der Datenimport ist aber nicht nur für diesen Logger geeignet, sondern es werden auch andere Rückgabewerte anderer Logger unterstützt wenn sich diese Rückgaben an einige Vereinbarungen, was die Import-URL und das Format des zurückgegebenen Strings betrifft, halten.

Eine beispielghafte Rückgabe des YouLess-Loggers sieht etwa so aus:

{"un":"kWh","tm":"2012-05-01T00:00:00","dt":86400,"val":[" 19,800"," 15,600"," 11,800"," 30,500"," 11,200"," 15,200"," 36,000"," 20,500"," 23,500"," 11,600"," 17,000"," 32,500"," 40,000"," 44,500"," 11,800"," 41,000"," 32,000"," 18,200"," 33,000","  0,000","  0,000"," 17,400"," 33,500"," 44,500"," 46,500"," 46,000"," 41,500"," 47,000"," 32,500"," 39,500"," 20,000",null]}


Aus diesen Werten extrahiert der Datenimport nur die in eckige Klammern eingeschlossenen Werte, der Rest der Rückgabe wird ohne jede Auswertung ignoriert.
Er kann bei Bedarf auch völlig weggelassen werden, es werden nur die Werte in den eckigen Klammern erwartet.
Der Import wertet aus der obigen Rückgabe also nur diesen Teil aus:

[" 19,800"," 15,600"," 11,800"," 30,500"," 11,200"," 15,200"," 36,000"," 20,500"," 23,500"," 11,600"," 17,000"," 32,500"," 40,000"," 44,500"," 11,800"," 41,000"," 32,000"," 18,200"," 33,000","  0,000","  0,000"," 17,400"," 33,500"," 44,500"," 46,500"," 46,000"," 41,500"," 47,000"," 32,500"," 39,500"," 20,000",null]


Es wird vorausgesetzt, dass auf eine Abfrage beim Import durch Sonnenertrag in den eckigen Klammern immer die Tagesertragswerte eines gesamten Monats, beginnend mit dem Ertrag des Monatsersten als ersten Wert, zurückgegeben werden.
Im Beispiel werden die Erträge eines ganzen Monats zurückgegeben. Ist der angefragte Monat noch nicht vollständig (z.B. beim aktuellen Monat) endet der zurückgegebene String natürlich entsprechend eher.
Welcher Monat angefragt wird, wird in der URL bestimmt, diese Beschreibung folgt später auf dieser Seite.

Die Werte der obigen Abfrage werden durch den Datenimport folgendermaßen interpretiert:

DatumWert im StringInterpretation
durch den Import
1“ 19,800“19.8
2“ 15,600“15,6
3“ 11,800“11.8
4“ 30,500“30.5
......
......
29“ 32,500“32.5
30“ 39,500“39.5
31“ 20,000“20.0
wird ignoriertnull


  • * In den einzelnen Rückgabewerten werden alle Werte, die nicht numerisch sind, als Tagesertrag 0 übernommen.
  • * Die Werte in der Rückgabe müssen durch Kommas voneinander getrennt sein
  • * Wird als Dezimaltrennzeichen auch ein Komma verwendet, müssen die Ertragswerte durch doppelte Anführungszeichen eingeschlossen sein.
  • * Wird als Dezimaltrennung der Punkt verwendet, müssen die Werte nicht in Anführungszeichen eingeschlossen sein, sind sie aber trotzdem eingeschlossen, werden sie auch richtig interpretiert.


Folgend einige erlaubte Beispielwerte einer Rückgabe und deren Interpretation durch den Datenimport:

RückgabewertInterpretation
..,“5“,..5
..,12,..12
..,“,13“,..0.13
..,.22,..0.22
..,0.22,..0.22
..,1.2,..1.2
..,“1,17“,..1.17
..,“1.55“,..1.55
..,10000,..10000
..,*,..0
..,“*“,..0
..,“Test“,..0
..,Test,..0


Die URL

Zur Aktivierung des Datenimports ist auf der Konfigurationsseite der Anlage in Sonnenertrag die URL zum Datenlogger einzutragen.
Diese URL muss als letzten Wert einen vom Logger ausgewerteten Parameter enthalten, der den durch Sonnenertrag abgefragten Monat enthält - d.h. an die URL wird der angefragten Monat als letzter Parameter angehangen.
Beispiele:

Eingetragene URLAbfrage durch SonnenertragBedeutung
http://xxx.yyy.com:10000/V?f=j&m=http://xxx.yyy.com:10000/V?f=j&m=5Monat Mai wird abgefragt

Der an die URL angehängte Wert ist also der abgefragte Monat.

Für eine Abfrage, die durch Sonnenertrag z.B. im Mai(5) 2012 erfolgt, werden folgende Rückgaben erwartet:

Abfrage durch SonnenertragRückgabemonat des Datenloggers
http://xxx.yyy.com:10000/V?f=j&m=5Mai 2012 wird zurückgegeben
http://xxx.yyy.com:10000/V?f=j&m=2Februar 2012 wird zurückgegeben
http://xxx.yyy.com:10000/V?f=j&m=6Juni 2011 wird zurückgegeben
http://xxx.yyy.com:10000/V?f=j&m=12Dezember 2011 wird zurückgegeben

Der Datenimport fragt in der Regel aber nicht mehr als 10-30 Tage rückwirkend ab.
Es muss also sichergestellt sein, dass z.B. im Januar(1) noch die Monatswerte des Dezembers(12) des Vorjahres zur Verfügung stehen und die Werte des gesamten Monats Dezember auch zurückgegeben werden können.


Die Tageserträge können in Wh (Wattstunden) oder kWh (Kilowattstunden) geliefert werden.
Um Sonnenertrag mitzuteilen, mit welcher Einheit die Werte zurückgegeben werden, kann bzw. muss in der URL ein weiterer Parameter, der durch den Logger nicht ausgewertet werden muss, übergeben werden.
Nach diesem Parameter wird die URL von Sonnenertrag vor dem Import durchsucht und die Messwerte entsprechend dem Ergebnis der Suche als Wattstunden oder Kilowattstunden interpretiert. Der entsprechende Parameter zum Festlegen der Einheit wird als &u=Wh oder &u=kWh angegeben (u für „Unit“).
Ist dieser Parameter nicht angegeben, werden die Messwerte als Wattstunden interpretiert.
Beispiele:

URLEinheit der Messwerte
http://xxx.yyy.com:10000/V?f=j&u=Wh&m=Werte in Wh
http://xxx.yyy.com:10000/V?f=j&u=kWh&m=Werte in kWh
http://xxx.yyy.com:10000/V?f=j&m=Werte in Wh



Dieser Datenimport startet täglich um 0:30 Uhr.

Der Datenimport befindet sich in der Testphase.

datenimport/json.txt · Zuletzt geändert: 2012/11/07 20:30 von Jörg Borch
CC Attribution-Noncommercial-Share Alike 3.0 Unported