76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

Parallix

Zitat von: DS_Starter am 17 September 2025, 17:10:36...
- Battery_ChargeRequest_01 -> ist ein Reading welches eine Notladung (vom Grid) signalisiert falls (im Winter) lowSoc unterschritten werden sollte
...

Vielleicht sollten wir statt des Begriffs "Notladung" besser "Erhaltungsladung" verwenden.

Grund: Eine Notladung wird üblicherweise vom BAT-System selber ausgelöst und zwar dann, wenn sich das BAT-System nicht mehr weit von einem Zustand befindet, bei dem aufgrund einer zu geringen Spannung einzelner Zellen das System beschädigt werden kann.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Erhaltungsladung ist eigentlich auch schon von der Batteriephysik besetzt. Aber Anforderungsladung trifft es ganz gut und wäre auch die Übersetzung des Readings
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

klaus.schauer

#4082
Zitat von: Max_Meyer am 17 September 2025, 10:36:03vielleicht könntest du etwas ausführlicher beschreiben wo dein Problem im Energiefluss des Hybrid-WR legt - ich würde das gern verstehen
PV-Systemelemente mit Hybridwechselrichter
- SMA STP10.0SE (SUNNY TRIPOWER 10.0 SE) mit angeschlossenem Solarspeicher (setupInverterDev01 + setupBatteryDev01 / wr4136601s)
- SMA STP3.0-3AV-40 (Sunny Tripower 3.0) (setupInverterDev02 / wr4136602s)
- SMA Homemanager 2.0 (HM 2.0) (setupMeterDev / wr4136601s)
- Virtueller AC/DC Batteriewechselrichter (SolarForecast Battery Inverter) (setupInverterDev03 / wr4136601s)

Ich habe mir eine passende Konvertierung für die Energieflüsse des Hybridwechselrichters erstellt. Damit sollte sich die Anforderung und die Lösung beschreiben lassen.
setupBatteryDev01: wr4136601s pin=BAT_P_CHARGE:W pout=BAT_P_DISCHARGE:W pinmax=10000 poutmax:10000 intotal=BAT_LOADTOTAL:Wh outtotal=BAT_UNLOADTOTAL:W cap=19300 charge=ChargeStatus asynchron=1 show=1:bottom
setupInverterDev01: wr4136601s strings=south capacity=10000 pvIn=SPOT_PDC_SUM:W pvOut=pAc:W etotal=SPOT_EPVTOTAL:Wh asynchron=1
setupInverterDev02: wr4136602s strings=east capacity=3000 pvIn=SPOT_PDC_SUM:W pvOut=SPOT_PACTOT:W etotal=SPOT_ETOTAL:Wh asynchron=1
setupInverterDev03: wr4136601s strings=none capacity=10000 ac2dc=BAT_P_CHARGE:W dc2ac=BAT_P_DISCHARGE:W asynchron=1
setupMeterDev: wr4136601s gcon=Meter_Power_Grid_Consumation:W contotal=Meter_TOTAL_Grid_Consumation:Wh conprice=0.299:EUR  feedin=Meter_Power_Grid_FeedIn:W feedtotal=Meter_TOTAL_Grid_FeedIn:Wh asynchron=1 feedprice=0.0643:EUR

- SolarForecast setupInverterDev01/pvOut=pAc (wr4136601swr4136601s (TYPE: SMAInverter) / userReading)
pAc {myUtils_pvCalcWrInOut(ReadingsVal("wr4136601s","SPOT_PACTOT",0), ReadingsVal("wr4136601s","SPOT_PDC_SUM",0), ReadingsVal("wr4136601s","BAT_P_CHARGE",0), ReadingsVal("wr4136601s","BAT_P_DISCHARGE",0));;}

- Konvertierungsroutine
# called by WR
#
#  $pAC = ReadingsVal("wr4136601s","SPOT_PACTOT",0);
#  $pDC = ReadingsVal("wr4136601s","SPOT_PDC_SUM",0);
#  $pBatIn = ReadingsVal("wr4136601s","BAT_P_CHARGE",0);
#  $pBatOut = ReadingsVal("wr4136601s","BAT_P_DISCHARGE",0);

sub myUtils_pvCalcWrInOut {
  my ($pAc, $pDc, $pBatIn, $pBatOut) = @_;
  my $etha = 0.98;
  if ($pBatIn > 0) {
    if ($pAc >= 0) {
      $pAc = $pAc + $pBatIn;
    } else {
      $pAc = $pDc * $etha;
    }
  } elsif ($pBatOut > 0) {
    $pAc = $pDc * $etha;
  }
  return $pAc;
}
-- Batterieladung: Ausgangsleistung des Hybridwechselrichters enthält den Solar- und den Batterieanteil, da der virtuelle Battery Inverter die Energie auf der AC-Ebene entnimmt.
-- Batterieentladung oder Batterie inaktiv: Ausgangsleistung des Hybridwechselrichters enthält nur die Solarleistung gemindert um einen Wirkungsgradfaktor

DS_Starter

Im Wiki habe ich die Verwendung von ctrlBatSocManagementXX->lcSlot am Beispiel einer sequentiellen Batterie-Ladung mehrerer Batterien erläutert.

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

DS_Starter

Guten Morgen,

ich möchte daran erinnern, dass das Reading Battery_ChargeRecommended_XX in einer der folgenden Version entfernt wird wie schon lange im Postkasten angekündigt.
Wer dieses Reading noch in Skripten benutzt, sollte es durch das Reading Battery_ChargeUnrestricted_XX ersetzen.

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

Max_Meyer

Zitat von: klaus.schauer am 18 September 2025, 16:20:04Ich habe mir eine passende Konvertierung für die Energieflüsse des Hybridwechselrichters erstellt. Damit sollte sich die Anforderung und die Lösung beschreiben lassen.
Guten Morgen Klaus,
jetzt verstehe ich dein Problem - Ich selbst arbeite - wie im Bild 'SMA-HYB' beschrieben - ohne einen separaten Batterie-WR in der Darstellung - da diesen den Energiefluss in meinem Fall nicht korrekt darstellen würde.
Der derzeitige Energiefluss wird (aus meiner Sicht) von SF - sehr gut und faktisch richtig (ohne zusätzlichen BAT-WR) abgebildet. Dazu hab ich mal für einige Anwendungsfälle die Screens  (1-7) reingehangen. Dort jeweils den Energiefluss markiert.
Grobziel: Die mit allen WR produzierte PV-Energie wird primär zur Bedarfsdeckung verwandt - entsteht ein Überschuss, werden die Bat. geladen.
Screens:
1.) Anlage Istzustand mit Erklärung
2.) Anlage mit mehr als einer Batterie und Bat-WR wie es aus meiner Sicht aussehen müsste --> grün dargestellter Bereich (bräuchte ich aber nicht! mir gefällt die derzeitige Darstellung)
3.) Anwendungsfall: 03_SF-PV-Ueberschuss - nur Bedarfsdeckung - keine Batterie-Ladung
4.) Anwendungsfall: 04_SF-Batterieentladung mit zu viel Energie aus Batterie
5.) Anwendungsfall: 05_SF-Batterieentladung + PV - zur Bedarfsdeckung
6.) Anwendungsfall: 06_SF-Batterieentladung mit zu wenig Energie aus Batterie + Netz zur Bedarfsdeckung
7.) Anwendungsfall: 07_SF-Batterieladung + PV zur Bedarfsdeckung

Meiner Meinung nach werden alle die Energieflüsse damit korrekt abgebildet. Die Summierung erfolgt korrekt automatisch durch SF - ggfls. kurzzeitige Differenzen sind auf asynchron abgefragte Readings zurückzuführen. Das Schöne an SF ist, das es viele Möglichkeiten, und nicht nur die eine Lösung gibt.
Gruß Gerd

@Heiko:
Falls du SMA-HYB.jpg im Wiki noch verwenden möchtest - hier habe ich den in der ersten Version enthaltenen Fehler mit 'SPOT_PACTOT' ausgemerzt
Gerd
FHEM: PI3...5 FB7590/7530/EnOcean/FS20 /Revolt/FHEM2FHEM/HTTPMOD-->Solmaxx-, Deye-, Bosswerk-Inverter/ModBusTCP -->SMA-Inverter, GoE-Charger, BröntjeWP/Solarforecast/DbLog/DbRep/PostgreSQLDB/Grafana/MQTT-->Shelly,FHEM,HMS/HCCON/Netatmo/KLF etc.

DS_Starter

Zu den Hybridwechselrichtern gibt es ja nun jede Menge Input. Das WE bin ich unterwegs und versuche kommende Woche den Start bzgl. des diesbezüglichen Wiki-Eintrags zu finden. Das bedarf sicherlich einen längeren Zeitraum um alle Beispiele ordentlich sortiert dort einzufügen.

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

DS_Starter

Ich habe die OTP Berechnung noch etwas nachgeschärft und die V 1.58.4 ins contrib geladen. Ihr könnt sie gerne mal über das WE ausprobieren.

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 19 September 2025, 09:59:27Ich habe die OTP Berechnung noch etwas nachgeschärft und die V 1.58.4 ins contrib geladen. Ihr könnt sie gerne mal über das WE ausprobieren.

Komme gar nicht mehr mit dem Testen nach. Was hat Du denn warum "nachgeschärft" und welche Auswirkungen erwartest Du?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Bin schon unterwegs deswegen kurz ... kein OTP grösser pinreduced vor Sonnenaufgang. Kam durch die übernahme von negativen surplus = Verbrauch zustande.

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