Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Alle zusätzlichen Module, die in die Solaranzeige integriert wurden, wie den Wetterbericht, die Solarprognose, der Messenger Pushover, Sun & Moon, aWATTar Strompreise und weitere Module.

Moderator: Ulrich

Antworten
schmatze
Beiträge: 6
Registriert: Mi 17. Feb 2021, 21:32

Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von schmatze »

Hallo zusammen,

ich habe die Solarprognose-Daten in mein Gafana Dashboard einbinden können. Jedoch habe ich einen Zeit-Offset von einer Stunde bei der Daratellung der Daten in Grafana festgestellt.
Bei einem Vergleich der Influx DB Werte und den von der Solarprognose-API gelieferten Daten scheint der Offset beim schreiben der Daten in die Influx DB zu entstehen - siehe Anhang. Habt ihr eine Idee wie dieser Offset entsteht?

Schon mal Danke für Eure Unterstützung!
Schmatze
Dateianhänge
Influx-DB vs Solarprognose-API.pdf
(321.7 KiB) 41-mal heruntergeladen

Bogeyof
Beiträge: 433
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 3 Mal
Danksagung erhalten: 28 Mal

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von Bogeyof »

Das ist Absicht, in Grafana werden die Werte "für die nächste Stunde" angezeigt, Bedeutung ist aber "Wert letzte Stunde", daher Versatz um eine Stunde...

schmatze
Beiträge: 6
Registriert: Mi 17. Feb 2021, 21:32

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von schmatze »

Hallo Bogeyof,

Grafana stellt die in der Influx DB abgelegten Daten korrekt dar. :)

Für mich nicht verständlich ist der Import der Solarprognose Daten in die Influx DB. Die Daten von Solarprognosedaten sind für mich plausibel, z.B. heute 7:00 Uhr für meinen Standort war eine PV Leistung von 813W zu erwarten. Fragt man diesen Zeitpunkt in der Influx DB ab, bekommt man aber den Wert von 2183W. Dieser enspricht interessanterweise genau der Vorhersage von Solarprognose um 8:00Uhr. :?
Tabellarisch dargestellt sieht das folgendermassen aus:

Code: Alles auswählen

API Query Solarprognose 	Query Influx		
UTC	        kW	kWh	UTC	        Prognose_W	 Prognose_Wh
1615006800	0,005	0,005	1615003200	5	         5
1615010400	0,818	0,823	1615006800	818	         823
1615014000	2,138	2,961	1615010400	2138	         2961
1615017600	3,327	6,288	161501400	3327	         6288
(Im Anhang das Ganze noch einmal als farbige Tabelle)

Warum verändert sich die Zuordnung von UTC Zeitstempel und Prognosewerten beim Import in Influx?
Wo stehe ich hier auf dem Schlauch?

Schmatze
Dateianhänge
Gegenüberstellung_Solarprognose_Influx.JPG

Bogeyof
Beiträge: 433
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 3 Mal
Danksagung erhalten: 28 Mal

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von Bogeyof »

Schau in die Prognose.php, dort wird absichtlich um eine Stunde versetzt geschrieben. Das macht auch Sinn wie gesagt wegen der Darstellung in Grafana. Der Wert ist eigentlich der für die letzte Stunde, den muss man in Grafana aber für die nächste Stunde darstellen, sonst stimmt z.B das Balkendiagramm pro Stunde nicht...
Schau einfach Mal, ob die Werte in der Stunde in welcher sie dargestellt werden auch Sinn machen, immer mit der Prämisse, dass sie sagen was für die kommende Stunde zu erwarten ist. Schau dir in den Prognosedaten auch mal den Abend an, da hättest du nach Sonnenuntergang noch Leistung um 19:00, weil zwischen 18:00 und 19:00 noch etwas Leistung erzeugt wird und diese wird um 19:00 eingetragen (ist aber sinnlos).

schmatze
Beiträge: 6
Registriert: Mi 17. Feb 2021, 21:32

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von schmatze »

Die Prognose der PV-Leistung (in Watt) sagt doch die zu erwartenden tatsächlich erzeugte PV-Leistungen zu einem bestimmten Zeitpunkt voraus. Will heissen, wenn meine Prognose um 8:00 Uhr 2000W voraussagt und ich dann tatsächlich zu diesem Zeitpunkt eine Leistung von 2000W erzeuge, war die Vorraussage perfekt. :)
Wenn ich in meinem Grafana Chart die Prognose für die erzeugte Leistung zusammen mit der tatsächlich erzeugten Leistung darstelle, sehe ich einen Offset von ca. einer Stunde - am Morgen wie am Abend (siehe Anhang).
Dateianhänge
PV-Leistungsprognose vs PV-Leistungerzeugung.JPG

Bogeyof
Beiträge: 433
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 3 Mal
Danksagung erhalten: 28 Mal

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von Bogeyof »

OK, ich glaube wir kommen der Sache näher. Du nutzt die Solarprognose mit DarkSky Vorhersage nehme ich an. In den beiden folgenden Screenshots sieht man, dass DarkSky (= own-v1) die Daten um eine Stunde zeitversetzt liefert gegenüber MOSMIX.
Prognose1.png
Prognose2.png
In der wetterdaten.php wird (wegen MOSMIX, welche eigentlich die bessere Vorhersage liefert) noch einmal eine Stunde abgezogen (um die Werte in das richtige Zeitfenster zu verschieben) und zwar in Zeile 226 mit dem Befehl:

Code: Alles auswählen

        $aktuelleDaten["Timestamp"] = (strval(intval($Keys[$i]))-3600);
Dieser wäre mal testweise zu ändern in

Code: Alles auswählen

        $aktuelleDaten["Timestamp"] = (strval(intval($Keys[$i])));
Wenn man sich die MOSMIX-Daten ansieht macht das auch Sinn, da ist z.B. um 7:00 (Sonnenaufgang 6:46) noch 0 Leistung, um 8:00 nur 0,5 kW (in Wirklichkeit bis 2 kW). Man sieht es auch gut an dem 12:00 Balken, der ist 1 Stunde zu früh im Verhältnis zu den Werte. Hier macht das Verschieben um 1 Stunde Sinn.
Bei den DarkSky-Daten liefert die Prognose die Daten anscheinend im korrekten Zeitfenster, da macht das Verschieben dann keinen Sinn. Hier bitte mal obige Änderung durchführen.
Ich denke das wird bald in der offiziellen Version der Solaranzeige eingebunden, wenn es so passt. Anscheinend hat das noch keiner bemerkt, das die Daten zwischen DarkSky und MOSMIX unterschiedlich geliefert werden...

Bogeyof
Beiträge: 433
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 3 Mal
Danksagung erhalten: 28 Mal

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von Bogeyof »

schmatze hat geschrieben:
Sa 6. Mär 2021, 22:40
Die Prognose der PV-Leistung (in Watt) sagt doch die zu erwartenden tatsächlich erzeugte PV-Leistungen zu einem bestimmten Zeitpunkt voraus. Will heissen, wenn meine Prognose um 8:00 Uhr 2000W voraussagt und ich dann tatsächlich zu diesem Zeitpunkt eine Leistung von 2000W erzeuge, war die Vorraussage perfekt. :)
Auch wenn es für Dich so aussieht, die angegebene Leistung ist nicht die zu einem Zeitpunkt sondern für einen Zeitraum, und zwar die letzte Stunde. Die Werte werden nur stündlich geliefert (errechnet aus der kumulierten Einstrahlung für die letzte Stunde) und sind nicht wirklich geeignet sie mit einem aktuellen Verlauf (minütlich zu vergleichen). Um die Werte sinnvoll zu vergleichen muss man seinen stündlichen Ertrag mit der stündlichen Vorhersage vergleichen.
Prognose3.png
Da sieht man dann auch wie es gemeint ist. Der Wert zwischen 7:00 und 8:00 ist die kumulierte Erzeugung und wird um 7:00 dargestellt. Dieser Wert muss aber mit dem gelieferten Wert von 8:00 verglichen werden (da diese Daten rückwirkend für die letzte Stunde geliefert werden). Deshalb war der Zeitversatz eingebaut. Allerdings liefert die DarkSky Vorhersage die Daten schon entsprechend versetzt, hier liegt das Problem. Anscheinend muss ein Test eingebaut werden, welche Vorhersage genutzt wird und dann der Versatz ignoriert werden...

Code: Alles auswählen

if ($Algorithmus == "mosmix") {	
    $aktuelleDaten["Timestamp"] = (strval(intval($Keys[$i]))-3600);
}
else {
   $aktuelleDaten["Timestamp"] = (strval(intval($Keys[$i])));
}

schmatze
Beiträge: 6
Registriert: Mi 17. Feb 2021, 21:32

Re: Falscher UTC Timestamp in Influx DB nach Solarprognose-API Query

Beitrag von schmatze »

Hallo Bogeyof,

noch einmal Danke für Deine Erklärungen.
Ich hatte tatsächlich die DarkSky Vorhersage eingestellt. Mit der Korrektur in wetterdaten.php passt alles wie zu erwarten.
Mit MOSMIX liefern die uersprünglichen Einstellungen mit Zeitversatz korrekte Ergebnisse. :-)
... offensichtlich muss der Datenimport entsprechend des genutzten Vorhersagemodells angepasst werden.

Beste Grüße,
Schmatze

Antworten