du hast recht, die Variablen waren falsch benannt - sorry. (ist korrigiert)
Also nochmals zu Verständnis aller:
beim Parameter: $PV_CURRENT wir eine Variable erwartet, die die aktuelleLeistung der PV angibt. Diese sollte Logging aktiviert haben.
Dahinter verbirgt sich die Logik:
Das Neuronale Netz wird trainiert mit:
→ der Globalstrahlung in der letzten Stunde
→ Dem gemittelten Sonnenstand der letzten Stunde
----> Erwaret wird vom Neuronalen Netz, dass der Output, also dem Ertrag der letzten Stunde, entspricht. (über den Archivhandler der Variable $PV_CURRENT wird die gemittelte (AVG) Leistung der Anlage in der letzten Stunde ausgelesen).
Wenn das Netz gut trainiert ist, wird erwaret, dass durch Input von Sonnenstand + Globalstrahlung der korrekte Ertrag berechnet wird.
hoffe, das ist jetzt einigermaßen logisch erklärt.
Wenn ich das jetzt richtig verstehe, wird nur mit den Werten der letzten vergangenen Stunde gerechnet.
Ich hatte mich schon gewundert, wie du Prognosedaten, also Daten aus der Zukunft in das Archiv schreiben kannst.
Das heißt doch aber auch, das der gelernte Wert nur so gut ist, wie die Abweichung eine Stunde aus der Vergangenheit ist zwischen erzeugtem Ertrag und dem berechneten Ertrag aus der Globalstrahlung der letzten Stunde?
Ich dachte, du kannst schon einen Tag im voraus genaue Werte liefern, weil die Abweichung aus dem Vortag mit dem aktuellen verglichen wird?
Na z.B. so …
/* ### Einstellungen ########################################### */
$PV_MAX = 8000; // Watt Peak der PV Anlage
$PV_CURRENT = 39680; // Variable mit aktueller Leistung der PV Anlage - sollte moeglichst realtime sein.
$PV_LAT = 48.024873309; // Breitengrad der Anlage
$PV_LON = 8.929772606; // Laengengrad der Anlage
$FC_STATION = 10818; // Stationsid der DWD Vorhersage https://wettwarn.de/mosmix/mosmix.html
$ID_ARCHIVE = 26472;// ID des Archive Handlers
$GSMAX = 1800; // Maximale Globalstrahlung
$NN_NAME = "pv_garage"; // Name für neuronales Netz (=Dateiname für Persistenz), kann frei geaendert werden.keine sonderzeichen
$FC_VARIABLE = true; // Erzeuge Variable fuer forecast in Watt fuer heute und morgen
$FC_COMPARE = true; //true wenn PV-Forecast in Variable gespeichert werden sollen fuer spaeteren Vergleich (SOLL /IST)
$FC_CHART = true; // Generiere Vorhersagechart fr den aktuellen Tag und Morgen
$NN_TRAIN = 1; // 1 = trainieren aktiv, 0 kein Training mehr, -1 Training löschen
$NN_TRAIN_MAX = 365; // Anzahl der Tage für Training // Achtun CPU Bedarf steigt!
/* #### weitere CONFIG Daten (intern) ################################### */
Den Stationscode müsstest du vermutlich eher als String verarbeiten, da dieser an einigen Stationen auch Buchstaben enthält.
hilf mir mal mit dem markdown - bei mir zeigt er im editor der foren-softare nur das code symbol an.
wie krieg ich syntax highlightning für code in dieser foren software? - bin ich zu doof?
nicht ganz:
Das script legt ja variablen an PV Forecast und PV Wirkleistung und aktiviert bei beiden das Logging.
Dort wird quasi der Durschnittsertrag und die Globalstrahlung der letzten Stunde weggespeichert.
Zum lernen werden diese Historien-Daten hergenommen - nicht nur die letzte Stunde - das würde nix werden - Das Netz braucht ja schon die verschiedenen Parameter Strahlung, Sonnenstand und Ertrag um überhaupt Vorhersagen treffen zu können - und das zu unterschiedlichen Zeiten / Ständen.
Dann lass das Skript mal 2-3 Tage laufen und berichte gerne mal, wie die KI reagiert
Es gibt noch zwei HTML String Variablen unter dem Script, die du ins Webfront verlinken kannst.
Und vielleicht das aktuelle Script aus obigem Post verwenden. Hatte noch 2 bugs eliminiert.
Passt startet um 00:10 jede Stunde 10 nach.
Da schaut das Script wie der Ertrag letzte Stunde war und speichert die Daten weg. Außerdem wird noch diverses aktualisiert
ich wollte das Skript auch mal testen und berichten …
Woher komme ich den nachfolgenden Wert ?
Habe ihn erstmal bei 1800 belassen.
Ansonsten bekomme ich folgende Fehlermeldung:
Warning: Use of undefined constant P425 - assumed 'P425' (this will throw an Error in a future version of PHP) in /var/lib/symcon/scripts/22941.ips.php on line 34
Warning: A non-numeric value encountered in /var/lib/symcon/scripts/22941.ips.php on line 214
Noch zu wenig Trainingsdaten.
Das müsste der Fehler sein, der bereits angesprochen wurde, da es Stationen gibt die Buchstaben enthalten und daher als STRING zu behandeln wären.
Fliesen die Änderungen bzw. Korrekturen hier im Thread in das erste gepostet Skript mit ein ?
Oder wird es versioniert und immer wieder neu gepostet ?