Kostenlose Wetterprognose /PV Prognose /Ertragsprogonse mit stündlicher Auflösung vom DWD für Deutschland, Europa

  • Hi

    in diesem Thread geht es darum Kurzzeit Prognosedaten kostenlos zu erhalten um z.B. prognosebasiertes Laden zu ermöglichen- oder andere Verbraucher zu steuern. Es gibt da diverse Anbieter auf dem Markt, die das gegen einen Obulus bereitstellen. Seit fast 2 Jahren liefert der DWD die Strahlungsdaten als Kernkenngröße für eine Kurzzeitprognose aber "frei Haus" - und das Ganze in einer Auflösung von 1 Stunde mit 10 Tage Vorhersagezeitraum.

    Der Thread hat folgende Hauptziele:

    1) Auf das Thema aufmerksam machen - und die Herangehensweise erläutern, wie man sich die Daten für seinen Standort abholen kann

    2) Ein Skript bereitstellen,das die Daten abholt um sie dann weiter verwenden zu können

    3) Exemplarisch zu zeigen, wie gut/schlecht sich die Ertragsdaten mit den Prognosedaten decken


    Zu 1:

    die Relevanten Links des DWD (Hintergrundinfo´s):

    Beschreibung der bereitgestellten Daten (Stichwort ist Mosmix):

    https://www.dwd.de/DE/leistung…_blob=publicationFile&v=3

    Liste der Stationen:

    https://www.dwd.de/DE/leistung…=nasPublication&nn=495490

    Als Erstes kann man über diese Webseite:

    https://wettwarn.de/mosmix/mosmix.html

    herausfinden, welche Station für den jeweiligen Standort in der Nähe liegen.

    Zu 2:

    Danach kann man in dem Skript die entsprechenden Einstellungen ändern (also Stationsnummer / bzw. Abfrage URL). Weitere Info´s was das Skript so treibt inline im Skript.

    dann das Skript starten über:

    python dwdforecast.txt

    Der Output sieht dann ungefähr so wie unten aus (gekürzt). Wobei der spannendste Wert für unsere Zwecke "Rad1h" ist:


    Starting dwdforecast init ...

    I am looking for data from DWD for the following station: 10865

    I will be polling the following URL for the latest updates https://opendata.dwd.de/weathe…single_stations/10865/kml

    From dwdforecast - initial queue population 1591212548.9691036

    Waiting on DWD weatherdata Queue results to tell it is started...

    From Main : DWD File access I checked / got uploaded by DWD was at : 1591212548.9691036 2020-06-03T21:29:08.969Z

    Here is what we got from DWD :

    mydatetime 2020-06-03T16:00:00.000Z mytimestamp 1591192800 Rad1h 1260.00 TTT 23.12 PPPP 100210.00 FF 2.06

    mydatetime 2020-06-03T17:00:00.000Z mytimestamp 1591196400 Rad1h 840.00 TTT 21.82 PPPP 100200.00 FF 2.06

    mydatetime 2020-06-03T18:00:00.000Z mytimestamp 1591200000 Rad1h 430.00 TTT 20.22 PPPP 100200.00 FF 1.54

    mydatetime 2020-06-03T19:00:00.000Z mytimestamp 1591203600 Rad1h 130.00 TTT 18.42 PPPP 100200.00 FF 1.54

    mydatetime 2020-06-03T20:00:00.000Z mytimestamp 1591207200 Rad1h 10.00 TTT 16.62 PPPP 100240.00 FF 1.03

    mydatetime 2020-06-03T21:00:00.000Z mytimestamp 1591210800 Rad1h 0.00 TTT 15.32 PPPP 100260.00 FF 1.03

    mydatetime 2020-06-03T22:00:00.000Z mytimestamp 1591214400 Rad1h 0.00 TTT 14.62 PPPP 100240.00 FF 1.03

    From Main : DWD File access I checked / got uploaded by DWD was at : 1591194000.0 2020-06-03T16:20:00.000Z

    No new data.....

    No new data.....

    No new data.....

    No new data.....


    Zu Punkt 3:

    Die Graphiken unten zeigen für einen Tag die Prognosedaten (Rot) - und den tatsächlichen Ertrag (hell). Da ich eine Batterie an meinem WR habe -und das Laden der Batterie nicht in den Ertrag geht, bin ich vormittags (dort wird die Batterie geladen) unter den Prognosewerten. Ansonsten passt das Ganze in der Regel eigentlich ganz gut. Es gibt natürlich auch Ausnahmen, wenn z.B. ne Wetterfront schnell durchzieht - etc... -siehe zweite Graphik. Aber im Prinzip passt das eigentlich ganz gut :-)


    So jetzt hab ich genug getippt - vielleicht ist es ja für Euch interssant ?


  • Ich finde das ziemlich spannend, ich habe Deine Routine für mich abgewandelt und für die Übertragung in die Datenbank eine neue PHP erzeugt. Jetzt werden erfolgreich stündlich die Daten in die Datenbank Solaranzeige (InfluxDB) eingetragen und ich könnte mit der Auswertung beginnen. Leider ist mir nicht ganz klar, wie ich aus den Einstrahlungswerten auf die Prognosewerte schließen soll, gibt es da typische Faktoren wie z.B. Wert * Wirkungsgrad der Module * installierte qm oder wie kann man diese Werte verwenden?

    Mein Tipp wäre:

    Globalstrahlung * 0,278 (Umrechnung in Watt/m2) * Modulfläche * Wirkungsgrad

    IBN 27.04.2020
    Module 11 * Trina Solar 335 (3,7 kWp Ost, 36°), 14 * Trina Solar 335 (4,7 kWp West, 36°)
    WR Kostal Plenticore plus 7.0
    Speicher BYD HVS Premium 7,7 kWh

  • Im Prinzip bin ich genau so vorgegangen. Ich hab hier auch nur eine Näherung genommen. Aber im Prinzip um von Rad1h des DWD in meinen anlagenspezifischen Ertrag zu kommen hab ich folgende Formel verwendet :

    Umrechnungsfaktor X von Kj -->KwH = 0.00027778

    Gesamtmodulfläche A (muss jeder selber wissen z.B 47m²) =47m²

    Wirkungsgrad W (aus Datenblatt der Module -z.B. 19.6% - und weiterer Abzug WR Wirkungsgrad) = 0.182

    Gesamtfaktor F= X* A* W

    Bei mir ist F also z.B. 0.00239

    Mit diesem Faktor multipliziere ich dann die Rad1H Werte des DWD und erhalte so den stündlich zu erwartenden Ertrag.

    Ich habe gesehen, dass das bei mir um die Mittagszeit relativ gut passt. Am Morgen und Abend bin ich unter der vom DWD prognostizierten Leistung. Ich nehme an, dass dies verschiedene Gründe hat

    • nicht mehr direkt senkrecht eintreffende Einstrahlung
    • Andere Faktoren (Temperatur etc.)

    Aber mit diesem Fehler kann ich einigermaßen gut leben - bis mir jemand eine "genauere" Lösung präsentiert :-) . Unten noch mal ein Diagramm eines "Optimaltages" mit Sonneneinstrahlung von früh Morgens bis Abends.


  • Danke für die Info, da sind wir uns ja ziemlich einig, nur habe ich es in Wh und nicht in KWh umgerechnet.

    Fläche ist bei mir ca. 42qm, Modulwirkungsgrad 19,7%, aber Ost-West Ausrichtung, daher -10% und Verluste nochmal ca. -7%.

    Damit komme ich auf folgende Rechnung:

    (0.278 * 42 * 0.197) * 83% = 1,91 (wegen Umrechnung in Wh und nicht in kWh).

    Die Werte für heute sehen schon mal gar nicht so schlecht aus, meistens innerhalb weniger als 10% Abweichung, könnte durchaus hinkommen...



    Kann man nette Sachen damit machen, z.B. eine Ertragsprognose für die nächsten 7 Tage


    IBN 27.04.2020
    Module 11 * Trina Solar 335 (3,7 kWp Ost, 36°), 14 * Trina Solar 335 (4,7 kWp West, 36°)
    WR Kostal Plenticore plus 7.0
    Speicher BYD HVS Premium 7,7 kWh

  • OK, vielleicht ein wenig viele Informationen, aber ich habe ja einen 32 Zoll Bildschirm ;)


    IBN 27.04.2020
    Module 11 * Trina Solar 335 (3,7 kWp Ost, 36°), 14 * Trina Solar 335 (4,7 kWp West, 36°)
    WR Kostal Plenticore plus 7.0
    Speicher BYD HVS Premium 7,7 kWh

  • :-) - Memory Overflow

    Schaut gut aus ... Grafana nehm ich an.

    Ein paar Fragen hätte ich noch - Du hast Niederschlagswerte in Liter/Stunde - die bekommt man aber nicht aus den Mosmix Daten. Wo ziehst Du die her ?

  • Das ganze Projekt basiert auf "Solaranzeige" (https://solaranzeige.de/phpBB3/solaranzeige.php) mit einem Raspberry PI 4B, Visualisierung erfolgt mit Grafana. In Solaranzeige gibt es auch Wetterdaten, die haben nichts mit Mosmix zu tun, die werden über Openweathermap abgerufen (bei mir alle 15 Minuten). Die ganzen Wetterdaten waren schon im Dashboard integriert, nur die Prognosewerte sind neu und über Deine Abfrage aus Mosmix importiert...

    IBN 27.04.2020
    Module 11 * Trina Solar 335 (3,7 kWp Ost, 36°), 14 * Trina Solar 335 (4,7 kWp West, 36°)
    WR Kostal Plenticore plus 7.0
    Speicher BYD HVS Premium 7,7 kWh

  • Hallo Kruki,

    ich habe im Auftrag des Entwicklers bei Solaranzeige.de folgende Prognose getestet:

    https://www.solarprognose.de/w…olarprediction/page/index


    Hier gibt es ebenfalls eine API, über welche leicht die Werte in eine Datenbank importiert werden können. Man muss sich registrieren, kostenlos sind nur 2 Tage, aber die Prognose wird mit zuvor erstellten Anlagedaten (Standort, Ausrichtung, Neigung, kWp usw.) vermutlich ebenfalls auf Basis der MOSMIX-Daten durchgeführt. Die Prognosen lassen sich auch per Webbrowser direkt grafisch abrufen, die Genauigkeit gefällt mir gut. Leider nur 20 Abrufe am Tag, nur 2Tage im Voraus und nur für Anlagen < 10 kWp sowie max. 2 Strings kostenlos. Ansonsten kostenpflichtig...


    Ich habe mal ein primitives PHP-Skript für Solaranzeige erstellt, welches die Daten ausliest und in einer json-Datenstruktur ablegt, welche dann in eine Datenbank geschrieben werden.

    Ich werde die Daten mit meinen interpolierten Daten (siehe unten) in der nächsten Zeit vergleichen, aber für die stündliche Prognose scheinen mir diese tatsächlich besser geeignet.


    Zur bestehenden Prognose habe ich die gelieferten Daten etwas modifiziert:


    - In Grafana stehen bei einem Graphen mit stündlicher Anzeige z.B. um 10:00 die Werte, welche zwischen 10:00 und 11:00 erzeugt wurden. Daher wäre es falsch den Wert von 10:00 aus den gelieferten Daten dort zu speichern. Ein Zeitversatz ist nötig, zusätzlich wird ja innerhalb der Stunde nicht genau der eine Wert sondern näherungsweise eher der Schnitt der beiden Stundenwerte erzeugt


    - Ich habe also die Werte neu mit folgender Berechnung in die Datenbank geschrieben und finde, die Prognose passt jetzt im zeitlichen Verlauf wesentlich besser zur Realität

    Prognose = ("akt. Prognose" + "Prognose nächste Std.") / 2

    Timestamp = Timestamp + 7200

    IBN 27.04.2020
    Module 11 * Trina Solar 335 (3,7 kWp Ost, 36°), 14 * Trina Solar 335 (4,7 kWp West, 36°)
    WR Kostal Plenticore plus 7.0
    Speicher BYD HVS Premium 7,7 kWh

  • Ich habe es bei mir auch mit PHP realisiert. Zusätzlich errechne ich den Mittelwert aus drei Stationen.


    Den Korrektur-Faktor errechne ich mit einem MySQL Ereignis. Dieser ist im Juni ~1 und im Winter fast zwei. Er basiert auf einem Fit zw. den Ist-Werten und den Prognose-Daten.


    Jetzt nach über einem Jahr Beobachtung läuft es gefühlt sehr gut.

    7,68kWp mit LG320N1K-A5, Kostal PIKO 8.0 BA und BYD HV-Box 8.96kWh