76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

 :)

ZitatWenn das umsetzbar ist, kannst Du doch bestimmt auch die Tagessummen der einzelnen Verbraucher ermitteln, oder?
Ja, die habe ich.

ZitatDabei würde mich nicht so sehr ein separates Readings interessieren, als viel mehr die Anzeige an den Verbrauchern in der Flußgrafik.
Und dann vielleicht an allen anderen Elementen nach und nach auch die jeweilige Tages-Arbeit zusätzlich zu den jeweiligen Momentanleistungen?

Meinst du, das wäre aufwendig?
Das geht, kostet zwar Zeit, ist aber nicht so dramatisch. Zumindest bei den Consumern lässt sich dieser Wert unterhalb der Verbraucher in der Grafik darstellen, ein/ausblendbar wie ihr das kennt.
Bei den anderen Elementen ist es nicht so gut machbar, allein schon wegen der Übersichtlichkeit und dem Platz in der Grafik, der auch noch dynamisch verwaltet wird.
Ich könnte mir vorstellen, so wie es pah in seiner Grafik gemacht hat, in einer Ecke zum Beispiel die Summe für PV-Erzeugung (mit Symbol) und eine Summe des Hausverbrauchs (mit Symbol). Die Summe für Batterie-In/Out könnten mit an den Batterieknoten passen und die Summen Grid-In/Out an das Gridsymbol. 

Nur mal als erster Gedankengang.

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

peterboeckmann

Zitat von: DS_Starter am 04 Juni 2025, 11:08:27Nur mal als erster Gedankengang.
Das klingt doch schon mal sehr gut.

Am wichtigsten wäre mir persönlich das auch bei den Verbrauchern, dem "Rest"-Verbrauch und dem Gesamtverbrauch am Haus.

Optimal wäre es dann, auch die jeweilige Einheit (W, Wh) mit anzuzeigen.

Viele Grüße,
Peter

DS_Starter

ZitatOptimal wäre es dann, auch die jeweilige Einheit (W, Wh) mit anzuzeigen.
Das müsste ich dann sowieso vorsehen. Wenn der Umfang zunimmt, reicht es nicht (schon vom Platz her) immer nur W / Wh anzuzeigen wie momentan.
Die Zahlen werden dann u.U. einfach zu lang. Aber auch die Einheiten (kWh) brauchen Platz der verloren geht.
Naja, das muß im Kopf entwickelt werden, braucht Zeit.

Jetzt lege ich ohnehin erstmal eine kleine Pause ein, da habt ihr auch Ruhe.  ;) 
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

peterboeckmann

Zitat von: DS_Starter am 04 Juni 2025, 14:01:08Jetzt lege ich ohnehin erstmal eine kleine Pause ein, da habt ihr auch Ruhe.  ;) 

Pausen sind wichtig. Gute Erholung!


Max_Meyer

Zitat von: DS_Starter am 04 Juni 2025, 08:22:13todayNotOwnerConsumption    der Energieverbrauch am aktuellen Tag, der den registrierten Verbrauchern nicht zugeordnet werden konnte

Kannst mal probieren
Hallo Heiko,
vielen Dank!
das sieht super aus!
Gruß Gerd

DS_Starter

@all,

die Version 1.52.11 ist eingecheckt. Hier die summarische Zusammenstellung, was in den Versionen 1.52.7 - 1.52.11 alles enthalten ist:

- das exclude/include bzgl. Verbrauchern mit exconfc in Abhängigkeit der gesetzten Parameter
  plantControl->consForecastIdentWeekdays / plantControl->consForecastLastDays ist verbessert.
 
- optimierende Anpassung bzgl. der Verbrauchsprognose bei Verwendung von
  plantControl->consForecastIdentWeekdays und plantControl->consForecastLastDays
 
- neuer Key in ctrlBatSocManagementXX -> [loadAbort=<SoC>:<PowerIn>] zur Definition einer generellen Ladeabbruch-Bedingung

- Optimierung AllPVforecastsToEvent-Events für SVG Plot-Type 'fsteps' -> plantControl->genPVforecastsToEvent:adapt4fSteps

- ctrlSpecialReadings : neue Option todayNotOwnerConsumption - der Energieverbrauch am aktuellen Tag, der den registrierten
  Verbrauchern nicht zugeordnet werden konnte

 
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

bismosa

Moin!
Seit gestern füllt sich meine Log-Datei. Mit Meldungen wie diese:
2025.06.04 16:57:57 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 2796.
2025.06.04 16:57:57 1: stacktrace:
2025.06.04 16:57:57 1:    main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (2796)
2025.06.04 16:57:57 1:    main::FW_makeImage                  called by ./FHEM/76_SolarForecast.pm (14641)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_graphicHeader called by ./FHEM/76_SolarForecast.pm (14198)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::entryGraphic  called by ./FHEM/76_SolarForecast.pm (14073)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::FwFn          called by ./FHEM/01_FHEMWEB.pm (3471)
2025.06.04 16:57:57 1:    main::FW_devState                  called by ./FHEM/01_FHEMWEB.pm (3258)
2025.06.04 16:57:57 1:    main::FW_Notify                    called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (3900)
2025.06.04 16:57:57 1:    main::DoTrigger                    called by fhem.pl (5017)
2025.06.04 16:57:57 1:    main::readingsEndUpdate            called by fhem.pl (5200)
2025.06.04 16:57:57 1:    main::readingsSingleUpdate          called by ./FHEM/76_SolarForecast.pm (20997)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::singleUpdateState called by ./FHEM/76_SolarForecast.pm (8150)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::writeCacheToFile called by ./FHEM/76_SolarForecast.pm (12506)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::___switchConsumerOn called by ./FHEM/76_SolarForecast.pm (12384)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::__switchConsumer called by ./FHEM/76_SolarForecast.pm (11437)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_manageConsumerData called by ./FHEM/76_SolarForecast.pm (8534)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::centralTask    called by ./FHEM/76_SolarForecast.pm (8255)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::runTask        called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (855)
2025.06.04 16:57:57 1: PERL WARNING: Use of uninitialized value $name in substitution (s///) at ./FHEM/01_FHEMWEB.pm line 3033.
2025.06.04 16:57:57 1: stacktrace:
2025.06.04 16:57:57 1:    main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (3033)
2025.06.04 16:57:57 1:    main::FW_iconPath                  called by ./FHEM/01_FHEMWEB.pm (2800)
2025.06.04 16:57:57 1:    main::FW_makeImage                  called by ./FHEM/76_SolarForecast.pm (14641)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_graphicHeader called by ./FHEM/76_SolarForecast.pm (14198)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::entryGraphic  called by ./FHEM/76_SolarForecast.pm (14073)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::FwFn          called by ./FHEM/01_FHEMWEB.pm (3471)
2025.06.04 16:57:57 1:    main::FW_devState                  called by ./FHEM/01_FHEMWEB.pm (3258)
2025.06.04 16:57:57 1:    main::FW_Notify                    called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (3900)
2025.06.04 16:57:57 1:    main::DoTrigger                    called by fhem.pl (5017)
2025.06.04 16:57:57 1:    main::readingsEndUpdate            called by fhem.pl (5200)
2025.06.04 16:57:57 1:    main::readingsSingleUpdate          called by ./FHEM/76_SolarForecast.pm (20997)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::singleUpdateState called by ./FHEM/76_SolarForecast.pm (8150)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::writeCacheToFile called by ./FHEM/76_SolarForecast.pm (12506)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::___switchConsumerOn called by ./FHEM/76_SolarForecast.pm (12384)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::__switchConsumer called by ./FHEM/76_SolarForecast.pm (11437)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_manageConsumerData called by ./FHEM/76_SolarForecast.pm (8534)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::centralTask    called by ./FHEM/76_SolarForecast.pm (8255)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::runTask        called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (855)
2025.06.04 16:57:57 1: PERL WARNING: Use of uninitialized value $name in hash element at ./FHEM/01_FHEMWEB.pm line 3036.
2025.06.04 16:57:57 1: stacktrace:
2025.06.04 16:57:57 1:    main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (3036)
2025.06.04 16:57:57 1:    main::FW_iconPath                  called by ./FHEM/01_FHEMWEB.pm (2800)
2025.06.04 16:57:57 1:    main::FW_makeImage                  called by ./FHEM/76_SolarForecast.pm (14641)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_graphicHeader called by ./FHEM/76_SolarForecast.pm (14198)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::entryGraphic  called by ./FHEM/76_SolarForecast.pm (14073)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::FwFn          called by ./FHEM/01_FHEMWEB.pm (3471)
2025.06.04 16:57:57 1:    main::FW_devState                  called by ./FHEM/01_FHEMWEB.pm (3258)
2025.06.04 16:57:57 1:    main::FW_Notify                    called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (3900)
2025.06.04 16:57:57 1:    main::DoTrigger                    called by fhem.pl (5017)
2025.06.04 16:57:57 1:    main::readingsEndUpdate            called by fhem.pl (5200)
2025.06.04 16:57:57 1:    main::readingsSingleUpdate          called by ./FHEM/76_SolarForecast.pm (20997)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::singleUpdateState called by ./FHEM/76_SolarForecast.pm (8150)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::writeCacheToFile called by ./FHEM/76_SolarForecast.pm (12506)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::___switchConsumerOn called by ./FHEM/76_SolarForecast.pm (12384)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::__switchConsumer called by ./FHEM/76_SolarForecast.pm (11437)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_manageConsumerData called by ./FHEM/76_SolarForecast.pm (8534)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::centralTask    called by ./FHEM/76_SolarForecast.pm (8255)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::runTask        called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (855)
...
2025.06.04 16:57:57 1: PERL WARNING: Use of uninitialized value $img in concatenation (.) or string at ./FHEM/76_SolarForecast.pm line 14642.
2025.06.04 16:57:57 1: stacktrace:
2025.06.04 16:57:57 1:    main::__ANON__                      called by ./FHEM/76_SolarForecast.pm (14642)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_graphicHeader called by ./FHEM/76_SolarForecast.pm (14198)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::entryGraphic  called by ./FHEM/76_SolarForecast.pm (14073)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::FwFn          called by ./FHEM/01_FHEMWEB.pm (3471)
2025.06.04 16:57:57 1:    main::FW_devState                  called by ./FHEM/01_FHEMWEB.pm (3258)
2025.06.04 16:57:57 1:    main::FW_Notify                    called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (3900)
2025.06.04 16:57:57 1:    main::DoTrigger                    called by fhem.pl (5017)
2025.06.04 16:57:57 1:    main::readingsEndUpdate            called by fhem.pl (5200)
2025.06.04 16:57:57 1:    main::readingsSingleUpdate          called by ./FHEM/76_SolarForecast.pm (20997)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::singleUpdateState called by ./FHEM/76_SolarForecast.pm (8150)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::writeCacheToFile called by ./FHEM/76_SolarForecast.pm (12506)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::___switchConsumerOn called by ./FHEM/76_SolarForecast.pm (12384)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::__switchConsumer called by ./FHEM/76_SolarForecast.pm (11437)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::_manageConsumerData called by ./FHEM/76_SolarForecast.pm (8534)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::centralTask    called by ./FHEM/76_SolarForecast.pm (8255)
2025.06.04 16:57:57 1:    FHEM::SolarForecast::runTask        called by fhem.pl (3983)
2025.06.04 16:57:57 1:    main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2025.06.04 16:57:57 1:    main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2025.06.04 16:57:57 1:    main::__ANON__                      called by fhem.pl (855)
2025.06.04 16:57:57 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 2796.
2025.06.04 16:57:57 1: stacktrace:
Geändert hatte ich zu dem Zeitpunkt nichts. Habe gestern Abend dann aber mal ein Update von FHEM gemacht. Die Fehler kommen weiterhin.
Liegt es an dem Modul? Oder läuft hier eher etwas anderes Amok? Die Meldungen kommen derzeit jede Minute...

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

DS_Starter

#3112
Moin,

das ist meine Schuld. Ich hatte eine fehlerfafte Mitteilung an das Mitteilungssystem gesendet.
Du dürftest auch kein Mail-Icon in der grafischen Oberfläche sehen.

Ich habe soeben die Mitteilung neu versendet und dürfte sich in den nächsten 2 Stunden geben. Wenn du es eilig hast, kannst du auch restarten. Dann wird die korrigierte Mitteilung kurzfristig geholt.

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

bismosa

Hallo!

Danke für die sehr schnelle Behebung des Problems! Hat sich jetzt gerade beruhigt und es wird auch eine Mitteilung angezeigt.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Wolle02

Zitat von: DS_Starter am 30 Mai 2025, 23:23:34@Wolle02,

in meinem contrib liegt die V 1.52.7.
Das exclude/include bzgl. Verbrauchern mit exconfc in Abhängigkeit der gesetzten Parameter plantControl->consForecastIdentWeekdays / plantControl->consForecastLastDays ist verbessert.

Lade dir bitte die V in dein System und restarte FHEM.

Danach kannst du experimentieren ob deine Verbrauchvorhersage mit oder ohne die Parameter plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=4 bessere Ergebnisse bringt.

Andere User können die V in diesem Kontext natürlich auch gern mal testen.

LG,
Heiko

Hallo Heiko, ich wollte dir noch eine Rückmeldung zur Version 1.52.7 bzw. 8 geben, die ich aktuell bei mir aufgrund deiner Bemühungen laufen habe (Vielen Dank an der Stelle). Die Rückmeldung hat sich etwas verzögert, weil ich noch einen Fehler in meiner Config gefunden habe.

Im Wesentlichen hat sich die Darstellung bei mir bislang nicht großartig geändert. Ich hatte einen Fehler in der BatConfig (Wh und kWh) was dazu führte, dass bei BatOut immer 0 W eingetragen war. Das hat sich zwar zwischenzeitlich geändert, aber scheinbar ist das Reading BatOut nicht für die Verbrauchsberechnung verantwortlich, so dass sich an der Batterie SoC Prognose für die Nachtzeit nicht wirklich was ändert.

Aus der pvHistory sehe ich, dass sich die Verbrausprognose (confc) Nachts immer so um einen Wert zwischen 30 - 100 Watt bewegt, während der reale Verbrauch (con) sich immer dauerhaft zwischen 350 - 500 Watt bewegt; sollte sich das lernende System hier nicht anpassen?
Deine Vorschläge bezüglich plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=4 habe ich umgesetzt.

Muss ich der ganzen Sache einfach noch mehr Zeit geben oder könnten sich im System irgendwelche falschen Wert "festgesetzt" haben, so dass ein Reset der pvHistory und ein kompletter Neustart des Lernprozesses besser wäre?

05 => 01 => pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: 0
            etotali01: 370300.200000142, etotali02: 1242341.80334037, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 0, pvrl03: 0, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 83, con: 483, gcons: 23, conprice: -
            gfeedin: 0, feedprice: -
            DoN: 0, sunaz: 348, sunalt: -18
            batintotal01: 256380.4, batintotal02: -, batintotal03: -
            batouttotal01: 237585.8, batouttotal02: -, batouttotal03: -
            batprogsoc01: 18.3, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 1874
            batsoc01: 19.2, batsoc02: -, batsoc03: -, socwhsum: 1966
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 460, batout02: -, batout03: -
            weatherid: 151, wcc: 99, rr1c: 0.30, pvcorrf: 1.00/- temp: 14.90,
            csmt01: 27784.058, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13871.918, csme04: 15.7240000000002, minutescsm04: 17
            csmt05: 21663.434, csme05: 1.27200000000084, minutescsm05: 60
            csmt06: 47917.312, csme06: 114.691999999995, minutescsm06: 60
            csmt07: 4150.885, minutescsm07: 0
            csmt08: 536.004, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      02 => pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: 0
            etotali01: 370300.200000142, etotali02: 1242342.35889872, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 0, pvrl03: 0, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 105, con: 351, gcons: 4, conprice: -
            gfeedin: 0, feedprice: -
            DoN: 0, sunaz: 2, sunalt: -18
            batintotal01: 256380.5, batintotal02: -, batintotal03: -
            batouttotal01: 238045.9, batouttotal02: -, batouttotal03: -
            batprogsoc01: 14.3, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 1460
            batsoc01: 15.4, batsoc02: -, batsoc03: -, socwhsum: 1577
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 347, batout02: -, batout03: -
            weatherid: 151, wcc: 99, rr1c: 0.30, pvcorrf: 1.00/- temp: 14.90,
            csmt01: 27784.058, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13871.918, csme04: 0, minutescsm04: 0
            csmt05: 21664.917, csme05: 1.48300000000017, minutescsm05: 60
            csmt06: 48030.967, csme06: 113.654999999999, minutescsm06: 60
            csmt07: 4151.459, minutescsm07: 0
            csmt08: 536.679, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      03 => pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: 0
            etotali01: 370300.200000142, etotali02: 1242342.77264751, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 0, pvrl03: 0, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 84, con: 411, gcons: 4, conprice: -
            gfeedin: 1, feedprice: -
            DoN: 0, sunaz: 16, sunalt: -17
            batintotal01: 256380.5, batintotal02: -, batintotal03: -
            batouttotal01: 238393.8, batouttotal02: -, batouttotal03: -
            batprogsoc01: 10.4, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 1064
            batsoc01: 11.3, batsoc02: -, batsoc03: -, socwhsum: 1157
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 408, batout02: -, batout03: -
            weatherid: 103, wcc: 98, rr1c: 0.00, pvcorrf: 1.00/- temp: 14.20,
            csmt01: 27784.058, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13871.918, csme04: 0, minutescsm04: 0
            csmt05: 21666.4, csme05: 1.48300000000017, minutescsm05: 60
            csmt06: 48146.433, csme06: 115.466, minutescsm06: 60
            csmt07: 4152.06, minutescsm07: 0
            csmt08: 537.376, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      04 => pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: 0
            etotali01: 370300.300000142, etotali02: 1242343.256308, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 0, pvrl03: 0, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 95, con: 351, gcons: 4, conprice: -
            gfeedin: 0, feedprice: -
            DoN: 0, sunaz: 30, sunalt: -13
            batintotal01: 256380.5, batintotal02: -, batintotal03: -
            batouttotal01: 238802.5, batouttotal02: -, batouttotal03: -
            batprogsoc01: 7.9, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 805
            batsoc01: 8.9, batsoc02: -, batsoc03: -, socwhsum: 911
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 347, batout02: -, batout03: -
            weatherid: 103, wcc: 80, rr1c: 0.00, pvcorrf: 1.00/- temp: 13.60,
            csmt01: 27785.122, csme01: 1.06399999999849, minutescsm01: 15
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13872.128, csme04: 0.210000000000946, minutescsm04: 0
            csmt05: 21667.883, csme05: 1.48300000000017, minutescsm05: 60
            csmt06: 48260.235, csme06: 113.802000000003, minutescsm06: 60
            csmt07: 4152.661, minutescsm07: 0
            csmt08: 538.074, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      05 => pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: 0
            etotali01: 370300.300000142, etotali02: 1242343.72419747, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 0, pvrl03: 0, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 90, con: 398, gcons: 6, conprice: -
            gfeedin: 3, feedprice: -
            DoN: 0, sunaz: 43, sunalt: -7
            batintotal01: 256380.5, batintotal02: -, batintotal03: -
            batouttotal01: 239150.2, batouttotal02: -, batouttotal03: -
            batprogsoc01: 6.8, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 699
            batsoc01: 7.8, batsoc02: -, batsoc03: -, socwhsum: 799
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 395, batout02: -, batout03: -
            weatherid: 102, wcc: 75, rr1c: 0.00, pvcorrf: 1.00/- temp: 12.80,
            csmt01: 27785.122, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13872.128, csme04: 0, minutescsm04: 0
            csmt05: 21669.366, csme05: 1.48300000000017, minutescsm05: 60
            csmt06: 48374.234, csme06: 113.998999999996, minutescsm06: 60
            csmt07: 4153.252, minutescsm07: 0
            csmt08: 538.764, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      06 => pvfc: 50, pvrl: 40, pvrlvd: 1, rad1h: 50
            etotali01: 370300.400000142, etotali02: 1242344.36697567, etotali03: 3261930.04500005, etotali04: -
            pvrl01: 0, pvrl02: 39, pvrl03: 1, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 31, con: 420, gcons: 111, conprice: -
            gfeedin: 1, feedprice: -
            DoN: 0, sunaz: 55, sunalt: 1
            batintotal01: 256381.3, batintotal02: -, batintotal03: -
            batouttotal01: 239545.6, batouttotal02: -, batouttotal03: -
            batprogsoc01: 7.2, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 734
            batsoc01: 7.0, batsoc02: -, batsoc03: -, socwhsum: 717
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 0, batin02: -, batin03: -
            batout01: 270, batout02: -, batout03: -
            weatherid: 102, wcc: 69, rr1c: 0.00, pvcorrf: 0.42/0.00 temp: 12.40,
            csmt01: 27785.122, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13872.128, csme04: 0, minutescsm04: 0
            csmt05: 21670.85, csme05: 1.48399999999674, minutescsm05: 60
            csmt06: 48486.675, csme06: 112.441000000006, minutescsm06: 60
            csmt07: 4153.846, minutescsm07: 0
            csmt08: 539.462, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      07 => pvfc: 410, pvrl: 513, pvrlvd: 1, rad1h: 250
            etotali01: 370300.400000142, etotali02: 1242384.28681575, etotali03: 3261931.57400005, etotali04: -
            pvrl01: 6, pvrl02: 465, pvrl03: 42, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 313, con: 525, gcons: 100, conprice: -
            gfeedin: 0, feedprice: -
            DoN: 1, sunaz: 66, sunalt: 9
            batintotal01: 256381.3, batintotal02: -, batintotal03: -
            batouttotal01: 239815.9, batouttotal02: -, batouttotal03: -
            batprogsoc01: 10.0, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 1019
            batsoc01: 9.1, batsoc02: -, batsoc03: -, socwhsum: 932
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 88, batin02: -, batin03: -
            batout01: 0, batout02: -, batout03: -
            weatherid: 2, wcc: 78, rr1c: 0.00, pvcorrf: 0.66/0.49 temp: 12.80,
            csmt01: 27785.122, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13872.337, csme04: 0.208999999998923, minutescsm04: 0
            csmt05: 21672.333, csme05: 1.48300000000017, minutescsm05: 60
            csmt06: 48598.948, csme06: 112.272999999994, minutescsm06: 60
            csmt07: 4154.451, minutescsm07: 0
            csmt08: 540.159, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      08 => pvfc: 1342, pvrl: 669, pvrlvd: 1, rad1h: 620
            etotali01: 370307.300000141, etotali02: 1242850.24389666, etotali03: 3261974.49800005, etotali04: -
            pvrl01: 16, pvrl02: 591, pvrl03: 62, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 209, con: 486, gcons: 5, conprice: -
            gfeedin: 1, feedprice: -
            DoN: 1, sunaz: 76, sunalt: 18
            batintotal01: 256470, batintotal02: -, batintotal03: -
            batouttotal01: 239816.1, batouttotal02: -, batouttotal03: -
            batprogsoc01: 21.1, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 2157
            batsoc01: 11.1, batsoc02: -, batsoc03: -, socwhsum: 1137
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 207, batin02: -, batin03: -
            batout01: 20, batout02: -, batout03: -
            weatherid: 3, wcc: 88, rr1c: 0.00, pvcorrf: 0.96/0.95 temp: 13.60,
            csmt01: 27785.122, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27735.664, csme03: 0, minutescsm03: 0
            csmt04: 13872.337, csme04: 0, minutescsm04: 0
            csmt05: 21673.392, csme05: 1.05900000000111, minutescsm05: 42
            csmt06: 48713.541, csme06: 114.593000000001, minutescsm06: 60
            csmt07: 4155.035, minutescsm07: 0
            csmt08: 540.845, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0
           
      09 => pvfc: 2164, pvrl: 1111, pvrlvd: 1, rad1h: 1060
            etotali01: 370323.80000014, etotali02: 1243441.5859535, etotali03: 3262036.81400005, etotali04: -
            pvrl01: 35, pvrl02: 972, pvrl03: 104, pvrl04: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            confc: 1292, con: 825, gcons: 5, conprice: -
            gfeedin: 2, feedprice: -
            DoN: 1, sunaz: 87, sunalt: 28
            batintotal01: 256677, batintotal02: -, batintotal03: -
            batouttotal01: 239836.9, batouttotal02: -, batouttotal03: -
            batprogsoc01: 22.8, batprogsoc02: -, batprogsoc03: -, socprogwhsum: 2331
            batsoc01: 15.1, batsoc02: -, batsoc03: -, socwhsum: 1546
            lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
            batin01: 268, batin02: -, batin03: -
            batout01: 1, batout02: -, batout03: -
            weatherid: 2, wcc: 52, rr1c: 0.00, pvcorrf: 1.00/- temp: 14.60,
            csmt01: 27785.122, csme01: 0, minutescsm01: 0
            csmt02: 1920946.04, csme02: 0, minutescsm02: 0
            csmt03: 27814.261, csme03: 78.5969999999979, minutescsm03: 16
            csmt04: 13872.337, csme04: 0, minutescsm04: 0
            csmt05: 21673.392, csme05: 0, minutescsm05: 0
            csmt06: 48828.8, csme06: 115.259000000005, minutescsm06: 60
            csmt07: 4155.648, minutescsm07: 0
            csmt08: 541.554, minutescsm08: 0
            csmt09: 15583.828, minutescsm09: 0

DS_Starter

Hallo Wolle02,

ZitatAus der pvHistory sehe ich, dass sich die Verbrausprognose (confc) Nachts immer so um einen Wert zwischen 30 - 100 Watt bewegt, während der reale Verbrauch (con) sich immer dauerhaft zwischen 350 - 500 Watt bewegt; sollte sich das lernende System hier nicht anpassen?
Deine Vorschläge bezüglich plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=4 habe ich umgesetzt.
Ja, das passiert auch. Aber das ist ein langsamer Prozess. Lernen ist aktuell der falsche Ausdruck, es gibt noch keine KI beim Verbrauch im Spiel. Aber es werden die historischen Werte über statistische Methoden (Median bei größerem Blick in die Vergangenheit) ausgewertet.
Löschen würde ich nicht wegen dieser Thematik, die History erneuert sich mit jeden Tag. Nach spätestens 31 Tagen ist sie komplett mit aktualisierten Werten ersetzt. 

Aber mit der aktuellen Version kannst du gern mal etwas spielen, z.B.:

 plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=4   oder
 plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=2   oder
 plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=8   oder
 plantControl->consForecastIdentWeekdays=0 / plantControl->consForecastLastDays=40  oder
 plantControl->consForecastIdentWeekdays=0 / plantControl->consForecastLastDays=80  ....

Versuche so einen für dein System passenden Modus zu finden.

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

Parallix

Zitat von: DS_Starter am 03 Juni 2025, 00:25:44@all,

ich habe den Request von Parallix aus #3067 umgesetzt, im contrib liegt die V 1.52.9.

Dazu gibt es einen neuen Key in ctrlBatSocManagementXX -> [loadAbort=<SoC>:<PowerIn>]

loadAbort     Bedingung für einen generellen Ladeabbruch. Die Bedingung ist erfüllt, wenn der angegebene
    SoC (%) erreicht bzw. überschritten ist UND die angegebene Ladeleistung (W)
    unterschritten wurde -> Reading Battery_ChargeAbort_XX = 1.
    Fällt der aktuelle SoC wieder unter den angegebenen SoC, wird Battery_ChargeAbort_XX = 0

Zur Signalisierung der Abbruch-Condition habe ich das Reading Battery_ChargeAbort_XX eingeführt, welches man in den Steuerungsroutinen für die Batterie auswerten kann.
@Parallix, vllt. kannst du es mal testen ob die Logik deinen Request abbildet.

Grüße,
Heiko

Danke Dir Heiko! das neue Reading kann ich nun heranziehen, um aktiv zu werden, wenn die potenziell kritische Situation eintritt. Konkret prüfe ich dann (wenn Battery_ChargeAbort_XX == 1), ob es in der betreffenden BAT eine Zelle gibt, die sich anschickt, nach oben zu schießen. Ist dies der Fall, unterbreche ich die Ladung.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

stefanru

Hi Heiko,

ich habe ein Anzeige Problem seit dem letzten Update.
Für mein Tablet UI scheint der Header etwas breit geworden zu sein.
Ich war jetzt einige Zeit weg und habe eventuell etwas überlesen.

Im Anhang mal ein Screenshot was ich meine.
Ich denke bei Autokorrektur ist es länger geworden.

Danke und Gruß,
Stefan


DS_Starter

Hi Stefan,

das kommt sicherlich durch "Start in xx h". Dieser Zusatz kommt nur bei Änderung des setupInverterDevXX. Ist aber nicht neu und verschwindet nach Ablauf der Wartezeit.

Ich mache gerade eine "kreative Pause". 😉

Grüße,
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

stefanru

Danke Heiko,

ja das setupInverterDevXX wurde durch das Update angefasst.
Die Meldung "Start in xx h" ist nun verschwunden und es passt alles wieder ;-)
Danke und viel Erholung in der kreativen Pause.