[23_BYDBox] - Modul für BYD Box Battery

Begonnen von MiniBlister, 14 Juni 2021, 18:37:02

Vorheriges Thema - Nächstes Thema

Parallix

#270
Zitat von: MadMax am 19 September 2024, 20:14:18Der unterhalb der Module wird anhand der Spannung vom Modul berechnet und der andere von der BMU, das ist auch der Wert drn ich lese.
Der SOC (BYD) wird auch nicht immer angezeigt da dieser über die Spannung nur sehr schwer bis gar nicht zu ermitteln ist.

Wenn "SOC (BYD)" angezeigt wird, so lässt sich z.B. folgendes klären bzw. angehen: Wie stark weicht der "SOC (BYD)" von dem ab, den die BMU errechnet hat?  Ist die Abweichung groß, dann liegt möglicherweise ein Fall vor, dem etwas Aufmerksamkeit geschenkt werden sollte. Liegt sie in allen Modulen vor, so ist der Fall vielleicht durch ein Balancing zu lösen. Letzteres kann dann z.B. durch eine veränderte Ladestrategie (indirekt) forciert werden.

Natürlich könnte man o.g. auch erreichen, wenn eine Abbildung Spannung->SOC vorliegt. Hier wäre aber dann auch noch zu betrachten, ob derzeit geladen oder entladen wird. Dieser Weg erscheint mir  Vergleich zum dem über den "SOC (BYD)" aufwändig. Siehst Du das anders?

MadMax

Der SOC(BYD) wird von Olli anhand der Spannung berechnet. Diese Daten liefert die BMU und das BMS nicht.

Die Readings "Battery_X_VoltsperModule_X" liefern dir die Spannung pro Mudul zurück.
Bei einer Eisenphosphat Zelle kannst du mur von 0-10% und 90-100% den SOC über die Spannung ermitteln.

Schau dir mal die Spannungskennlinie von Eisenphosphat Akkus an.
https://de.m.wikipedia.org/wiki/Lithium-Eisenphosphat-Akkumulator

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Parallix

Zitat von: MadMax am 20 September 2024, 15:17:18Der SOC(BYD) wird von Olli anhand der Spannung berechnet. Diese Daten liefert die BMU und das BMS nicht.

Das wusste ich nicht. Wahrscheinlich steht's irgendwo im Photovoltaik-Forum und ich hab's übersehen. Möglicherweise steht dort auch, wie Oli es macht. Auf Basis einer Ladungsmengenzählung unter Verwendung der Stromsensoren hoffentlich nicht, da diese bekanntermaßen ja nicht besonders präzise arbeiten. Via Impedanzmessung geht's von außerhalb nicht, es sei denn man kennt die hierfür eingesetzten Widerstände, hat keine externe Lade/Entladung und beobachtet dann das Absacken der Spannung während des Balancings über der Zeit. Ohne viel zusätzlichem Aufwand bleibt wohl nur noch der Weg über eine (wie auch immer) abgelegte Lade/Entladekurve. Danke jedenfalls für die Info!

MadMax

Ich habe Oli gefragt, er rechnet das anhand der Spannung aus aber nur wenn nicht geladen oder entladen wird da dies sonst nicht möglich ist.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Parallix

#274
Zitat von: MadMax am 21 September 2024, 10:01:56Ich habe Oli gefragt, er rechnet das anhand der Spannung aus aber nur wenn nicht geladen oder entladen wird da dies sonst nicht möglich ist.

Danke für's Nachfragen!

Er guckt sich also die Leerlaufspannung an, die in der Tat nur ohne Last gemessen werden kann, da man den Spannungsabfall über dem Innenwiderstand der "realen Spannungsquelle" ja nicht kennt. Da der Innenwiderstand eine Spannungsquelle (aus Alterungsgründen der Zelle(n)) mit der Zeit steigt, aber auch da sich die Leerlaufspannung nach Abschalten einer Ladung oder Entladung für eine Weile (wenige Minuten) verändert, ist die Leerlaufspannung nur sehr begrenzt für eine solide Ladezustandsangabe nutzbar. Besser wäre wohl eine Bestimmung auf Basis von Messungen bei unterschiedlichen aber wohlbekannten Strömen. Wegen der ungenauen Messung in den BYDs, geht dies aber leider nur auf Basis einer (hoffentlich) präziseren WR-seitigen Messung. Also nichts, was man im hier besprochenen Modul direkt machen kann.

MadMax

Ne, das wäre nix was in dem Mudul funktioniert oder überhaupt mit den Daten zu Berechnen wäre.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

FhemPiUser

#276
Hallo Zusammen,

ich habe einen merkwürdigen Efekt seit 3 Tagen: Das Modul aktualisiert die Readings nicht mehr, obwohl keine Fehlermeldungen kommen.

Ein list zeigt folgendes:

Internals:
   DEF        192.168.16.254 60
   FUUID      66ddf00b-f33f-be48-0df0-285d1c49805da4d5
   FVERSION   23_BYDBox.pm:v0.8.0-s26625/2024-02-20
   HOST       192.168.16.254
   INTERVAL   60
   LASTUPDATE 23.09.2024 / 21:01:46
   NAME       myBYDBox
   NEXTUPDATE 26.09.2024 / 07:59:01
   NOTIFYDEV  global
   NR         1703
   PORT       8080
   STATE      78.6 % | 636.45 Watt | 7909 Wh In & 5126 Wh Out today | 22 - 24 °C | 3311 - 3314 V
   TYPE       BYDBox
   eventCount 7838
   nextRead   all
   nextReadBMS 1
   pollingMode on
   HELPER:
     PACKAGE    main
     VERSION    0.8.0
   fhem:
     portDefined 0
   helper:
     RUNNING_PID:
       abortFn    BYDBox_UpdateAborted
       arg        myBYDBox
       bc_pid     872173
       finishFn   BYDBox_UpdateDone
       fn         BYDBox_DoUpdate
       loglevel   4
       pid        DEAD:1822691
       telnet     telnetForBlockingFn_1726599315.62247_127.0.0.1_46530
       terminated 1
       timeout    25
       abortArg:
Attributes:
   detail-level 1
   error-readings 1
   room       PV-Anlage,PV-Anlage->BYDBox
   stateFormat Battery_1_SOC % | BatteryPower Watt | Battery_1_ChargeE_today Wh In & Battery_1_DischargeE_today Wh Out today | Battery_1_MinTempCell - Battery_1_MaxTempCell °C | Battery_1_MinmVolt - Battery_1_MaxmVolt V
   statistics 1
   status-readings 1
   verbose    5

Dort steht "BYDBox_UpdateAborted" und "PID: dead".

Im fhem log mit verbose 5 steht aber nur Folgendes:

2024.09.26 07:55:01.831 5: BYDBox_UpdateReadings started
2024.09.26 07:55:01.833 3: [myBYDBox] Blocking Call running no new started
2024.09.26 07:55:01.833 5: BYDBox_SetNextTimer started
2024.09.26 07:55:01.838 5: [myBYDBox] BYDBox_SetNextTimer to 60
2024.09.26 07:56:01.839 5: BYDBox_UpdateReadings started
2024.09.26 07:56:01.840 3: [myBYDBox] Blocking Call running no new started
2024.09.26 07:56:01.840 5: BYDBox_SetNextTimer started
2024.09.26 07:56:01.841 5: [myBYDBox] BYDBox_SetNextTimer to 60
2024.09.26 07:57:01.848 5: BYDBox_UpdateReadings started
2024.09.26 07:57:01.848 3: [myBYDBox] Blocking Call running no new started
2024.09.26 07:57:01.849 5: BYDBox_SetNextTimer started
2024.09.26 07:57:01.850 5: [myBYDBox] BYDBox_SetNextTimer to 60
2024.09.26 07:58:01.850 5: BYDBox_UpdateReadings started
2024.09.26 07:58:01.851 3: [myBYDBox] Blocking Call running no new started
2024.09.26 07:58:01.851 5: BYDBox_SetNextTimer started
2024.09.26 07:58:01.852 5: [myBYDBox] BYDBox_SetNextTimer to 60
2024.09.26 07:59:01.853 5: BYDBox_UpdateReadings started
2024.09.26 07:59:01.854 3: [myBYDBox] Blocking Call running no new started
2024.09.26 07:59:01.854 5: BYDBox_SetNextTimer started
2024.09.26 07:59:01.855 5: [myBYDBox] BYDBox_SetNextTimer to 60

Netzverbindung war da, weil ich mit ollis Tool aktuelle Werte von der BYDBox bekommen habe.
"set active" oder "get data all" im fhem Modul haben niht geholfen.

Erst nach einen fhem Neustart ging es wieder.

Jemand eine Idee woran das liegen kann?

MadMax

Fhem schonmal neu gestartet?
Sieht so aus als könnte kein Blocking Call gestartet werden. Eventuell der RAM voll?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

FhemPiUser

nach fhem Neustart ging es.

Aber was war die Ursache? Zu wenig RAM kann es nicht sein, der hat 8GB RAM und es läuft nur fhem darauf, d.h. es war genug frei.

MadMax

Das mit BlockingCall hatte ich auch schonmal aber in einem anderen Modul.
Ich weiß es ehrlich gesagt nicht. Gab es log Einträge als der Fehler begonnen hatte?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

FhemPiUser

Zitat von: MadMax am 27 September 2024, 08:17:56Das mit BlockingCall hatte ich auch schonmal aber in einem anderen Modul.
Ich weiß es ehrlich gesagt nicht. Gab es log Einträge als der Fehler begonnen hatte?

Leider nein...