76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

300P

Zitat von: TheTrumpeter am 29 Mai 2026, 06:44:31Wie komme ich denn zu diesem "Architekturberater"?

Version V2.6.11 aus dem Contrib und dann die NN-Informationen (grüner Punkt  -  KI-Status rechts) aufrufen ;)


PS:
Sollte aber auch im Standart-FHEM-Update schon drin sein
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

TheTrumpeter

Zitat von: 300P am 29 Mai 2026, 08:36:06ersion V2.6.11 aus dem Contrib und dann die NN-Informationen (grüner Punkt  -  KI-Status rechts) aufrufen ;)
Das ist aber doch nix anderes als "get valDecTree aiNeuralNetConState", wovon ich vorhin den Auszug geteilt habe.
Da steht auch nur "Empfehlung für Bit_Fail: 0.34 (Einstellung von aiControl->aiConBitFailLimit)".

Um 12:00 hat sich der Drift neu kalibiert, sodass dafür nun keine Empfehlung ist, aber ingesamt ist immer noch "retrain", was ohne weitere Parameteränderung bzw. -empfehlung wohl nix bringen wird.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

DS_Starter

ZitatDas ist aber doch nix anderes als "get valDecTree aiNeuralNetConState", wovon ich vorhin den Auszug geteilt habe.
Da steht auch nur "Empfehlung für Bit_Fail: 0.34 (Einstellung von aiControl->aiConBitFailLimit)".
Diese Empfehlungen werden nach dem nächsten Training gesetzt. Einige Kennzahlen werden während des Traininglaufs bewertet.
Wenn das fertig ist, sieht man auch weitere Empfehlungen.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#6288
Hallo miteinander,

nach den diversen Fixes der letzten Wochen geht es nun weiter mit der Weiterentwicklung des neuronalen Netzes
mit dem Ziel der BEV Integration.

Dafür ist das Netz deutlich erweitert und hat ein "Gedächtnis" bekommen bzw. ausgebaut.
Über die sogenannten Lag-Features lernt das Netz:

* den Verbrauch vor 1 Stunde (Trägheit)
* den Verbrauch vor 2 Stunden (Trägheit)
* den Verbrauch gestern zur gleichen Stunde (Tagesmuster)
* den Verbrauch letzte Woche zum gleichen Tag und Stunde (Wochenmuster)

Das Modell erkennt dadurch:

* Gewohnheiten
* Tagesrhythmen
* Wochenrhythmen
* Trends (steigend/fallend)

Es waren bereits Lags eingebaut und wurden nochmal deutlich erweitert.
Das Netz ist nun aber auch empfindlicher bezüglich nicht erkennbarer Zusammenhänge, also wenn das Netz nicht erkennen kann weshalb es einen höheren oder tieferen Verbrauch gibt, denn unsere Haushalte sind stochastisch.
Ein normaler Haushalt ist stochastisch, weil der Verbrauch nicht deterministisch, sondern zufallsgetrieben,
unregelmäßig und nur teilweise vorhersagbar ist.
Unsere Tätigkeiten sind weitgehend unvohersehbar denn es ist nicht bestimmt wann jemand den Föhn einschaltet, den Herd benutzt, gebügelt, die Wama/der Trockner genutzt wird oder jemand duscht und dadurch der WW-Speicher nachgeheizt werden muß.

Das "Rauschen" ist groß und deshalb wurden Lag-Features, Rolling-Features und Volatilitäts-Signale ausgebaut.
Das Bewertungssystem wurde angepasst.

Strukturierte Haushalte, also wo (bestimmende) Verbraucher aus Sicht der KI besser vorhersagbare Energien benötigen wie z.B.
WP und Klimaanlagen (Temperatur und Saison getrieben), Poolheizungen (PV & Saison), BEV (abhängig von Batterieladung, Gewohnheiten)
habe vermutlich einen Vorteil von der aktualisierten Logik.

Kurzum, es befindet sich eine neue Version 2.7.0 im contrib.
Aber ACHTUNG! Diese Version ist erstmal nur geeignet für User die gern etwas mit dem neuronalen Netz experimentieren wollen und
Erfahrung mit den neuen Möglichkeiten und Verhalten sammeln möchten.
Es ist auf jeden Fall ein neues Training nötig und wahrscheinlich/evtl. auch mit unkonventionell veränderten Einstellungen.
Aber die Ergebnisse können sich sehen lassen. Der Retrain-Status bekommt auch keine rote Ampel mehr, denn es ist kein Fehler, sondern
ist einfach nur der Hinweis, dass das System gern einen weiteren Trainingslauf gemacht hätte weil die Zielgüte noch nicht erreicht ist.
Dieser Status hat nun eine blaue Ampel, also mehr "neutral".

Also wer mag, kann sich die nächste Zeit ein wenig mit der Weiterentwicklung beschäftigen. Ich mache erstmal ein bisschen Urlaub, schaue aber sicherlich ab und an mal hier rein. ;)
Später wird auf dieser Version bezüglich BEV Integration aufgebaut.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Moin,

man sollte nicht nur den Text schreiben, sondern das Modul auch in das contrib laden  ;)
Habe ich soeben getan ... war wohl doch zu spät in der Nacht.

LG
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hier meine favorisierten Einstellungen mit dem soeben noch einmal aktualsierten V 2.7.0 im contrib.
Sehr gute Ergebnisse mit viel Dynamik.

LG
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

dieter114

#6291
Hallo Heiko,
ich habe ein Problem mit dem Start von fhem mit SF:
Wenn das System mit SF läuft, aiConActivate=1 eingestellt ist
aber noch nicht genug Daten da sind (die bewussten 84 Tage..)
dann startet fhem noch einem Reboot des RPI nicht mehr!
In der Config aiConActivate=0 ändern und alles läuft wieder.
Ok - gewusst wie. Aber schön ist das nicht, oder habe ich
einen Fehler gemacht indem ich aiConActivate=1 ohne genug Daten eingeschaltet habe?

Nachtrag: noch ne Frage:
Wenn ich ctrlUserExitFn z.B. die vorgeschlagene Funktion eingebe
kommt "Experimental aliasing via reference not enabled at (eval 15379) line 2." ?? Warum?

LG WDS
Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

Soweit ich es kenne gibt es nur eine Warn- bzw. Hinweismeldung und es wird einfach dann automatisch der legacy CON-Forecast genutzt bis das die Tage ,,voll" sind.
Gibts Logeinträge dazu ??


Zum Nachtrag:
Zeig mal den entsprechenden Perl-Code
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

dieter114

Gibt es:
2026.05.31 11:10:00 1: Including ./log/fhem.save
2026.05.31 11:10:00 0: Featurelevel: 6.4
2026.05.31 11:10:00 0: Server started with 353 defined entities (fhem.pl:30992/2026-03-21 perl:5.040001 os:linux user:fhem pid:1640)
2026.05.31 11:10:01 1: Forecast - WARNING - FANN Model 'con' did not return a valid result. New training is required.
2026.05.31 11:10:01 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/76_SolarForecast.pm line 28452.
2026.05.31 11:10:01 1: PERL WARNING: Use of uninitialized value $_ in subtraction (-) at ./FHEM/76_SolarForecast.pm line 28455.
Illegal division by zero at ./FHEM/76_SolarForecast.pm line 27948.
Danach noch einge andere aber bedeutungslose Warnungen und nach 4 Minuten der nächste Neustart
Das geht so ewig weiter.
Kein Zugriff über Webberfläche und auch kein FTUI
LG WDS
Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

dieter114

Zum Nachtrag Perl-Code:
attr Forecast ctrlUserExitFn {\
my $pvfc = ReadingsNum ($name, 'RestOfDayPVforecast', 0);;\
my $cofc = ReadingsNum ($name, 'RestOfDayConsumptionForecast', 0);;\
my $diff = $pvfc - $cofc;;\
storeReading ('userFn_estimated_surplus', $diff);;\
}
LG WDS
Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

Welche SF-Version und von wann nutzt du aktuell denn ?


Ich sehe bei der aktuellen Version 2.6.10
# $Id: 76_SolarForecast.pm 31291 2026-05-25 18:17:23Z DS_Starter $
aus dem offiziellen Update keine Division in der Zeile 27948
27948          0.20 * min (2.0, $slope_penalty)   +                                      # echte Dynamikdrift


und in Zeile 28452 steht:
28452 #  - API-/Sensorfehler
(ein Bemerkung kann keine Fehler erzeugen)

und in Zeile 28455 steht:
28455    ################################################################
(auch hier kann kein Fehler entstehen)
   
Bei der letzten Version aus dem Contrib V2.7.0
# $Id: 76_SolarForecast.pm 31321 2026-05-31 07:37:51Z DS_Starter $
steht dort :

27948     delete @{$data{$name}{neuralnet}{$fanntyp}}{@drift_kpis};
Da ist keine Division sichtbar


und in Zeile 28452 steht:
28452 #    MAE, RMSE, RMSErel, MAPE, MdAPE, Median, AbsErrors-Liste, Fehler‑Bias


und in Zeile 28455 steht:
28455    ###########################################################################

Auch hier kann kein Fehler entstehen
   
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

dieter114

#6296
Ich benutze 2.6.11 aus dem offiziellen Update
Habe soeben nochmal ein Update gemacht - keine Änderung.
Der attr Forecast ctrlUserExitFn Fehler ist noch da.
Den anderen Fehler mit dem Boot werde ich nicht nochmal versuchen....
Grüße WDS

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

Zitat von: dieter114 am 01 Juni 2026, 17:08:50Den anderen Fehler mit dem Boot werde ich nicht nochmal versuchen....

Ja das sieht (V2.6.11 FHEM-Update) danach aus als wenn die nicht evtl. (noch nicht) vorhandenen Driftananalysewerte das verursachen.
Das muss Heiko nach seinem Urlaub dann etwas anpassen.
Lass bitte solange - wie schon von dir gemacht - alles ohne die Nutzung des CON-AI::FANN-Forecast laufen. ;)  O:-)

Zitat von: dieter114 am 01 Juni 2026, 17:08:50Der attr Forecast ctrlUserExitFn Fehler ist noch da.
Hast du die ";;\" im o.g. Code auch im Perl-Code so eingetragen ?

Normal sollten da m.W.n. immer nur 1 x ein ";" am Ende einer Codezeile und kein "\" vorhanden sein.
Dann sollte der Hinweis "Experimental aliasing via reference not enabled at (eval 15379) line 2." verschwinden.  ;)
Es gibt evtl. aber noch einen anderen Grund - aber versuche erst einmal diesen Weg. :o
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.