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

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

Vorheriges Thema - Nächstes Thema

ch.eick

Hey zusammen,

im Photovoltaikforum ist mal wieder Bewegung bezüglich Speicher und Wechselricher Firmware Update.
Ich habe jetzt mal den Software Reset des Plenticore über die API eingebaut.


attr WR_1_API set6001Header01 authorization: Session %auth_sessionId%
attr WR_1_API set6001Header02 Content-type:application/json, Accept:application/json, Connection:keep-alive
attr WR_1_API set6001Method POST
attr WR_1_API set6001NoArg 1
attr WR_1_API set6001Name 60_01_Reset_Wechselrichter
attr WR_1_API set6001URL http://%IP-WR%/api/v1/system/reboot


Gruß
   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

andi11

Ne Frage noch bezgl dem finden des richtigen Wertes für cloudk.

Zur Anpassung der Leistung bei Bewölkung wird als Basis der Bedeckungsgrad des Himmels benutzt. Der Globalstrahlungswert vom DWD ist aber bereits inklusive Bewölkung, also an bewölkten Tagen schon im Standart geringer oder? D.h. der Korrekturfaktor sollte recht klein sein? Wollte eigentlich mit den 45 aus dem WIKI starten, aber das passt die Leistung schon deutlich an. Ist die Globalstrahlung vom DWD dann so daneben oder liegt das an der Empfindlichkeit der PV Module für bestimmte Wellenlängen?

ch.eick

Zitat von: andi11 am 16 März 2022, 11:43:51
Ne Frage noch bezgl dem finden des richtigen Wertes für cloudk.

Zur Anpassung der Leistung bei Bewölkung wird als Basis der Bedeckungsgrad des Himmels benutzt.
richtig
Zitat
Der Globalstrahlungswert vom DWD ist aber bereits inklusive Bewölkung, also an bewölkten Tagen schon im Standart geringer oder?
auch richtig
Zitat
D.h. der Korrekturfaktor sollte recht klein sein? Wollte eigentlich mit den 45 aus dem WIKI starten, aber das passt die Leistung schon deutlich an.
Da hinter liegt eine "Heizungskurve", also der Bedeckungsgrad vom DWD wird durch die Heizungskurve nicht linear verändert.
Die 45 kommen aus der Erfahrung von 2 Jahren Beobachtung, da trotz der DWD Globalstrahlung die Prognose bei wechselnder Bewölkung nicht gepasst hat.
Das hat ab hier nichts mehr mit Wissenschaft zu tun, sondern eher mit Bauchgefühl und Austesten ;-)
Zitat
Ist die Globalstrahlung vom DWD dann so daneben oder liegt das an der Empfindlichkeit der PV Module für bestimmte Wellenlängen?
Bauchgefühl :-) Ich habe ja rein optisch meine Graphen beobachtet und dann ist es historisch gewachsen.
Im Bild mal das Ergebnis von Gestern, ohne Autokorrektur.
Bei der Autokorrektur beobachte ich mal, ob die eventuell überhaupt noch notwendig ist, es kann ja sein, dass der DWD jetzt besser geworden ist.
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

andi11

Wie gut die DWD Vorhersage passt kann man doch eh nur durch regelmäßiges kontrollieren überprüfen. Selbst wenn die bei mir passen sollte heist es ja noch lange nicht dass es in jeder Ecke der Landkarte genauso gut passt.

=> dann starte ich mit cloudk 0 also neutraler Ausgangsbasis, statt 45. Und erhöhe von da aus den Wert wenn ich zuviel Leistung im Forecast habe bei bewölktem Himmel :)

ch.eick

Zitat von: andi11 am 16 März 2022, 12:19:53
Wie gut die DWD Vorhersage passt kann man doch eh nur durch regelmäßiges kontrollieren überprüfen. Selbst wenn die bei mir passen sollte heist es ja noch lange nicht dass es in jeder Ecke der Landkarte genauso gut passt.

=> dann starte ich mit cloudk 0 also neutraler Ausgangsbasis, statt 45. Und erhöhe von da aus den Wert wenn ich zuviel Leistung im Forecast habe bei bewölktem Himmel :)
Oder Du verlässt Dich auf meine gesammelte Erfahrung und gehst bei Bedarf weiter rauf oder runter.
Wie gesagt, Deine Prognose Ergebnisse im Graphen sind doch bereits top gewesen und da war die Wolken und Regen Prognose bereits aktiv.
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

andi11

Ja die Vorhersage war top. Aber das war bei bombastischem Wetter, da gabs keine Wolkenkorrektur :) Was da als Faktor drin war, war also egal. Heute liegt es deutlich daneben. Und da fehlt mir jedes Gefühl für die Wolken => ich fang bei 0 an und erhöhe

ch.eick

Zitat von: andi11 am 16 März 2022, 12:39:03
Ja die Vorhersage war top. Aber das war bei bombastischem Wetter, da gabs keine Wolkenkorrektur :) Was da als Faktor drin war, war also egal. Heute liegt es deutlich daneben. Und da fehlt mir jedes Gefühl für die Wolken => ich fang bei 0 an und erhöhe
zeig bitte nochmal eine Kurve der Prognose von gestern, da sollten ja Wolken schon dabei gewesen sein.
Ich glaube Du hast immernoch zu hohe Erwartungen an die Exaktheit der Prognose.
Es soll nur ein Trigger für die Tendenz sein und nicht zwingend genaue Leistungswerte liefern, das wird nie genau passen, da die Qualität des DWD auch nur begrenzt ist.

EDIT: Das hier von heute ist z.B. schon ein sehr gutes Ergebnis! Und Du kannst die Schwankungen durch Wolken ziemlich gut sehen :-)
Alles was über der Prognose Liegt ist einfach ein Geschenk des Himmels :-) :-)
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

andi11

gestern ist ein ganz schlechtes Beispiel für gute Prognose bei uns. Aber das ist komplett verständlich, der Himmel war Blutrot vor lauter Sahara Staub und alle Flächen waren entsprechend rötlich.

ch.eick

Zitat von: andi11 am 16 März 2022, 14:49:16
gestern ist ein ganz schlechtes Beispiel für gute Prognose bei uns. Aber das ist komplett verständlich, der Himmel war Blutrot vor lauter Sahara Staub und alle Flächen waren entsprechend rötlich.
Das war bei uns nicht ganz so schlimm, aber die Prognose war top, wie in dem Bild von diesem Post zu sehen.
https://forum.fhem.de/index.php/topic,114849.msg1213758.html#msg1213758
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

andi11

hier mal Bewölkung ab Mittag. DWD und Wunderground sind Globalstrahlung. Offensichtlich war mein Verständnis vom Wert rad1h vom DWD gänzlich falsch.
Bei denen strahlts wohl über den Wolken *fg*

Wunderground ist bei uns ca 1km weg eine Station.

ch.eick

Zitat von: andi11 am 19 März 2022, 18:49:32
hier mal Bewölkung ab Mittag. DWD und Wunderground sind Globalstrahlung. Offensichtlich war mein Verständnis vom Wert rad1h vom DWD gänzlich falsch.
Bei denen strahlts wohl über den Wolken *fg*

Wunderground ist bei uns ca 1km weg eine Station.
Deshalb habe ich ja auch die Wolken mit rein gerechnet :-)
Aber wonderground sieht doch recht gut aus bei Dir. Haben die jetzt auch stunden Werte?
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

andi11

Die Wetterstation die ich benutze aktualisiert jede Minute. Allerdings frag ich nur alle 15min ab

ch.eick

Zitat von: andi11 am 20 März 2022, 16:47:51
Die Wetterstation die ich benutze aktualisiert jede Minute. Allerdings frag ich nur alle 15min ab
Ah, moment, das sind die aktuellen Werte, also kein Forecast.
Da habe ich auch drei Stück in  der Nähe, mit denen ich dann die Beschattung mir den Rollos steuer.
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 zusammen,
einige von Euch warten ja bereits auf die aktualisierte Wiki Seite, was ich nun gerade erledigt habe.

- WR_1
- Solar_forecast()
- WR_1_API
- WR_1_Speicher_1_ExternControl
- Einige Bilder wurden aktualisiert

Im Allgemeinen gab es kleinere Korrektur über die letzten Monate.

Das wichtigste ist jedoch die total überarbeitete Speicher Steuerung, die nun im Perl Modus und mit uiTable läuft.
Für den Betrieb einer WallBox wurden zusätzliche Blöcke eingefügt, die den Speicher auf smart_Laden setzen und hinterher wieder den ursprünglichen Status herstellen.

Block 2_smart_Laden_start_WB_1
Block 3_smart_Laden_beenden_WB_1

Eine zusätzliche Bedingung im 3_smart_Laden_beenden_Automatik
Zitat
{if( !([$SELF:state] eq "off")                                           ## DOIF enabled
     and
     [$SELF:SpeicherEntladung] eq "Automatik"                            ## Nur für den Automatik Modus
     and
     [$SELF:WB_1_smart_laden_before] eq "---"
                            ## Es wird gerade kein Fahrzeug geladen

Der Ladezustand wird hierbei von der WallBox abgefragt und unterscheidet sich bei verschiedenen Herstellern:
Zitat
openWB:
     [WB_1:lp_1_ChargeStat] eq "loading"

go-eCharger:
     [WB_1:car_state] eq "2"                           ## Ladevorgang läuft

Hier bitte gerne noch weitere WallBoxen bei mir melden.

Auch im WR_1_API gab es Erweiterungen bei der Abfrage von Registern
get:
- 23_Battery_ExternControl
      Änderung wegen ComMomitor_*
- 41_DigitalOutputs
      Liest die Register für die Output Steuerung

set:
- 23_11_Battery_ComMonitor_Enable
- 23_12_Battery_ComMonitor_Time
      Verändert die Kommando Wiederholungs Zeit für die Externe Steuerung (z.B. WR_1_Speicher_1_ExternControl von 3 Minuten auf 5 Minuten)
- 41_DigitalOutputs
      Setzt die Register für die Output Steuerung.
      Hierzu gibt es eine Befehlsabfolge, mit der man den potentialfreien Ausgang des Plenticore schalten kann, wenn man die Überschusssteuerung des Plenticore nicht verwendet.
      Darüber kann man dann z.B. einen Lüfter im Technik Raum Ein/Aus schalten ;-)
- 60_01_Reset_Wechselrichter
      Hierdurch macht der Plenticore einen Softreset, wie es z.B. auch nach einem Firmware Update erfolgt.

Beim Solar_forecast() ist es wichtig zu beachten, dass bei einer Umbenennung der Device Namen eine Abhängigkeit besteht!
Dies betrifft insbesonderen das reading SpeicherMidday_Inverter_Max_Power
Das reading wird im Device WR_1_Speicher_1_ExternControl gesetzt und bestimmt den Grenzwert für das Mittagshoch, da dies in der Funktion Solar_forecast() berechnet wird müssen folgende Devices namentlich zusammen passen:

WR_1 und WR_1_Speicher_1_ExternControl

Beim Solar_forecast() wird Der Device Name, in den der Forecast geschrieben werden soll mit übergeben, was hier WR_1 ist. Damit dann der Grenzwert für die externe Speicher Steuerung gefunden werden kann muss das Device dann WR_1_Speicher_1_ExternControl benannt werden.

Ausschnitt aus der Solar_forecast()
Zitat
     my $Inverter_Max_Power = ReadingsVal($logdevice."_Speicher_1_ExternControl","SpeicherMidday_Inverter_Max_Power","unused");  # Überschreiben des middayhigh
     if ($Inverter_Max_Power eq "unused") {
       $Inverter_Max_Power = ReadingsVal($logdevice,"Inverter_Max_Power",0) +500 ;      # Hier wird ein Durchschnittsverbrauch des Hauses aufaddiert
     } else {
       if ($verbose >= 3) { Log 3, "SpeicherMidday_Inverter_Max_Power manuell gesetzt" } ;
     };
     if ($verbose >= 3) { Log 3, "SpeicherMidday_Inverter_Max_Power auf ".$Inverter_Max_Power." gesetzt" } ;

Ich hoffe, dass ich nichts vergessen habe und wünsche Euch viel Spaß beim Fehler suchen :-)

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

Und nochmals hallo zusammen,
vor meiner 50000 Thread Marke möchte ich noch etwas posten :-)

In der WR_1_Speicher_1_ExternControl kann man einen DC_Power_Abs Wert setzen, der bei negativen Werten den Speicher zwangsweise lädt und bei positiven Werten auch entlädt.
Damit nichts ungewolltes passiert müsst Ihr das aber in Eurem Zeitinterval ( 3 Minuten ) über das uiTable manuell senden. Eine 0 wäre dann wieder die neutrale Einstellung.
Eine Reaktion ist dann nach ca. 1 Minute zu sehen, da ja das Abfrage Intervall vom WR_1 auf 60 Sekunden steht.
Es besteht allerdings auch eine Wechselwirkung mit der MaxSoc Begrenzung, wenn der Speicher also auf z.B. 95% limitiert ist, dann wird natürlich erst geladen, sobald die Grenze unterschritten wird.
Eine Regelung auf 0 wird leider nicht vom Plenticore durchgeführt, das war eine weitere Idee, um Tagsüber die Standby Verluste zu unterbinden ;-)

Und nun Achtung Ihr Schweizer unter uns, wie mir zugetragen wurde dürft Ihr leider nicht Euren Speicher aus dem Netz laden ;-)


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