Anzeige
Writing /var/www/shared/sonnenertrag_wiki/files/dokuwiki/data/cache/e/eca34298352cd496bdadf8a594d70304.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/shared/sonnenertrag_wiki/files/dokuwiki/data/cache/e/eca34298352cd496bdadf8a594d70304.xhtml failed
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Link zu dieser Vergleichsansicht
|
datenimport:json [2012/06/12 19:30] Jörg Borch angelegt |
datenimport:json [2012/11/07 20:30] (aktuell) Jörg Borch [Die URL] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== JSON-Strings als Rückgabe eines Datenloggers ====== | ====== JSON-Strings als Rückgabe eines Datenloggers ====== | ||
| + | |||
| + | Stand 2012-06-12 | ||
| + | |||
| + | Dieser Datenimport wurde für den [[http://youless.nl|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: | ||
| + | <code>{"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]}</code> | ||
| + | \\ | ||
| + | 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: | ||
| + | <code>[" 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]</code> | ||
| + | \\ | ||
| + | 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: | ||
| + | ^Datum^Wert im String^Interpretation\\ 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 ignoriert|null||\\ | ||
| + | \\ | ||
| + | * * 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ückgabewert^Interpretation^ | ||
| + | |..,"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 URL^Abfrage durch Sonnenertrag^Bedeutung^ | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=</nowiki>|<nowiki>http://xxx.yyy.com:10000/V?f=j&m=5</nowiki>|Monat 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 Sonnenertrag^Rückgabemonat des Datenloggers^ | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=5</nowiki>|Mai 2012 wird zurückgegeben| | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=2</nowiki>|Februar 2012 wird zurückgegeben| | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=6</nowiki>|Juni 2011 wird zurückgegeben| | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=12</nowiki>|Dezember 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: | ||
| + | ^URL^Einheit der Messwerte^ | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&u=Wh&m=</nowiki>|Werte in Wh| | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&u=kWh&m=</nowiki>|Werte in kWh| | ||
| + | |<nowiki>http://xxx.yyy.com:10000/V?f=j&m=</nowiki>|Werte in Wh| | ||
| + | \\ | ||
| + | \\ | ||
| + | Dieser Datenimport startet täglich um 0:30 Uhr. | ||
| + | \\ | ||
| + | \\ | ||
| + | Der Datenimport befindet sich in der Testphase.\\ | ||
| + | |||
| + | |||
| + | |||
| + | |||
