76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

seayak

Zitat von: denis.robel am 17 März 2026, 22:36:18Ich muss mir jetzt noch den Shelly pro 3EM , den ich als Smartmeter eingebunden habe, etwas genauer anschauen. Irgendwie scheinen mir die Werte für das Teil noch etwas komisch.

Die Werte für die aktuelle Leistung, die aus dem Netz bezogen wird bzw. an das Netz abgegeben wird, sind immer gleich groß ( zu jeder Zeit).


Hi Denis,

wende Dich am besten zu diesem Sachverhalt an die Experten hier im entsprechenden Shelly Unterforum.

Viele Grüße und weiterhin viel Erfolg!

Peter

DS_Starter

Hallo Peter (peterboeckmann),

außer in der PV History befinden sich relevante Daten in pvCircular. Hier interessant die Stunde 13 des Tages (12:00 - 13:00)

"get ... pvCircular 13"

dann den Punkt con_all suchen. als Beispiel:

      con_all => So  @ 1289 926 669 1063 608 574 1120 1415 1655 720 889 664 1686 2189 1601 819 562 1387 533 537
                 So  @ 885 3638 2201 554 771 1027 435 1149 597 913
                 Mi  @ 703 1005 1252 684 798 926 539 1184 629 1538 1017 687 1129 553 1437 1027 948 905 885 574
                 Mi  @ 981 742 734 757 1315 735 747 519 884 919
                 Mo  @ 1142 1365 1066 674 511 756 1199 4730 769 1716 1359 971 1044 630 550 799 1556 1385 523 1674
                 Mo  @ 618 1417 1086 474 2243 1904 774 708 1006 865
                 Sa  @ 834 1659 1083 677 528 713 1992 769 1334 1821 692 911 1781 711 765 462 1157 1157 773 730
                 Sa  @ 1409 669 1670 643 537 989 506 838 560 1271
                 Fr  @ 3002 1295 1131 1404 912 540 692 1000 1375 672 748 587 703 1116 622 849 881 692 709 8904
                 Fr  @ 657 1064 782 1238 746 746 693 564 720 1028
                 Di  @ 843 1226 1523 742 1010 474 672 836 942 748 3196 1913 909 849 1840 663 1346 689 807 546
                 Di  @ 1049 873 915 459 1361 1154 511 738 821 1133
                 Do  @ 642 491 1011 1202 628 689 480 735 731 653 727 840 1609 637 815 2266 1244 777 1736 535
                 Do  @ 1287 733 743 697 901 1030 809 549 830 673

Findest du dort einen absurd hohen Wert?
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

Hallo Heiko,

Zitat von: DS_Starter am 18 März 2026, 12:39:01Findest du dort einen absurd hohen Wert?

Ja, da finde ich einen 19Mio-Wert in der achten Zeile:
      con_all => Di  @ 4784 2369 791 755 773 748 604 694 894 867 823 672 1113 923 702 720 892 746 806 910
                 Di  @ 1191 757 761 2626 1079 1123
                 Mo  @ 1753 653 2807 673 691 753 909 1567 643 840 171 989 1505 1058 686 631 630 780 780 1451
                 Mo  @ 665 739 695 569 1691 720
                 Do  @ 2100 1737 562 1023 698 653 786 761 778 1104 611 724 1169 704 863 780 863 1787 912 806
                 Do  @ 1414 736 752 914 971
                 Mi  @ 1919 3515 935 737 852 726 1663 712 923 888 675 697 848 768 887 767 831 3066 745 1110
                 Mi  @ 1372 708 567 1111 19213616
                 Fr  @ 3709 715 848 841 900 2690 765 739 639 642 1139 1082 716 680 686 735 1533 1229 750 755
                 Fr  @ 6946 1233 840 1195 982
                 Sa  @ 2961 748 703 1889 1181 1173 814 1441 611 709 940 810 660 1248 937 610 950 1170 880 757
                 Sa  @ 701 822 1339 2190 901
                 So  @ 1796 778 684 3403 880 1292 945 734 802 783 632 613 693 2484 712 1137 1287 1172 767 704
                 So  @ 1502 1249 541 1891 1595

DS_Starter

Ja, und weil heute Mittwoch ist und der Wert als letzter im Array vom Mittwoch letzter Woche ist, spielt der mit rein.
Jezt kommt es darauf an, wie du plantControl->consForecastIdentWeekdays und plantControl->consForecastLastDays gesetzt hast.

Wie sind die gesetzt?

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 18 März 2026, 13:04:42Jezt kommt es darauf an, wie du plantControl->consForecastIdentWeekdays und plantControl->consForecastLastDays gesetzt hast

consForecastIdentWeekdays=1
consForecastLastDays=4

DS_Starter

Ok. Damit sind wir im Bereich der Tage in dem noch mit Average gearbeitet wird. Das ist der Bereich bis 30 / 31 gemäß pvHistory.
Als schnelle Lösung stelle

consForecastLastDays=5

Damit rutschen wir in den Median und der Ausreißer sollte keine Wirkung mehr zeigen.
Probiers mal aus.
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

Hallo Heiko,

ist umgestellt. Danke für die Hilfe.
Wird der Wert für die heute schon abgelaufene Stunde nochmal neu ermittelt oder wirkt die Korrektur dann ab nächsten Mittwoch?
Ich kann den consForecastLastDays auch gerne noch höher stellen, aber gerade jetzt bei länger werdenden Tagen ändert sich der Verbrauch doch auch schon.

Viele Grüße,
Peter

DS_Starter

#5452
Rückwirkend passiert keine Prognoseanpassung mehr.
Ich denke du brauchst nicht höher stellen.
Aber ich denke über eine Korrekturmöglichkeit nach um mit "reset" auch einen solchen Wert gezielt eliminieren zu können.
Löschen ist keine gute Variante, aber ihn auf zum Beispiel auf den Median aller kleineren Mitwochwerte umzusetzen wäre eine gute minimal invasive Möglichkeit.

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

tomcat.x

Jetzt muss ich doch noch mal auf mein Thema von weiter oben bezüglich SoC-Prognose zurückkommen. Die Antwort von 300P hat mich einen Moment beschäftigt ;-) , das Fragezeichen auf der Stirn aber nicht dauerhaft beseitigt. Das Thema "Aktivierung des Batterie SOC- und Lade-Managements" habe ich mir durchgelesen, aber momentan geht es mir ja gar nicht um die Steuerung sondern erst mal um die Vorhersage.

Hier ein Beispiel von heute Morgen. nextHours liefert folgende Werte:

NextHour02 => starttime: 2026-03-18 10:00:00, day: 18, weekday: Wed, holiday: 0, hourofday: 11, today: 1
              pvapifcraw: 876, pvapifc: 254, pvaifc: -, pvfc: 254, aihit: 0
              conlegfc: 340, conaifc: -, confc: 340, confcEx: 340, weatherid: 0, wcc: 0, rr1c: 0.00
              temp: 6.80, windspeed: 3.22, rad1h: 1832, sunaz: 142, sunalt: 33, DoN: 1
              rrange: 0.00, crange: 00, DaysInRange: 14, correff: 0.29/0.00
              soc01: 10.0, soc02: -, soc03: -, socprogwhsum: 224
              rcdchargebat01: 1, rcdchargebat02: -, rcdchargebat03: -
              lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
              strategybat01: loadRelease, strategybat02: -, strategybat03: -
NextHour03 => starttime: 2026-03-18 11:00:00, day: 18, weekday: Wed, holiday: 0, hourofday: 12, today: 1
              pvapifcraw: 985, pvapifc: 630, pvaifc: -, pvfc: 630, aihit: 0
              conlegfc: 319, conaifc: -, confc: 319, confcEx: 319, weatherid: 0, wcc: 0, rr1c: 0.00
              temp: 9.10, windspeed: 3.85, rad1h: 2129, sunaz: 160, sunalt: 38, DoN: 1
              rrange: 0.00, crange: 00, DaysInRange: 12, correff: 0.64/0.00
              soc01: 45.0, soc02: -, soc03: -, socprogwhsum: 1008
              rcdchargebat01: 1, rcdchargebat02: -, rcdchargebat03: -
              lcintimebat01: 1, lcintimebat02: -, lcintimebat03: -
              strategybat01: loadRelease, strategybat02: -, strategybat03: -

Da Frage ich mich, wo kommt bei den prognostizierten Werten für pvfc und confc der Zuwachs um 784 Wh bei socprogwhsum her? Für Hour03 ist pvfc nur mit 630 und zusätzlich confc mit 319 (gut!) vorhergesagt gewesen.

Falls relevant, die Batterie ist so definiert:

attr SolarForecast setupBatteryDev01 MQTT2_MS_A2 pin=-pout pout=sys_bat_p:W pinmax=1000 poutmax=800 intotal=chg_e:Wh outtotal=dchg_e:Wh charge=sys_soc cap=2240 show=1

Aber cap ist eigentlich nur in Bezug auf die Prozentwerte interessant. Oder übersehe ich einen anderen Zusammenhang?
FHEM: 6.4 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.21), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

DS_Starter

Da hätte ich auch Fragezeichen. Schalte ctrlDebug->batteryManagement ein damit überhaupt erstmal etwas zum Hergang zu sehen ist.

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

ahlermi

Bei mir wird keine Abriegelung erkannt, was mache ich falsch?

plantControl
feedinPowerLimit=800 reductionState=d_www_wechselrichter_100:state:{$VALUE eq "on"}

Nur ein Balkonkraftwechselrichter kann einspeisen, die anderen 3 nicht (Insel).

Gruß Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

DS_Starter

ZitatBei mir wird keine Abriegelung erkannt, was mache ich falsch?

reductionState    Liefert einen Status an SolarForecast wenn die PV-Anlage abgeregelt wird bzw. abgeregelt ist (optional).
   Device - Device welches den Abregelungsstatus liefert
   Reading - Reading welches den Abregelungsstatus liefert
   Die Prüfung des gelieferten Wertes kann als regulärer Ausdruck oder als in {..} eingeschlossener Perl-Code formuliert sein:
   Regex - regulärer Ausdruck der für einen Abregelungsstatus (wahr) erfüllt sein muß
   {Perl-Code} - der in {..} eingeschlossene Perl-Code muß 'wahr' für einen Abregelungsstatus liefern. Er darf keine Leerzeichen enthalten.


Zum Beispiel so:

plantControl
feedinPowerLimit=800 reductionState=d_www_wechselrichter_100:state:{$VALUE=~/on/}

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

ahlermi

PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

tomcat.x

#5458
Zitat von: DS_Starter am 18 März 2026, 15:36:31Da hätte ich auch Fragezeichen. Schalte ctrlDebug->batteryManagement ein damit überhaupt erstmal etwas zum Hergang zu sehen ist.

Habe mal versucht, das selber zu verstehen, habe aber keine Erklärung für alle Werte gefunden. Was mir auffällt: Warum bleibt der SoCfc für die kommenden Stunden bei 90 %. Das war auch das, was mir in der Grafif beim Mousover aufgefallen war. Wobei in den Werten oben drüber noch ein Restverbrauch von um die 3000 Wh für heute vorhergesagt wird. Aber im Debuglog sehe ich keinen Verbauch mehr.

2026.03.18 15:47:02 1: SolarForecast DEBUG> ######################### Start Battery Management DebugLog #########################
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> setup values: lowSoc=10 %, upSoc=90 %, maxSoc=95 %, stepSoc=5 %, careCycle=20
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> pvHistory values: yesterday=17, batymaxsoc=18.30 %, batysetsoc=90 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> current values: SoC=93.90 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> Battery share factor of total required load: 1.00
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> today -> PV fc: 472 Wh, con till sunset: 930 Wh, Surp: -458 Wh
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> tomorrow -> PV fc: 3854 Wh, con till sunset: 5383 Wh, Surp: -183 Wh (75% con)
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> selected energy for charging (the higher positive Surp value from above): 0 Wh
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> expected energy for charging after application Share factor: 0 Wh
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - compare with SoC history -> preliminary new Target: 95 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step2 Bat 01 - basics -> Energy expected for charging: 0 Wh, need until maxsoc: 25 Wh
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step2 Bat 01 - calc care SoC -> docare: 0, care SoC: 45 %, remain days until care SoC: 10, Target: 95 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step3 Bat 01 - basics -> max SOC so that predicted PV can be stored: 100 %, newtarget: 95 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step3 Bat 01 - charging probability -> docare: 0, Target: 95 % (new target > 90 % and time limit has passed)
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step4 Bat 01 - basics -> docare: 0, lowSoc: 10 %, upSoc: 90 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step4 Bat 01 - observe low/up limits -> Target: 90 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step5 Bat 01 - rounding the SoC to steps of 5 % -> Target: 90 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step6 Bat 01 - force charging request: no (Battery is sufficiently charged)
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt - Inverter 'MQTT2_openDTU_xxxxxxxxxxxx' cap: 800 W, Power limit: 100 % -> Pmax eff: 800 W
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt - Inverter 'MQTT2_openDTU_yyyyyyyyyyyy' cap: 400 W, Power limit: 100 % -> Pmax eff: 400 W
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt - Inverter 'MQTT2_openDTU_zzzzzzzzzzzz' cap: 600 W, Power limit: 100 % -> Pmax eff: 600 W
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt - Summary Power limit of all Inverter (except feed 'grid'): 1800 W
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt - The limit for grid feed-in is: 9223372036854775807 W
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - selected charging strategy: loadRelease
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - general load termination condition: 0
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - control time Slot - Slot start: 00:00, Slot end: 23:59
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - control barrier SoC: 0 % / 0 Wh
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - control barrier Parameter: -
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - Battery efficiency used: 87 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - weighted self-consumption: 0 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - Target load and target time: 100 % / 2240 Wh / -
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - Percentage of the total amount of charging energy required: 100.0 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeMgmt Bat 01 - The PV generation, consumption and surplus listed below are based on the battery's share of the total amount of charging energy required!
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 - used safety margin: 50 %
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/15 - lr: 1, CurrSoc: 93.90 %, SoCfc: 2115 Wh, whneed: 137, pvfc: 405, rodpvfc: 67, confcss: 588, SurpDay: 0 Wh, CurrPV: 384 W, CurrCons: 259 W, Limit: 1800 W, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/16 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 125, pvfc: 240, rodpvfc: 0, confcss: 222, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/17 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 118, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/18 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 13, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/19 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/20 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/21 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/22 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 18/23 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, rodpvfc: 0, confcss: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 19/00 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 6895, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 19/01 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 6719, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 19/02 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 6547, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 19/03 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 6368, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:02 1: SolarForecast DEBUG> ChargeLR Bat 01 19/04 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 6188, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/05 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3854, roTomCON: 5978, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/06 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 10, roTomPV: 3844, roTomCON: 5749, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/07 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 11, roTomPV: 3833, roTomCON: 5495, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/08 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 90, roTomPV: 3743, roTomCON: 5215, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/09 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 139, roTomPV: 3604, roTomCON: 4823, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/10 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 242, roTomPV: 3362, roTomCON: 4483, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/11 - lr: 1, SoCfc: 100.0 % / 2240 Wh, whneed: 224, pvfc: 591, roTomPV: 2771, roTomCON: 4169, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/12 - lr: 0, SoCfc: 100.0 % / 2240 Wh, whneed: 0, pvfc: 434, roTomPV: 2337, roTomCON: 3849, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/13 - lr: 0, SoCfc: 100.0 % / 2240 Wh, whneed: 0, pvfc: 1015, roTomPV: 1322, roTomCON: 3598, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/14 - lr: 0, SoCfc: 100.0 % / 2240 Wh, whneed: 0, pvfc: 781, roTomPV: 541, roTomCON: 3252, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/15 - lr: 0, SoCfc: 94.6 % / 2118 Wh, whneed: 0, pvfc: 236, roTomPV: 305, roTomCON: 2910, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/16 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 122, pvfc: 164, roTomPV: 141, roTomCON: 2544, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/17 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 125, roTomPV: 16, roTomCON: 2066, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/18 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 16, roTomPV: 0, roTomCON: 1686, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/19 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 0, roTomCON: 1242, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/20 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 0, roTomCON: 800, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/21 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 0, roTomCON: 384, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/22 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 0, roTomCON: 180, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 19/23 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 0, roTomCON: 0, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/00 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 6895, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/01 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 6719, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/02 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 6547, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/03 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 6368, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/04 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 6188, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/05 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 3253, roTomCON: 5978, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/06 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 5, roTomPV: 3248, roTomCON: 5749, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/07 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 32, roTomPV: 3216, roTomCON: 5495, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/08 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 26, roTomPV: 3190, roTomCON: 5215, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/09 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 41, roTomPV: 3149, roTomCON: 4823, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/10 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 239, roTomPV: 2910, roTomCON: 4483, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/11 - lr: 1, SoCfc: 94.3 % / 2112 Wh, whneed: 224, pvfc: 424, roTomPV: 2486, roTomCON: 4169, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/12 - lr: 1, SoCfc: 97.5 % / 2185 Wh, whneed: 128, pvfc: 404, roTomPV: 2082, roTomCON: 3849, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/13 - lr: 1, SoCfc: 100.0 % / 2240 Wh, whneed: 55, pvfc: 986, roTomPV: 1096, roTomCON: 3598, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/14 - lr: 0, SoCfc: 100.0 % / 2240 Wh, whneed: 0, pvfc: 602, roTomPV: 494, roTomCON: 3252, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/15 - lr: 0, SoCfc: 93.1 % / 2086 Wh, whneed: 0, pvfc: 208, roTomPV: 286, roTomCON: 2910, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/16 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 154, pvfc: 212, roTomPV: 74, roTomCON: 2544, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/17 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 69, roTomPV: 5, roTomCON: 2066, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/18 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 4, roTomPV: 1, roTomCON: 1686, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/19 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 1, roTomCON: 1242, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/20 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 1, roTomCON: 800, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/21 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 1, roTomCON: 384, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/22 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 1, roTomCON: 180, SurpDay: 0 Wh, inTime: 1
2026.03.18 15:47:03 1: SolarForecast DEBUG> ChargeLR Bat 01 20/23 - lr: 1, SoCfc: 90.0 % / 2016 Wh, whneed: 224, pvfc: 0, roTomPV: 1, roTomCON: 0, SurpDay: 1 Wh, inTime: 1

Nachtrag:
Mit get ... nextHours sehe ich den vorhergesagten Verbauch auch, verteilt auf die restlichen Stunden.
FHEM: 6.4 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.21), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

DS_Starter

ZitatWas mir auffällt: Warum bleibt der SoCfc für die kommenden Stunden bei 90 %
Das kommt von deiner Vorgabe upSoc=90 (%).
Da heute und morgen keine Überschüsse erwartet werden:

 2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> today -> PV fc: 472 Wh, con till sunset: 930 Wh, Surp: -458 Wh
 2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step1 Bat 01 - basics -> tomorrow -> PV fc: 3854 Wh, con till sunset: 5383 Wh, Surp: -183 Wh (75% con)

bleibt es bei dem upSoc:

 2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step4 Bat 01 - basics -> docare: 0, lowSoc: 10 %, upSoc: 90 %
 2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step4 Bat 01 - observe low/up limits -> Target: 90 %
 2026.03.18 15:47:02 1: SolarForecast DEBUG> SoC Step5 Bat 01 - rounding the SoC to steps of 5 % -> Target: 90 %

Bei Überschüssen würde der Soc sinken.

Ich würde den upSoc in der Jahreszeit bei ca. 50 % einstellen.
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