Ertragsprognosedaten in Solaranzeige einbinden

PDF Dokumente für Informationen im Detail, sowie Bauanleitungen.

Moderatoren: Ulrich, TeamO

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Bogeyof »

Ich bin nicht sicher was du meinst. Ich habe auch SolCast integriert in Solaranzeige, die Werte sind nicht wirklich besser. Die Integration ist ja hier in Forum beschrieben, klappt über Python Module. Ein "Tuning" der eigenen Prognosen über einen Abgleich mit SolCast habe ich nicht vorgenommen.
Wie sollte das aussehen? Wenn Abweichung > 10% dann Mittelwert oder jeweils welchen Wert nehmen? Könnte mir gerade keine Formel für's Angleichen ausdenken...

Benutzeravatar
mdkeil
Beiträge: 379
Registriert: So 12. Sep 2021, 20:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 23 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von mdkeil »

Dann habe ich mich blöd ausgedrückt, bzw. kann es natürlich sein, dass die SolCast-Daten ausschließlich den Tagesertrag prognostizieren..

Aktuell fahre ich ja (eigenePrognose+eigenePrognoseL) / 2 wobei ja eigenePrognoseL stündlich getuned werden kann.. Wenn natürlich SolCast keine stündlichen (oder halt geringer) "Leistungswerte" liefert, geht das natürlich nicht.. Es gibt halt bei Verschattung keinen default-Faktor, da sich dies über das Jahr verändert..

simpel gesagt.. (eigenePrognose) Daten DWD ersetzen durch SolCast ;) - wie gesagt, ist halt abhängig, was SolCast genau liefert bzw. liefern kann.
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Bogeyof »

SolCast liefert 30 Minuten Werte. Natürlich könnte man diese auch für eine Berechnung statt eigenePrognose verwenden. Ein Tuning ist bei SolCast inzwischen nicht mehr möglich (zumindest in der free Version), man kann allerdings seiner eigenen Werte (echte Messwerte) wieder hochladen, früher hat er damit die Vorhersage getuned, macht er aber meines Wissens nicht mehr ...

Benutzeravatar
mdkeil
Beiträge: 379
Registriert: So 12. Sep 2021, 20:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 23 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von mdkeil »

..also mir dem Tuning meine ich die Anpassung via Faktoren über die Matrix in deiner prognose.php
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Bogeyof »

Na ja, in einem eigenen PHP Skript sicher machbar. Ich kann Dir allerdings sagen, dass bei bewölktem Wetter auch SolCast keine stundengenaue Vorhersage macht. Insgesamt für den ganzen Tag liege ich aber immer mit beiden Vorhersagen in einem Bereich, der zur Abschätzung für Nutzung Heizstab oder Batterie ausreichend genau ist. Letztlich ist es nicht wichtig (für mich) ob es 23 kWh oder 25 kWh sind, sondern Unterschiede mache ich z.B. bei 15kWh gegenüber 25 kWh oder mehr. Wenn ich mir die Monatssummen echte Leistung und der Prognosen ansehe, dann ist die Differenz bei mir unter 5%. Allerdings nicht stundengenau (aber ich denke das kann kein Wetterbericht wissen, wann die Wolke über dem Haus ist).

Benutzeravatar
mdkeil
Beiträge: 379
Registriert: So 12. Sep 2021, 20:40
Hat sich bedankt: 15 Mal
Danksagung erhalten: 23 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von mdkeil »

Das ist mir klar. Ich lege aber bei Bewölkung deutlich über 25% Unterschied, auch bei der Monatsabrechnung.. zum Glück brauche ich die Prognose nicht zwingend.. Warmwasser erzeuge ich in Abhängigkeit von einer definierten Einspeiseleistung ab 12:30 bis X, wobei vor der Duschzeit auch ein Minimalprogramm läuft, wenn nicht genügend Einspeisung vorhanden war.. Batterie habe ich nicht und viel Spielraum habe ich später beim E-Auto Laden auch nicht immer.. aber das wäre ein Einsatzzweck nach Prognose zu laden.. dafür sollten die Daten einigermaßen stimmen.. also 5-10% Abweichung..

Mal sehen, wann ich mal etwas Zeit finde mir ein eigenes php-script zu schreiben inkl. stundenweise Faktorisierrung, ggfs. auch generisch, um unterschiedliche Quellen anzubinden.
IBN: 07/2021
Fronius Symo : 13.2kWp S 45° + 3.96 kWp S 15°
Fronius Primo : 2.97 kWp N 15°
Speicher: 14,3 kWh LiFePO4 (EEL) + Seplos BMS @ Victron MP-II 48/5000
Wallbox: 11kW echarge Hardy Barth Cpμ2 Pro
######
Tibber-Invite (100% Öko-Strom + 50€ Bonus)

Maverick
Beiträge: 78
Registriert: So 5. Dez 2021, 09:47
Hat sich bedankt: 16 Mal
Danksagung erhalten: 10 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Maverick »

Bogeyof hat geschrieben:
Mi 2. Mär 2022, 13:32
Bitteschön, wer will kann es probieren, dazu das Konstrukt switch / case durch die folgenden Zeilen ersetzen:

Code: Alles auswählen

        $Monatstabelle = array
            (
            //  0:00  1:00  2:00  3:00  4:00  5:00  6:00  7:00  8:00  9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00
            // Index 0 Januar
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 1 Februar
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 2 Maerz
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 3 April
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 4 Mai
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 5 Juni
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 6 Juli
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 7 August
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 8 September
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 9 Oktober
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 10 November
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0),
              // Index 11 Dezember
              array
              (    0,    0,    0,    0,    0,  1.5, 1.35, 0.95, 1.25, 0.90, 0.62, 0.62, 0.70, 0.70, 0.75, 1.18,  1.6,  1.5,  2.3,  1.8,    0,    0,    0,    0)
        );
        $STDFAKT = $Monatstabelle[date("m")-1][$TH];
Natürlich müsst Ihr Eure Werte einsetzen, aber ich habe es extra in eine Zeile gepackt, so kann man Januar editieren und dann erst mal die Zeile kopieren und dann bei allen Monaten ersetzen...
Moin, irgendwie stehe ich grad auf dem Schlauch. Habe gestern das array mit der Monatstabelle eingebaut, da die Prognosedaten seit März nun doch stark abweichen. Ich habe die Parameter zunächst über den Tag für Mai angepasst, funktionierte auch alles.

Nun bekomme ich folgende Fehlermeldung beim ausführen der prognose.php, die ich gar nicht einordnen kann, da ich nur die prognose.php bearbeitet habe. Auch mit der Backup-Datei bleibt der Fehler bestehen.

Code: Alles auswählen

Unhandled exception in thread started by <bound method Thread._bootstrap of <dwdforecast(Thread-1, started 3007644736)>>
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/var/www/html/prognose.py", line 158, in run
AttributeError: 'dwdforecast' object has no attribute 'mydownloadfiles'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 885, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.7/threading.py", line 927, in _bootstrap_inner
    (self.name, _format_exc()), file=_sys.stderr)
  File "/usr/lib/python3.7/traceback.py", line 167, in format_exc
    return "".join(format_exception(*sys.exc_info(), limit=limit, chain=chain))
  File "/usr/lib/python3.7/traceback.py", line 121, in format_exception
    type(value), value, tb, limit=limit).format(chain=chain))
  File "/usr/lib/python3.7/traceback.py", line 508, in __init__
    capture_locals=capture_locals)
  File "/usr/lib/python3.7/traceback.py", line 363, in extract
    f.line
  File "/usr/lib/python3.7/traceback.py", line 285, in line
    self._line = linecache.getline(self.filename, self.lineno).strip()
  File "/usr/lib/python3.7/linecache.py", line 16, in getline
    lines = getlines(filename, module_globals)
  File "/usr/lib/python3.7/linecache.py", line 47, in getlines
    return updatecache(filename, module_globals)
  File "/usr/lib/python3.7/linecache.py", line 137, in updatecache
    lines = fp.readlines()
  File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 2193: invalid start byte

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Bogeyof »

Es liest sich für mich so, als erhält das Python Skript keine Antwortdatei zurück. Entweder der Server ist gerade nicht erreichbar, der Raspi hat keinen Internetzugriff oder die Stations-ID passt nicht, alles nur Vermutungen...

Edit: Ich habe es gerade getestet und ich erhalte denselben Fehler. Muss ich mir erst mal genauer ansehen, vielleicht hat sich der Zugriff oder die Webadresse geändert...

Maverick
Beiträge: 78
Registriert: So 5. Dez 2021, 09:47
Hat sich bedankt: 16 Mal
Danksagung erhalten: 10 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Maverick »

Bogeyof hat geschrieben:
Mo 9. Mai 2022, 08:47
Es liest sich für mich so, als erhält das Python Skript keine Antwortdatei zurück. Entweder der Server ist gerade nicht erreichbar, der Raspi hat keinen Internetzugriff oder die Stations-ID passt nicht, alles nur Vermutungen...
Ok, dann warte ich mal ab. Rapsi hat Internetzugriff und Stations-ID wurde nicht angefasst. Könnte dann am Server liegen - dann müsstet ihr den Fehler allerdings auch haben.

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Ertragsprognosedaten in Solaranzeige einbinden

Beitrag von Bogeyof »

Siehe mein Edit, Fehler ist ebenfalls vorhanden, seit längerem scheint dies sporadisch aufzutreten.
In der LOG-Datei ist anhand der Start-Stop Einträge für die eigene Prognose manchmal eine Laufzeit von 1-2 Sekunden, manchmal von ca. 30 Sekunden zu erkennen. Daher gehe ich davon aus, dass es auch immer wieder mal funktioniert, ich habe jedenfalls Einträge in der Datenbank für die nächsten 10 Tage, obwohl ich das Verhalten schon mindestens 2 Tage zurück in der LOG-Datei nachweisen kann.

Antworten

Zurück zu „Dokumente, Bauanleitungen und How To's“