Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV)

Begonnen von ch.eick, 07 Oktober 2020, 16:09:12

Vorheriges Thema - Nächstes Thema

ojb

Also die Energietabelle mit den Effizienzklassen ist sehr interessant. Ich komme auf A+ :-)

Haus 2013 gebaut in Massiv-Ziegel. Ca. 220 qm beheizte Fläche, PV-Anlage seit Mitte 2021 (17,5 kWp, 12,8 kWh Speicher), Wärmepumpe mit Tiefenbohrung 2x 100m, beheizter Außenpool im Sommer, E-Auto.
Bei mir sind die Stromkosten in der Leaserate enthalten. Ich versuche also nur daheim zu laden, wenn Überschussstrom da ist, weil dann bekomme ich den Strom erstattet.

Meine Bilanz sieht aus wie folgt. An dieser Stelle, DANKE DANKE DANKE für das Modul und überhaupt an alle für FHEM.

Liebe Grüße
Oli
FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...

ch.eick

Zitat von: ojb am 11 Dezember 2022, 00:23:17
Also die Energietabelle mit den Effizienzklassen ist sehr interessant. Ich komme auf A+ :-)

Haus 2013 gebaut in Massiv-Ziegel. Ca. 220 qm beheizte Fläche, PV-Anlage seit Mitte 2021 (17,5 kWp, 12,8 kWh Speicher), Wärmepumpe mit Tiefenbohrung 2x 100m, beheizter Außenpool im Sommer, E-Auto.
Bei mir sind die Stromkosten in der Leaserate enthalten. Ich versuche also nur daheim zu laden, wenn Überschussstrom da ist, weil dann bekomme ich den Strom erstattet.

Meine Bilanz sieht aus wie folgt. An dieser Stelle, DANKE DANKE DANKE für das Modul und überhaupt an alle für FHEM.

Liebe Grüße
Oli
Hallo Oli,
das ist ja fast ein Neubau :-) , unser Haus ist zwar 2015 Saniert worden, aber einige wenige Stellen kann man dann leider doch nicht optimal hin bekommen.
Möchtest Du mal Deine Bilanz mit den Kosten hier rein stellen? Hast Du das auch generisch aus der Datenbank ermittelt?

VG
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Moin early birds :-)

Da es ja nun immer weniger PV vom Dach gibt und der Speicher auf MinSOC fällt, habe ich mir mal überlegt, wie man das ständige Entladen mit <20W beendet, dass ich bei mir im Status mit "Standby" anzeige. Empirisch habe ich nun ermittelt, wenn man DC_Power_Abs auf -1 setzt, scheint der Kostal Laderegler bessen an die 0 Watt zu kommen. Dies müsste jedoch für jede Installation ausprobiert werden.

Der Wert muss dazu allerdings, mit der eingestellten Zeit der API oder auch ModBus, über WR_1_Speicher_1_ExternControl wiederholt werden.

Sollte das so funktionieren, könnte man eventuell den MinSOC auf z.B. 10% senken, da ja nur noch die Hausspeicher Steuerung den Standby verbraucht. Wenn man möchte könnte man natürlich auch [+|-][1-4] verwenden, um den Standby auszugleichen. Das bedeutet jedoch ein kleiner Mehrverbrauch aus dem Netz.

Zu Testzwecken habe ich nun einen weiteren Block ins WR_1_Speicher_1_ExternControl eingefügt, der als RAW dann so aussieht.

################################################################################################################\
## 6 Wiederhole alle 180s die Kommandos der ExternControl Steuerung\
##\
16_Stop_Standby_Entladung\
{if( !([$SELF:state] eq "off")                                           ## DOIF enabled\
     and\
      ((\
       [WR_1_API:Battery_Control] > 0 and                                ## Wenn die ExternControl am WR konfiguriert ist\
       [$SELF:SpeicherCmdRepeatActive]  eq "An" and                      ## Wenn die ExternControl Aktiviert ist\
       [$SELF:SpeicherExternTrigger] eq "gesperrt" and                   ## Das smart_Laden\
       [WR_1_API:Battery_InternControl_MinHomeConsumption] == 30000 and  ##      aktiviert wurde\
       [WR_1:Total_Active_P_EM] > 0 and                                  ## Es wird nicht ins Netz eingespeist\
       [$SELF:SpeicherDcPowerAbs] == 0 and                               ## Es wird anderweitig kein Wert vorgegeben\
       [+([WR_1_API:Battery_ComMonitor_Time]-30)]                        ## Den Befehl nach eingestellter Zeit wiederholen\
      )\
      or [$SELF:ui_command_1] eq "Stop_Standby_Entladung"                ## Hier wird das uiTable select ausgewertet\
     )\
   ) {\
\
    if( [$SELF:ui_command_1] eq "Stop_Standby_Entladung" ) {             ## Hier wurde manuell ausgelöst\
      set_Reading("ui_command_1_before",[$SELF:ui_command_1]);;\
    }\
\
   ::CommandSet(undef, "WR_1_API 23_05_Battery_ExternControl_DcPowerAbs -1");;\
\
   if (AttrVal("$SELF","verbose",0) >=4) {\
     Log 3, "$SELF cmd_16 : Battery_ExternControl_DcPowerAbs auf -1 gesetzt";;\
   };;\
\
   set_Reading("ui_command_1","---");;                                    ## Hier wird das uiTable select wieder zurückgesetzt, ansonsten\
                                                                         ## kann das Kommando nicht sofort wiederholt werden\
   }\
}

Das Ganze reagiert dann verzögert mit ca. der eingestellten Battery_ComMonitor_Time, die im Plenticore geändert werden kann.
Auch das Laden verzögert sich dann maximal um diese Zeit, da ja erst der Default wieder erreicht werden muss.

EDIT: Ich habe noch eben die Meldung auf den verbose level 4 gesetzt, da ansonsten die Meldung ständig im Log erscheint.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Moin,
ich habe noch einen Speicher Status klären können. Bei mir war mir 256 aufgefallen, für den ich noch kein map hatte.


attr WR_1 obj-h104-map 0:Normal,8:Ruhe1,16:Ruhe2,32:Ausgleichsladung,64:Tiefentladeschutz,256:externe Batteriesteuerung

attr WR_1_API reading25OMap 0:Normal,8:Ruhe1,16:Ruhe2,32:Ausgleichsladung,64:Tiefentladeschutz,256:externe Batteriesteuerung

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ojb

Zitat von: ch.eick am 11 Dezember 2022, 09:48:01
Hallo Oli,
das ist ja fast ein Neubau :-) , unser Haus ist zwar 2015 Saniert worden, aber einige wenige Stellen kann man dann leider doch nicht optimal hin bekommen.
Möchtest Du mal Deine Bilanz mit den Kosten hier rein stellen? Hast Du das auch generisch aus der Datenbank ermittelt?

VG
    Christian

Meinst Du mit Bilanz die Anschaffungskosten?

Also die Bilanz oben ist ein Dashboard das FHEM rechnet. Ich verwende viel userreadings unter Verwendung von ElectricityCalculator.

Die Kosten der Anlage sehen so aus:

  • Sole-Wärmepumpe (Viessmann, 2013)): 5 k€.
  • Tiefenborhung 2x 100m (Baugrund Süd, 2013): 13 k€.
  • PV-Anlage 17,5 kWp mit 12,8 kWh Speicher (E.ON und BYD, 2021): 37 k€.

Liebe Grüße
Oli
FHEM unter Debian auf Asus EEBox: KNX (Wetterstation, Rollläden, Beleuchtung), Maple-CUN (Temperatur und Feuchte über 1-Wire, Intertechno-Funksteckdosen), PV-Anlage mit Plenticore und BYD, Viessmann Wärmepumpe, 1-Wire (Temperatur, Feuchte, Stromverbrauch), Husquarna-Automower, ...

ch.eick

Zitat von: ojb am 18 Dezember 2022, 14:25:26
Also die Bilanz oben ist ein Dashboard das FHEM rechnet. Ich verwende viel userreadings unter Verwendung von ElectricityCalculator.
Hallo Oli,
Ich meinte nur die aktuellen Bilanzen aus den Verbräuchen
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo Oli,
ich gehe nochmal auf Deine Statistiken mit der Berechnung der Kosten ein.

1.) Das obere Drittel kommt mir sehr bekannt vor ;-) und ist ja nur etwas anders aufgeteilt.
    Das kommt ja aus dem DbRep LogDBRep_Statistic_previous_Year, was man für den Vortag bzw. Vormonat adaptieren kann.
    Tag / Monat /Jahr kommen direkt aus dem Plenticore, bzw den SW_* readings, wenn man einen Schwarm hat.

2.) Für die Berechnung der Kosten würde mich Deine Definition interessieren. Meine Hoffnung wäre ein uiTable zur Einstellung
    der Einzelkosten mit Basis Gebühren und Arbeitspreisen.
    Die Wallbox Vergütung dürfte sicherlich von Deinem Arbeitgeber sein, oder sind das die 18 ct über THG Ladepunkt Quote?

3.) Da sich in der letzten zeit ein wechselder EVU Anbieter herauskristalisiert wäre es natürlich toll, wenn man die EVU Preise
    auch in der Datenbank hätte, eventuell sogar auf Stundenbasis für Tibber oder aWattar. Wie weit bist Du denn da im Moment?
    Wie handhabst Du den Tarifwechsel innerhalb deines Berechnungszeitraums? Ich habe z.B. jetzt vom 01.01.2023 bis 31.03.2023
    noch einen günstigen Tarif bekommen, danach kommt ja schon wieder ein Wechsel.

Mein Ansatz wäre die gesamte Statistik mit Kostenberechnung direkt in einer SELECT Abfrage wie beim DbRep LogDBRep_Statistic_previous_Year
zu erledigen und dort auch die Preise aus der Datenbank heraus zu kalkulieren.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

zwölfgang

################################################################################################################\
## 6 Wiederhole alle 180s die Kommandos der ExternControl Steuerung\

Hallo Christian,
ich habe deine Erweiterung bei mir eingebaut, denke es wird in den nächsten Tagen wieder öfters zum leeren Speicher kommen,
bin dann mal gespannt was passiert.

Was meinst Du mit:
ZitatSollte das so funktionieren, könnte man eventuell den MinSOC auf z.B. 10% senken, da ja nur noch die Hausspeicher Steuerung den Standby verbraucht. Wenn man möchte könnte man natürlich auch [+|-][1-4] verwenden, um den Standby auszugleichen. Das bedeutet jedoch ein kleiner Mehrverbrauch aus dem Netz.
das habe ich nicht verstanden wo ich das verändern kann. Den MinSOC habe ich (Sommer/Winter) auch schon auf (5/10)% gestellt.

viele Grüße
Wolfgang


ch.eick

Zitat von: zwölfgang am 19 Dezember 2022, 17:02:09
################################################################################################################\
## 6 Wiederhole alle 180s die Kommandos der ExternControl Steuerung\

Hallo Christian,
ich habe deine Erweiterung bei mir eingebaut, denke es wird in den nächsten Tagen wieder öfters zum leeren Speicher kommen,
bin dann mal gespannt was passiert.

das habe ich nicht verstanden wo ich das verändern kann. Den MinSOC habe ich (Sommer/Winter) auch schon auf (5/10)% gestellt.
Hallo Wolfgang,
Kostal empfiehlt einen MinSOC von 20% im Winter und da könnte man dann mal testen, ob 10% auch reichen würden, aber das hast Du ja bereits.

Leider habe ich jedoch auch festgestellt, dass das Absinken des Speicher SOC so doch nicht wirklich zum Stillstand kommt :-( , es wird subjektiv nur langsamer.
Ich bin aber mal gespannt, wie es bei Dir wirken wird.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Mumpitz

Hallo Christian

Was haben deine Tests ergeben? Gibt es Änderungen welche zu übernehmen sind?
Sorry, ich habe in letzter Zeit etwas abgehängt da alles reibungslos gelaufen ist...

Zitat von: ch.eick am 10 Dezember 2022, 11:24:53
Hallo zusammen,

ich teste gerade nochmal die WR_1_Speicher_1_ExternControl Zeit Steuerung.
Dadurch wollte ich dann jetzt im Winter mal nur den Speicher zur Tageszeit verwenden, falls er mal voll ist. Die Zeit Steuerung hatte ich mal für die Schweizer mit rein genommen, die Tagsüber einen Hochtarif und nachts einen Niedigtarif haben. Damit werde ich warscheinlich keinen Netzausfall verhindern :) :) :) , aber man probiert ja mal aus was man kann ;)
Sollte es mal attraktive Tarif Modelle geben, die man auch bestellen kann, würde soetwas ja auch bei uns Sinn machen.

VG   Chrstian

ch.eick

Frohe Weihnachten Euch allen.

Die letzten Änderungen sind nur nice to have.

VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Mon zusammen,
es wurde wieder ein Fehler gefunden :-)
Besonderen Dank an @Melt.Weister
Zitat
Mich haben die folgenden 3 FM gestört und deshalb habe ich mich heute mal damit beschäftigt:

2022.12.29 12:12:04.102 3: WR_1: CreateDataObjects unpack of 0007 with f> for Battery_Actual_SOC resulted in undefined value
2022.12.29 12:12:05.185 3: WR_1: CreateDataObjects unpack of 0000 with f> for Battery_Charge_AC_P_Setpoint resulted in undefined value
2022.12.29 12:12:05.187 3: WR_1: CreateDataObjects unpack of 0000 with f> for Battery_P_ScaleFactor resulted in undefined value

Ich habe sie durch Hinzufügen des Unpack-Attributes im WR_1 Device eliminiert. Vielleicht möchtest Du das prüfen und übernehmen und im WIKI hinterlegen.


attr WR_1 obj-h1024-unpack n
attr WR_1 obj-h1025-unpack n
attr WR_1 obj-h514-unpack n


(kleines "n" ist entscheidend)
Ich korrigier dann noch das Wiki.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MichaelO

Moin zusammen,

erstmal danke für die viele Arbeit und das ausführliche Wiki. Nachdem ich nun langsam fast alles zum laufen bekommen habe (2 x Plenticore mit 1x BYD, Integration eines Fronius steht noch aus) habe ich Anmerkungen zum Wiki und der Implementierung allgemein:

Wiki:

Im WR_1 wird geschrieben "Bei mehreren Wechselrichtern werden einige Werte vom Plenticore fehlerhaft ermittelt und durch diese readings korrigiert. Wann Kostal das in der Firmware korrigiert ist nicht bekannt." Hier wäre es zielführend, anzugeben, auf welchen Softwarestand sich das bezieht.

"RAW Definition WR_1 Master (bei zwei Wechselrichtern)"
Im stateformat müsste die Einheit bei my $Actual_Battery_charge_usable_P       = sprintf("%d W" Wh sein und nicht W, denke ich.


"plenticore_auth() und KeyValue() Voraussetzung"
Der Abschnitt der zu nutzenden use-Anweisungen sollte in einem grauen Kasten sein wie der übrige Code. Da bin ich zunächst drüber gestolpert und hatte das übersehen. Dann musste ich bei meiner Installation zusätzlich
sudo apt install libcrypt-urandom-perl
nutzen, da sonst die 99_myUtils nicht kompiliert wurde.

"KeyValue() Test"
Hier ist derzeit geschrieben: "Somit ist für die API "user" zu verwenden und der "Master Key" als Passwort, der sich auf dem Aufkleber der Plenticore befindet." Das ist etwas unglücklich formuliert. Wenn ich mein System betrachte, dann ist das Passwort genau jenes, das man als Anlagenbetreiber bei der Anmeldung am GUI des Wechselrichters eingibt. Dies ist nicht zwingend der auf dem Gerät befindliche Master Key. Vielleicht sollte der Satz auch fett geschrieben werden und mit Verweis auf das Anmeldepasswort am Plenticore Webinterface.

"RAW Definition des WR_1_API Master ab v1.16"
Hier wird hingewiesen auf "Für die Korrektur der Statistiken werden die Stromzähler Stände des KSEM benötigt...". Es wäre gut, wenn hier ein Link zur defmod des KSEM eingefügt werden würde. Ich dachte zunächst, dass hier was fehlt und wollte mangels defmod schon aufgeben. Kommt aber dann ja weiter unten.

Der Block "Initiales setzen der WR_0_KSEM Zähler Stände" hat die falschen Befehle. Es sollte nicht "setstate" sondern setreading sein, oder?

Implementierung:
Es ist derzeit vorgesehen, bis zu 5 Strings eingeben zu können. Die Faktoren tempk und tempk_base existieren aber nur einmal. Wenn man unterschiedlich bestückte Strings hat, stimmen somit die Werte nicht. Ich kann nicht beurteilen, wie groß hier Differenzen in der Vorhersage sind, aber aus meiner Sicht sollten diese Faktoren in die module_1 bis 5 Blöcke aufgenommen werden. Bei tempk_base wäre das wohl noch egal, weil hier alle mir bekannten Module immer 25 Grad haben, aber der Koeffizient variiert doch recht arg.

Diskussion:
Wäre es sinnvoll, zwecks besserer Prognose pro Modul auch die geschätzte jährliche Degradation in % zusammen mit dem Installationszeitpunkt anzugeben (oder auch garantierte % der Mindestleistung zusammen mit Garantiezeitraum, dann kann fhem das ja flott berechnen)? Dadurch würde sich die Prognose über die Jahre automatisch anpassen.

Und dann spiele ich erstmal weiter mit der Implementierung und schaue mir an, in wieweit alles vernünftige Werte liefert.
Gruß
Michael


ch.eick

Hallo Michael,
vielen Dank für die vielen Anregungen.

Zitat von: MichaelO am 02 Januar 2023, 17:47:45
Anmerkungen zum Wiki und der Implementierung allgemein:

Wiki:

Im WR_1 wird geschrieben "Bei mehreren Wechselrichtern werden einige Werte vom Plenticore fehlerhaft ermittelt und durch diese readings korrigiert. Wann Kostal das in der Firmware korrigiert ist nicht bekannt." Hier wäre es zielführend, anzugeben, auf welchen Softwarestand sich das bezieht.
Das bezieht sich auf alle von Kostal veröffentliche Firmware. Der KSEM zeigt bereits den Hausverbrauch ab Version 2.0.0 richtig an, übermittelt ihn aber noch nicht.
Ich hoffe, dass dort bald was neues kommr, was bereits für 12/2022 angekündigt war. Deshalb aktualisiere ich dazu im Moment nichts, da ich es ganz raus haben möchte.

Zitat
"RAW Definition WR_1 Master (bei zwei Wechselrichtern)"
Im stateformat müsste die Einheit bei my $Actual_Battery_charge_usable_P       = sprintf("%d W" Wh sein und nicht W, denke ich.
Es sind Watt, Wh werden es erst durch die Zeit :-)

Zitat
"plenticore_auth() und KeyValue() Voraussetzung"
Der Abschnitt der zu nutzenden use-Anweisungen sollte in einem grauen Kasten sein wie der übrige Code. Da bin ich zunächst drüber gestolpert und hatte das übersehen. Dann musste ich bei meiner Installation zusätzlich
sudo apt install libcrypt-urandom-perl
nutzen, da sonst die 99_myUtils nicht kompiliert wurde.
Habe ich im Wiki ergänzt und umformatiert.

Zitat
"KeyValue() Test"
Hier ist derzeit geschrieben: "Somit ist für die API "user" zu verwenden und der "Master Key" als Passwort, der sich auf dem Aufkleber der Plenticore befindet." Das ist etwas unglücklich formuliert. Wenn ich mein System betrachte, dann ist das Passwort genau jenes, das man als Anlagenbetreiber bei der Anmeldung am GUI des Wechselrichters eingibt. Dies ist nicht zwingend der auf dem Gerät befindliche Master Key. Vielleicht sollte der Satz auch fett geschrieben werden und mit Verweis auf das Anmeldepasswort am Plenticore Webinterface.
Im Default ist das Passwort des Anlagenbetreibers vom Web-GUI = auf dem Gerät befindliche Master Key . Das setze ich bei mir auch immer wieder so, damit ein Solarteur den Zugang zum Gerät hat, falls ich es mal nicht mehr machen kann.
Ich habe es im Wiki überarbeitet.

Zitat
"RAW Definition des WR_1_API Master ab v1.16"
Hier wird hingewiesen auf "Für die Korrektur der Statistiken werden die Stromzähler Stände des KSEM benötigt...". Es wäre gut, wenn hier ein Link zur defmod des KSEM eingefügt werden würde. Ich dachte zunächst, dass hier was fehlt und wollte mangels defmod schon aufgeben. Kommt aber dann ja weiter unten.
Im Wiki erledigt

Zitat
Der Block "Initiales setzen der WR_0_KSEM Zähler Stände" hat die falschen Befehle. Es sollte nicht "setstate" sondern setreading sein, oder?
Wenn man es direkt im RAW mit einträgt, ist es "setstate", ansonsten kann man es bei einem Absturz von FHEM auch mit einen setreading wieder mit den korrekten Werten aus der DbLog setzen. Dazu gab es im Thread auch schon mal eine Anleitung.

Zitat
Implementierung:
Es ist derzeit vorgesehen, bis zu 5 Strings eingeben zu können. Die Faktoren tempk und tempk_base existieren aber nur einmal. Wenn man unterschiedlich bestückte Strings hat, stimmen somit die Werte nicht. Ich kann nicht beurteilen, wie groß hier Differenzen in der Vorhersage sind, aber aus meiner Sicht sollten diese Faktoren in die module_1 bis 5 Blöcke aufgenommen werden. Bei tempk_base wäre das wohl noch egal, weil hier alle mir bekannten Module immer 25 Grad haben, aber der Koeffizient variiert doch recht arg.
Meistens wurden bisher immer die gleichen Module verwendet, jedoch sollte die Forecast Abweichung nicht so arg sein. Es kommt eh nur ein recht guter Schätzwert dabei raus, den man eher als Schwellwert für die Entscheidungen sehen sollte. Am Meisten Einfluss hat hier der DWD.

Zitat
Diskussion:
Wäre es sinnvoll, zwecks besserer Prognose pro Modul auch die geschätzte jährliche Degradation in % zusammen mit dem Installationszeitpunkt anzugeben (oder auch garantierte % der Mindestleistung zusammen mit Garantiezeitraum, dann kann fhem das ja flott berechnen)? Dadurch würde sich die Prognose über die Jahre automatisch anpassen.
Wenn Du da die Kenntnisse hast könntest Du mir gerne mal eine Testversion schicken ;-)
Ich arbeite bereits mit jemandem aus dem Forum an einer KI Implementierung, die dann selber lernen sollte.
Hier gibt es noch einen anderen Ansatz, der ohne DbLog arbeitet und als Grundlage meine Formeln verwendet.

Zitat
Und dann spiele ich erstmal weiter mit der Implementierung und schaue mir an, in wieweit alles vernünftige Werte liefert.
Dabei aber am besten immer nur an einer Schraube drehen. Die Anpassung des Forecast macht erst im Frühjahr/Sommer richtig Sinn. Jetzt im Winter liegt es ziemlich daneben, wie gesagt es sollte als Schwellwert verstanden werden.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick