Victron DIY-Guide Teil 3 – Ein oder mehr BMS mit Venus OS verheiraten

IM EINSATZ?

Dann schau dir UNSEREN LOXKURS an und profitiere von unserem Wissen!

Hierzu gab es im Blog bereits mehrfach Anleitungen und in der Zwischenzeit auch zahlreiche Rückfragen, die ich hoffentlich mit nachfolgendem Video adressieren kann. Denn es hat sich in der Zwischenzeit einiges getan, was die Einrichtung einfacher und flexibler gemacht hat.

Zusätzlich gibt es am Anfang noch ein kurzes Update zur noch ausstehenden Möglichkeit das Venus-OS-Device mit einer unterbrechungsfreien Stromversorgung ausstatten zu können. Denn mit der richtigen Powerbank funktioniert das Ganze direkt ohne jegliche Probleme. Aber seht selbst…

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

YouTube-Direktlink

Links aus dem Video

1:13
Shanqiu USV Mini UPS (Affiliate-Link)

4:01
USB Tester Messgerät 4-30V (Affiliate-Link)

5:05
JBD AP21S002 21S 200A UART&RS485
Operation Hausspeicher – Stückliste und Bezugsquellen immer aktuelle Links

5:47
LogiLink USB 2.0 Hub (10-Port) (Affiliate-Link)

7:01
Github / Louisvdw / dbus-serialbattery

7:42
lsusb

8:19
dbus-spy

8:44
wget https://raw.githubusercontent.com/Louisvdw/dbus-serialbattery/master/etc/dbus-serialbattery/install.sh

8:56
sh install.sh

9:36
nano /data/etc/dbus-serialbattery/config.default.ini

10:08
nano /data/etc/dbus-serialbattery/config.ini

11.27
FLOAT_CELL_VOLTAGE = 3.4
BMS_TYPE = LltJbd
SOC_LOW_WARNING = 0
SOC_LOW_ALARM = 0

UPDATE VOM 14.05.2024: Mitterweile sieht meine config.ini so aus:

MAX_BATTERY_CHARGE_CURRENT = 100
MAX_BATTERY_DISCHARGE_CURRENT = 100

; LOGGING = ERROR

MIN_CELL_VOLTAGE   = 2.90
MAX_CELL_VOLTAGE   = 3.50
FLOAT_CELL_VOLTAGE = 3.45

BMS_TYPE = LltJbd
SOC_LOW_WARNING = 0
SOC_LOW_ALARM = 0

LINEAR_LIMITATION_ENABLE = True ;False = Step Mode, True = lineare Grenzwerte

CCCM_CV_ENABLE = True ;Leistungsreduzierung auf Basis von Zellspannungen
CELL_VOLTAGES_WHILE_CHARGING   = 3.65, 3.50, 3.45, 3.40, 3.30
MAX_CHARGE_CURRENT_CV_FRACTION =    0,  0.1,  0.5,    1,    1

CELL_VOLTAGES_WHILE_DISCHARGING   = 2.80, 3.00, 3.10
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,  0.1,    1

CCCM_T_ENABLE = True ;Leistungsreduzierung auf Basis von Temperaturwerten
TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,  10,  15, 20, 45, 55
MAX_CHARGE_CURRENT_T_FRACTION     = 0, 0.1, 0.2, 0.4, 0.8,  1,  1,  0

TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,   0,   5,  10, 15, 45, 55
MAX_DISCHARGE_CURRENT_T_FRACTION     =   0, 0.2, 0.3, 0.4,  1,  1,  0

DCCM_SOC_ENABLE = False

UPDATE ENDE

13:49
reboot

15:13
dbus-spy

15:43
nano /data/etc/dbus-serialbattery/config.ini

15:57
CUSTOM_BATTERY_NAMES = /dev/ttyUSB0:Hallbude 6,/dev/ttyUSB1:Hallbude 5,/dev/ttyUSB2:Hallbude 4,/dev/ttyUSB3:Hallbude 1,/dev/ttyUSB4:Hallbude 2,/dev/ttyUSB5:Hallbude 3

16:42
reboot

17:33
https://meintechblog.de/2023/04/19/jbd-bms-in-venus-os-in-fuenf-minuten-einbinden-per-dbus-serial-battery-und-aggregate-batteries/#comment-24044

19:40
Github / pulquero / BatteryAggregator

39 Kommentare
  1. Wer kann mir sagen, wie ich ohne Cloud jedes inzelne Solarmodul einzeln auf meinem Computer anzeigen kann. Denn ich möchte nachträglich meine Solarmodule so ausrichten, um die größte möglichste Menge Solarenergie zu bekommen.

    Microwechselrichter, Bluetooth, WLAN möchte ich nicht einsetzen.

  2. Hallo zusammen,

    kennt jemand die Modbus Adressen für den Battery Aggregator (pulquero).
    Bei mir die ID 1024 angezeigt. Ich möchte die Kapazität auslesen, kenne jedoch die Adressen nicht.

    Danke im Voraus.

    VG
    MartinT

    1. Sowas ähnliches habe ich auch. Venus OS bindet Battery Aggragator mit der ID 1024 ein. Loxone lässt aber in Modbus eine solch hohe Adresse nicht zu.
      Was machen wir denn da?

      Reiner

    2. Hallo,
      hatte ebenfalls das Problem das BatteryAggregator immer mit ID: 1024 läuft und die höchste Modbusadresse in Loxone 255 ist.
      Wenn man per SSH eine Verbindung zum Venus OS aufbaut kann man die ID in der Datei „/data/BatteryAggregator/battery_service.py“unter foglendem Eintrag „DEVICE_INSTANCE_ID = XX“ anpassen.

      1. Datei öffnen
      nano /data/BatteryAggregator/battery_service.py
      2. Eintrag auf gewünschte ID abändern und mit STRG + X speichern.

      Nach einem Neustart wird die ID übernommen.

      LG
      Thomas

  3. Eine weitere Frage, die sich mir gerade stellt.

    Folgende Angaben:
    MAX_BATTERY_DISCHARGE_CURRENT zB 90A

    Ist das Absolut zu verstehen? Oder pro Batterie-Pack?
    Also wäre in letzterem Fall zB 90A für ein 100A-JBD-BMS mit 10A Sicherheitspuffer die richtige Einstellung?

    Das Gleiche gilt dann für CHARGE_CURRENT?

    Reiner

  4. Hallo Jörg,

    vielen Dank für deine Video-Reihe. Habe damit weitestegehend das System aufgebaut. Jetzt habe ich eine Frage. Ich habe das Serialbattery System installiert und konfiguriert. Jetzt habe ich aber das Problem, dass der max charge current nicht eingehalten wird.
    Zu meinem System, ich habe zwei MPPts it 12kWp. –> diese bringen schnell über 100A Ladestrom. –> Hier müssen dann die drei MP2 den überflüssigen Strom ins Netz schieben. (Selbst wenn ich in Serialbatteries den Ladestrom auf 60A reduziere wird dieser nicht eingehalten)

    Jetzt habe ich verschiedenes ausprobiert und festgestellt, dass solange das System hochfährt, die Leistung auch entsprechend reguliert wird. Sobald das System jedoch komplett hochgefahren ist und Ext. control da steht, wird der Ladestrom automatisch überschrieben. Lösche ich die DC Einspeisung funktioniert auch die Regelung wieder.
    Kann ich irgendwie beides haben? Dass der MP2 den überflüssgen Strom einspeißt? Wie funktioniert das bei dir?

    Vielen Dank vorab.

    Gruß, Pascale

    1. Hallo Pascal,

      Ich weiß nicht, ob die Antwort schon zu spät ist. Sobald du die Einspeisung einschaltest, lässt sich der Strom nicht mehr begrenzen. Der Jörg nutzt keine MPPT und hat das Problem somit nicht. Das ganze ärgert mich auch. Ich habe das Problem „gelöst“, in dem ich einfach ein weiteres Akku Pack gebaut habe. Somit teilt sich der Strom auf beide Packs auf.

      Du könntest dir über Note Red oder über Blockly Skripte schreiben, mit denen du das ganze regelst. Über Mode 3. damit habe ich mich aber auch nicht beschäftigt.

      Viele Grüße

      Martin

  5. Hallo Jörg,
    ich hatte auch ziemlich Probleme mit dem „AggregateBatteries“. Die Frage für mich ist, wie deinstalliere ich das ganze wieder. Oder kann das neben dem „Battery Aggregator“ einfach mitlaufen?

    Gruß Frank

    1. Wenn du nach meiner „alten“ Anleitung hier vorgegangen bist, öffne einfach die rc-local-Datei:

      nano /data/rc.local

      Und ändere den vorhandenen Eintrag

      ln -s /data/dbus-aggregate-batteries/service /service/dbus-aggregate-batteries

      um in

      #ln -s /data/dbus-aggregate-batteries/service /service/dbus-aggregate-batteries

      Also einfach eine Raute davor packen.

      Dann mit STRG + O (Speichern) und STRG + X (Schließen)

      Dann noch ein

      reboot

      und der Dienst sollte nicht mehr automatisch laufen… Die vorhandenen Programm-Dateien könnte man auch noch löschen, aber die tun ja nicht weh. Und so kannst du durch die Entfernung der Raute den Dienst auch einfach wieder starten, sofern das notwendig werden sollte. (insb. bei Tests gut)

      Viele Grüße
      Jörg

  6. Hallo Jörg, erstmal vielen Dank für deine Videos und Erklärungen. Ohne diese wäre ich verzweifelt. Jetzt habe ich alles soweit hinbekommen bis auf eine optische Sache die mich ein wenig stört. Ich habe 2 Batteriepcks mit 2 BMS. Habe den Aggregator, jedoch wird mir am Monitor (auf der bildlichen Darstellung) nur eine Batterie angezeigt. Im Menü selbst, sehe ich die Batterien einzeln und als Aggregator zusammengefasst. Kann ich auch eine Zusammenfassung in der bildlichen Darstellung haben? Hoffe du verstehst was ich damit meine.
    Vielen Dank schon mal.

    Gruß

    Peter

    1. Easy. Du musst Aggregate Batteries sowohl im Menü unter Einstellungen -> DVCC -> Steuerndes BMS als auch unter Einstellungen -> System Setup -> Batteriewächter auswählen. Erst mit der zweiten Einstellung stimmt auch der Leistungswert in der Visualisierung.

      Hatte ich auch in einem der nachfolgenden Videos kurz erwähnt – weil ich es selbst erst nicht wusste…

      Viele Grüße und Erfolg
      Jörg

  7. Hallo Jörg,
    ich habe gestern versucht die Namen in Serial Battery zu ändern dabei ist mir das Programm in Venus OS verschwunden. Folge war mehrere Stunden Suche und versuchte die BMS (JK) wieder sichtbar zu machen. Nach einer Deinstallation von Serial Battery und neu- Installation funktioniert wieder alles. Jetzt meine Frage die mich nicht in ruhe lässt: Die MPs (3Phasen) sind die ganze Zeit gelaufen und haben schön auf
    0 Watt ausgeglichen, es wurde auch bis wie eingestellt die Batterie beladen, wie konnte das gehen- über mehrere Stunden, wo sie doch keine Informationen vom BMS erhalten haben, woher wussten die MP wie sie sich verhalten sollte. Greift da die Grundeinstellung die man mit VE config an den MP Grundeinstellt? Redundant sozusagen?
    Sg Gerald

  8. Hallo, ich habe ein Problem mit einem der zwei JKBMs’s- eins wird nicht mehr dauerhaft gefunden es ist nur sporadisch sichtbar für eine Sekunde.
    Hast du eventuell eine Tipp für mich? Bis vor kurzem lief es Stabil, habe heute versucht die Config.ini mit besseren werten zu versorgen, seither habe ich diese verhalten…(Stecker sind es nicht) Kann ich den Battery Aggregator auch mit einem laufen Lassen?
    Sg Geri

    1. Ja dann tippe ich spontan darauf, dass du deine Settings „kaputtgespielt“ hast. Ist mir auch schon passiert. Mit JK kenne ich mich im Details aber auch nicht aus.

      Würde alles auf Start zurücksetzen und dann laaangsam der Reihe nach eine Einstellung nach der anderen anpassen – und dazwischen immer testen, ob es noch stabil läuft.

      Battery Aggregator läuft auch mit nur einem BMS, aber dann ist dessen Sinn davon nicht mehr wirklich gegeben…

      Viele Grüße und Erfolg
      Jörg

    2. Moin Geri,
      hast du schon eine Lösung gefunden? ich habe vermutlich das gleiche Problem. Bei mir wird immer nur ein BMS erkannt. Ich habe zwei JK BMSs mit je einem USB-RS485. Das BMS bei dem ich den USB Konverter zuerst einstecke wird im Venus OS erkannt. Der andere bleibt tot.
      Habe es erst an meinem Cerbo und jetzt nochmal an einem Raspberry Pi mit einem jungfräulichen Venus OS.

      MfG Michael

  9. Hallo Jörg

    wie sieht deine config von BatteryAggregator aus – hast Du da noch erweiterte Einstellungen wie wiederkehrende Balanceladungen (alle 14 Tage oder so) oder manuelles ausbremsen der Ladung mit steigender Zellspannung konfiguriert oder nutzt du die automatische Regelung? Haben andere hier weitergehende Erfahrungen?
    VG //Dirk

  10. Hallo Jörg,

    habe ein Problem beim Download des Install.sh-files.
    Ich bekomme immer folgende Fehlermeldung:

    root@raspberrypi4:~# wget https://raw.githubusercontent.com/Louisvdw/dbus-serialbattery/master/etc/dbus-serialbattery/install.sh
    –2024-03-09 12:41:29– https://raw.githubusercontent.com/Louisvdw/dbus-serialbattery/master/etc/dbus-serialbattery/install.sh
    Resolving raw.githubusercontent.com… 185.199.111.133, 185.199.108.133, 185.199.110.133, …
    Connecting to raw.githubusercontent.com|185.199.111.133|:443… connected.
    ERROR: The certificate of ‘raw.githubusercontent.com’ is not trusted.
    ERROR: The certificate of ‘raw.githubusercontent.com’ is not yet activated.
    The certificate has not yet been activated

    Wahrscheinlich eher eine basic Frage, für mich jedoch ein Stoplerstein…

    Danke im Voraus!

    Lg Dominik

    1. LÖSUNG! Nach langem herumprobieren habe ich einfach statt
      „wget …“ –> „wget –no-check-certificate …“ verwendet. relativ einfach…

      Danke trotzdem für den Input!

      Lg Dominik

  11. Hallo Jörg,

    Noch mal eine Frage zu den Spannungseinstellungen.
    Mit den aktualisierten Werten für CELL_VOLTAGES_WHILE_CHARGING reisse ich die 63V Sicherung des BMS (so wie im Artikel für die Spannungseinstellungen beschrieben).
    Wenn ich allerdings „konservativ“ rangehen und die so wähle, dass man nie über 63V kommt, dann lädt er die Packs (ich habe 2p 18s) nie ganz voll.
    Was hast Du denn da aktuell einstellt (im serialbattery und im BMS)?

    Gruß,
    Rudi

  12. Hallo an alle. Habe folgendes Problem: Mein Cerbo Gx erkennt die JBD bms nicht über RS485 Adapter . Es sind 3x AP21S002 200A mit UART&485&CAN. Die RS485 Adapter sind zusammen mitgeliefert worden mit den BMS.
    Unter lsusb. und dbus-spy werden sie nicht angezeigt. Der hub wird erkannt. Habe auch einzeln versucht direkt an cerbo angeschlossen und das gleiche, sie werden einfach nicht erkannt.
    Jemand ne Idee?

    Bin schon am am Ende 😩

    1. Sicher, dass Du die an der korrekten Buchse am BMS hast? Ich hatte meinen ersten Pack versehentlich an der Buchse daneben … dann erkennt er die nicht! Man sieht aber im SerialBattery log, dass er es versucht …

  13. wenn ich den einen direkt an cerbo gx anschließe, bekomme ich das angezeigt: Bus 003 Device 002: ID 1a86:55d3 QinHeng Electronics USB Single Serial

  14. Guten Morgen, ich habe das Problem gelöst in dem ich Debus-serialbattery über usb Stick installiert habe.
    Jetzt folgendes Problem : Venus OS erkennt nur ein BMS von den drei. Einzeln erkennt er alle drei aber sobald ich mit hub alle drei anschließe, wird nur ein JBD BMS erkannt .

    BatteryAgregator ist installiert und zeigt dass 1 BMS Online ist.

    Woran kann es liegen?

    1. Schau mal ins Log – wenn die Packs alle die selbe Kapazität haben, kann er die (mangels sonstiger Seriennummer) nicht auseinanderhalten. Das steht dann auch so im Log.
      Also entweder die Kapazität leicht ändern (ich habe z.B. bei zwei Packs eins auf 280 und eins auf 281 gestellt), oder die Option nutzen, den device path als ID zu nutzen (bei der aktuellen Version von dbus-serialbattery verfügbar).

  15. Dankeschön Rudi, es hat geklappt 👍🏽
    Etwas ist noch merkwürdig: ab und zu wird das System neu gestartet und ich bekomme den Fehler- „BMS Connection lost“ .

    Kennt das jemand?

  16. @Rudi & Martin (Jörg?)
    das habe ich noch nicht verstanden…
    Bei mir wird das JBD mit der Adresse „Serial /dev/ttyACM1“ korrekt erkannt aber das mit der Adresse „Serial /dev/ttyACM0“ nicht.
    Der Aggregator funktioniert, bildet aber natürlich momentan sinnfreierweise nur ein BMS ab.
    Die BMS haben baugleiche Packs und sind identisch eingestellt.
    Was schreibe ich in die config.ini?
    Dirk

    1. Garnichts! Du musst für ein Pack eine leicht geänderte Kapazität eintragen (über die Bluetooth App).

  17. Hallo,
    ich bin am verzweifeln mit dem Battery Aggregator. Ich habe ein System mit einem JK BMS und einem Seplos BMS V2. Beide über can angeschlossen, so dass ich serialbattery nicht benutze. Beide werden erkannt und auch zusammengefasst.
    Jetzt wollte ich mir die min/Max Zelltemperaturen und Spannungen mit Modus anzeigen lassen. Die Modus ID ist auf 1024. Dann bekomme ich eine Fehlermeldung dass die Werte nicht abgefragt werden können. Wenn ich aber die Modus Adresse wie oben erwähnt auf 201 stelle, dann erkennt der MP2 es nicht mehr und sagt Low Voltage.
    Hat einer es geschafft, das System mit Modus abzusagen und wenn ja mit welcher Adresse? Hab schon alles durch von 199 bis 210.
    Danke für eine Hilfestellung.
    VG

  18. Hallo zusammen, ich habe 2 Akku Systeme am laufen.
    Konfiguration: 3x MP 5000 mit 3x 18s Akku in Kombination mit jeweils 3 JKbms angeschlossen über rs485

    Bei beiden Systemen kann ich folgendes Phänomen beobachten:
    Seriel Batterie meldet voller Ladestrom möglich bei allen 3 Packs aber battery Agregator regelt die Ladeleistung willkürlich runter. Z.t. Auf 1/3 der Leistung was laut serial battery möglich ist.

    Hat jemand ein Lösungsansatz?

  19. Hallo,
    die SoC der beiden Batteriepacks werden weitergegeben, aber 25 % zu gering.
    Wenn also das Pack 100% hat werden 75 % angezeigt, bei 95% sind es 73,1%.
    Kennt das jemand?
    Wo würdet ihr den Fehler suchen?
    Dirk

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dir auch gefallen