76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

oelidoc

Hallo,
ich bin gerade dabei, eine Batteriesteuerung mit SF einzurichten. Dabei ist mir aufgefallen, dass heute bei blauem Himmel die ganze Zeit Battery_ChargeRecommended_01 = 1 ist, obwohl der BYD HVS schon lange voll ist. Das liegt wahrscheinlich an dem BYDBox Modul, das die Daten für das SF Batterie Device liefert: der SOC steht dort auf (echten) 98%, was bei allen anderen Devices von SMA (WR, EM) als 100% angezeigt wird. Gehe ich recht in der Annahme, dass der Battery_ChargeRecommended_01 nur bei 100% auf 0 geht? Und wie kann ich bei der Batteriesteuerung dafür sorgen, dass 98% SOC der BYDBox als voller Akku gewertet werden?
Vielen Dank im voraus
oelidoc

ahlermi

Hallo zusammen,
Ich habe heute auf der Arbeit ein

update all
gemacht und von 1.51...  auf 1.52.3 aktualisiert, danach ist leider FHEM nicht mehr gestartet, divison bei zero in Zeile 13987, ich bin mit dem Modul echt gut zufrieden habe aber leider schon mindestens 2 mal durch ein Update mein System geschrottet, das ist nicht gut für den WAF-Faktor.

Gibt es vielleicht ein paar Möglichkeiten das Fehler in der Art abgefangen werden das nur das Modul nicht arbeitet, aber das System noch startet?

Hier meine Korrektur, damit läuft FHEM wieder.

Ich bekomme jetzt aber There may be '3' incorrect value(s) in the 'con' key of the pvHistory Storage. ohne das im Log was auftaucht was ich resetten kann.

Viele Grüße und Danke für die viele Arbeit an dem Modul!

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

@Medel,

hier ist ein Fehler

attr solarforcast setupBatteryDev01 SENEC pin=-pout:W pout=AKKU-Entnahme:W cap=10000 charge=AKKU-Beladung

Richtig wäre nur pin=-pout ohne die Einheit.
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

Hallo Michael,

das tut mit wirklich leid, aber ein "divison bei zero" toleriert Perl nicht.
Bei aller Akribie kann es Zustände geben die bei 1000 Usern kein Problem darstellen, beim 1001sten gibt es eine Konstallation die einen Divisor "0" verursachen.
Wenn ich eine solche Stelle feststelle oder gemeldet bekomme, kann ich es fixen. Wie in diesem Fall.

Aber kleine Kritik ... ein Update eines produktiven Systems sollte man nicht remote machen. Fehler passieren trotz allen Tests durchaus, davor ist niemand gefeit.

Ich entschärfe diese Stelle.

ZitatIch bekomme jetzt aber There may be '3' incorrect value(s) in the 'con' key of the pvHistory Storage. ohne das im Log was auftaucht was ich resetten kann.
Mindests verbose 1 im Device gesetzt und dann Anlagencheck ausgeführt? Dann erscheinen die Logeinträge mit dem reset-Hinweis.

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

Medel

Zitatattr solarforcast setupBatteryDev01 SENEC pin=-pout pout=AKKU-Entnahme:W cap=10000 charge=AKKU-Beladung
attr solarforcast setupBatteryDev02 Mqtt_cerbo pin=Batterie_Power_value:W pout=-pin cap=16600 charge=Batterie_value
hab es geändert. Keine Änderung. Kann den Wert nirgends finden.
Vielleicht habe ich es auch falsch geschrieben. In der Grafik ist der Wert richtig nur finde ich kein Reading das ich abfragen kann.
ZitatCurrent_BatCharge_01 49.49 %
Current_BatCharge_02 100.0 %
nur diese werden angezeigt es gibt kein Current_BatCharge_0X
In dem Beispiel wird in der Grafik jetzt 81% angezeigt, dies wollte ich abfragen.

300P

Zitat von: DS_Starter am 19 Mai 2025, 18:19:15@oelidoc,
my $timestart = 9;
my $timeend = 15;
ist so richtig. Das "my" hat 300P sicher nur vergessen bzw. hatte die Variablen vorher mit my definiert.

LG,
Heiko


Sorry - bei mir wird das (wie vermutet) schon vorher in einem anderen Bereich / Code-Fragment initialisiert.
Ändere es in meinem Post "richtig" ab.

Gruß
300P
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

DS_Starter

Zitatnur diese werden angezeigt es gibt kein Current_BatCharge_0X

Das sind sie doch. X ist nur ein Platzhalter, also Current_BatCharge_01, Current_BatCharge_02, ....
Was du meinst ist der gewichtete Durchschnitts-SoC aller Batterien wie in der Flußgrafik zu sehen.

Das Reading gibt es derzeit nicht, kann es aber zum Beispiel in ctrlSpecialReadings auswählbar zur Verfügung stellen.
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

300P

Zitat von: oelidoc am 19 Mai 2025, 19:38:32Hallo,
ich bin gerade dabei, eine Batteriesteuerung mit SF einzurichten. Dabei ist mir aufgefallen, dass heute bei blauem Himmel die ganze Zeit Battery_ChargeRecommended_01 = 1 ist, obwohl der BYD HVS schon lange voll ist. Das liegt wahrscheinlich an dem BYDBox Modul, das die Daten für das SF Batterie Device liefert: der SOC steht dort auf (echten) 98%, was bei allen anderen Devices von SMA (WR, EM) als 100% angezeigt wird. Gehe ich recht in der Annahme, dass der Battery_ChargeRecommended_01 nur bei 100% auf 0 geht? Und wie kann ich bei der Batteriesteuerung dafür sorgen, dass 98% SOC der BYDBox als voller Akku gewertet werden?
Vielen Dank im voraus
oelidoc

Nein es muss nicht 100% SOC erreicht werden um auf Battery_ChargeRecommended_01 = 0 zu kommen.
Die Logik ist anders:
Lese doch evtl. das WIKI =>> netzdienlich <<==nochmals durch.
Wenn du es erst heute mittag eingerichtet hast - warte bis morgen - dann sollte es schon passen.  ;)
(Vorausgesetzt das alles richtig eingerichtet ist)


Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

oelidoc

Zitat von: 300P am 19 Mai 2025, 20:35:18Sorry - bei mir wird das (wie vermutet) schon vorher in einem anderen Bereich / Code-Fragment initialisiert.
Ändere es in meinem Post "richtig" ab.
Gruß
300P
Kein Problem, hast mir ja sehr geholfen!
Vielen Dank
oelidoc

oelidoc

Zitat von: 300P am 19 Mai 2025, 20:50:33Nein es muss nicht 100% SOC erreicht werden um auf Battery_ChargeRecommended_01 = 0 zu kommen.
Die Logik ist anders:
Lese doch evtl. das WIKI =>> netzdienlich <<==nochmals durch.
Wenn du es erst heute mittag eingerichtet hast - warte bis morgen - dann sollte es schon passen.  ;)
(Vorausgesetzt das alles richtig eingerichtet ist)

Ja, mach ich - morgen ist auch noch ein Tag - melde mich, wenn´s nicht klappt

Gruß
oelidoc

300P

Zitat von: Medel am 19 Mai 2025, 20:32:18
Zitatattr solarforcast setupBatteryDev01 SENEC pin=-pout pout=AKKU-Entnahme:W cap=10000 charge=AKKU-Beladung
attr solarforcast setupBatteryDev02 Mqtt_cerbo pin=Batterie_Power_value:W pout=-pin cap=16600 charge=Batterie_value
hab es geändert. Keine Änderung. Kann den Wert nirgends finden.
Vielleicht habe ich es auch falsch geschrieben. In der Grafik ist der Wert richtig nur finde ich kein Reading das ich abfragen kann.
ZitatCurrent_BatCharge_01 49.49 %
Current_BatCharge_02 100.0 %
nur diese werden angezeigt es gibt kein Current_BatCharge_0X
In dem Beispiel wird in der Grafik jetzt 81% angezeigt, dies wollte ich abfragen.


Ich habs per UserReading realisiert:
(wird wohl keiner 999 Batterien haben  O:-) )
attr Forecast userReadings Current_BatCharge999 {((ReadingsNum("SBS37","chargestatus",0) * 10 * ReadingsNum("SBS37","bat_rated_capacity",0))  + (ReadingsNum("SBS25_2","chargestatus",0) * 10 * ReadingsNum("SBS25_2","bat_rated_capacity",0))) / ( (ReadingsNum("SBS37","bat_rated_capacity",0) * 1000)  + (ReadingsNum("SBS25_2","bat_rated_capacity",0)*1000))*100},
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

DS_Starter

@oelidoc

ZitatUnd wie kann ich bei der Batteriesteuerung dafür sorgen, dass 98% SOC der BYDBox als voller Akku gewertet werden?
Im Attr ctrlBatSocManagementXX hast du den Schlüssel maxSoC zur Verfügung. Es ist primär für einen anderen Zweck vorgesehen, aber maxSoC=98 würde der Batteriesteuerung mitteilen, dass 98% erreicht werden sollen um "volle" Ladung zu erreichen.
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

oelidoc

Hallo Heiko,
Zitat von: DS_Starter am 19 Mai 2025, 20:59:00@oelidoc
Im Attr ctrlBatSocManagementXX hast du den Schlüssel maxSoC zur Verfügung. Es ist primär für einen anderen Zweck vorgesehen, aber maxSoC=98 würde der Batteriesteuerung mitteilen, dass 98% erreicht werden sollen um "volle" Ladung zu erreichen.
Hab ich mal so übernommen - werde morgen vormittag beobachten...
LG & vielen Dank
oelidoc

DS_Starter

@Peter, @ahlermi, @all

ich habe die V 1.52.4 im contrib upgedated.
Enthalten ist:

- die Flußgrafik habe ich noch etwas ausgerichtet wie von Peter angemerkt (#2913)
- fix des Problems "devision by zero" (#2926)

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

#2939
@oelidoc,

wichtig ist noch zu beachten, dass Battery_ChargeRecommended_01=1 quasi die Standardeinstellung ist (auch Nachts). Heißt nichts anderes als dass die Batterie aufgeladen werden kann/sollte/könnte. Der Wert "0" bedeutet im Prinzip, dass man die Bat nicht bzw. nur bei Überschreitung des gesetzten Einspeiselimits laden sollte um Netzdienlichkeit in Verbindung mit der Vermeidung einer evtl. Drosselung der Anlage zu erreichen.
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