Dali BMS wird nicht ausgelesen

Hi,
Ich habe nun frisch ein RPI3 aufgesetzt mit dem letzten verfügbaren Image (v1.0.2). Das Dali BMS wurde via USB Dongle angeschlossen. (Reload USB => dem entsprechenden USB Port das Dali Monit zugewiesen). Monitor View zeigt bei Batterie nur “waiting for reading”…
Mit Dali SW am PC via USB angeschlossen funktionierts.In NodeRed habe ich mir mal die globalen Variablen der Batterie angeschaut und da erscheint auch nur “waiting…”

Es gab ja mal schon ein Post zu diesem Problem aber checke die Lösung mit dem Python Script nicht. Liegt das an dem relativ alten Image für den RPI3? Ist das ein known Bug?

Gruss
Michili

So so, nicht alle auf einmal!
Nach dem lesen diverser Beiträge, changelogs etc. denke ich, dass das ein Bug des relativ alten Images (v1.0.2) für den RPI3 ist. Ich denke mit dem neuesten Image für den RPI4 könnte es funktionieren.
Warum werden eigentlich RPI3 nicht mehr weiter supported?

Grundsätzlich scheint mir diese Version noch sehr buggy zu sein. Eigentlich wollte ich ja den HAT und Stromsensor dazu kaufen um mein System aufzubauen aber inzwischen zweifle ich daran. Alles was ich machen wollte hat nicht funktioniert wie

  • FW update
  • einbinden ins WLAN
  • verbinden mit DALI BMS
  • verbinden mit Renogy DC/DC charger

Da frage ich mich schon was bringt mir dieses System… (sorry, bin wohl etwas frustriert)

Gruss
Michili

Hey,

da ja mittlerweile selbst der RPI4 über 4 Jahre alt ist und die Hardware sich gegenüber dem RPI3 doch etwas mehr geändert hatte, bereitet es einen sehr großen Aufwand auch das Image für den RPI3 auf dem neusten Stand zu halten.
Da sich mittlerweile die preisliche Situation ebenfalls etwas beruhigt hat, haben wir den Fokus erstmal nicht mehr auf den RPI3 gelegt. Irgendwo hatte ich auch schonmal geschrieben, dass die v1.0.2 erstmal die letzte ist, die für den 3er kommt.
Bedenk aber bitte, dass das alles Open-Source ist. Die einzelnen Funktionen sind also einsehbar und können individuell angepasst werden, bis es für dich persönlich passt und funktioniert.
Ich verstehe deinen Unmut in der Hinsicht, aber der Aufwand lohnt sich für uns nicht mehr wirklich, da eher wenige Leute noch den RPI3 benutzen.

1 Like

Hi Vincent,

Zuerst mal vielen Dank das du mein Hilferuf gehört hast! Ich hätte nicht gedacht das der Aufwand für den RPI3 weiter zu unterstützen so gross ist und auch nicht, dass er gar nicht mehr so breit eingesetzt wird.
Kannst du mir bestätigen, dass das Dali BMS mit der Version 1.0.2 nicht funktioniert und die Chancen gut stehen das es funktioniert mit einem RPI4 und der Version 1.1.2? In diesem Fall bin ich geneigt doch die nötige HW zu bestellen und den Schritt zu wagen. :upside_down_face:

Also ich kann es dir nicht zu 100% garantieren, dass es mit deinem Setup klappt, aber ich kann dir sagen dass es bei uns funktioniert hat und dass es hier auch schon jemanden gab der es hinbekommen hat:

und dazu gibt es noch das hier:

Tag, vielleicht hilft das jetzt bei der Entscheidungshilfe.
Den RPI3 kann ich nicht beurteilen, hab keinen. Meine Hardware besteht aus RPI4 ,4GB, Dali BMS 4s mit Sinowealth Chip.
Das BMS ist per USB Adapter verbunden, Schnittstelle USB4 am PI, der gleiche Adapter wird auch verwendet, um das BMS mit Windows zu parametrieren, Software BMS Tool.
Nach Erweiterung der Abfragen des Dali BMS Flows in Node-red mit zusätzlichen Adressen, Bilder siehe verlinkten Post von Vincent, hab ich dann alle Werte zusammen und sowohl die Werte auf der Info Seite als auch die Werte auf der Monitor Seite funktionieren.

Gruß
kleveracker

1 Like

Danke für die Tipps Vincent und Kleverkracker! Habe nun den HAT bestellt und einen Shunt. Das ausgedruckte Gehäuse für den HAT liegt auch schon bereit. Sobald das Material eintrudelt werde ich mich dahinterklemmen das mal auszutesten. Bin gespannt!

Stay tuned…!

1 Like

Hallöchen Bastlerfreunde
Habe nun einen RPI4 und den HAT am Start und stelle fest damit geht alles besser (bzw. mit v1.1.1). Die Einbindung ins Wifi hat grad geklappt und der Peakaway Shunt misst was er soll wenn er richtig kalibriert ist. Das DALI BMS bockt jedoch immer noch, bzw. bekommt einfach keine Daten. Ich habe zwar die Beiträge von 2500ccm und Kleverkracker gelesen aber bin nicht ganz gestiegen. Beide haben ja ein Python Modul verwendet aber sehe nicht wie und wo dieses eingebunden werden muss. Könnt ihr mir da auf die Sprünge helfen?

Hey,
prinzipiell ist daly-bms-cli ja schon installiert, du kannst in der Konsole also schon die Befehle ausführen, siehe GitHub - dreadnought/python-daly-bms: Python module for Daly BMS devices

Falls da eine Fehlermeldung kommt (“pkg_resources.ResolutionError not found…”) kannst du das Modul mal neu installieren, dann sollte es gehen:

pip3 uninstall daly-bms-cli
pip3 install daly-bms-cli

Wenn das läuft kannst du es in Node-RED einbinden mit dem Flow den @2500ccm zur Verfügung gestellt hat. Die rote Exec Node die du da siehst ruft den Befehl auf, den du sonst manuell in die Konsole eintippen würdest.

Wenn ich das package installieren möchte schmeisst er folgenden fehler:
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/dali-bms-cli/

Auch dalibms findet er nicht. Das pyserial package kann ich jedoch installieren ohne Fehlermeldung…

Versuch mal das Package “dalybms”

pip3 install dalybms

Ok, ich konnte eine weitere Hürde nehmen! Ich kann das daly-bms-cli starten und gültige Werte auslesen! Was ich jedoch nicht checke ist, wie man nun diese modul einbettet in node red? Die Anleitung von Cleverkracker ging mir zu schnell…

Also liest du die Werte jetzt über die Konsole aus?

In NR gibt es eine Exec Node, damit kannst du die gleichen Befehle ausführen, die du auch in der Konsole eintippst. Du musst dort also den selben Befehl reinschreiben, mit dem du an deine BMS Werte gekommen bist, dann kannst du eine Debug Node Dahinter hängen und sehen was dabei rauskommt.

Ich habe nun die Node von 2500ccm bei mir eingefügt und ab und zu funktioniert sie sogar. Ich denke der Port ist nun doppelt belegt da der Flow direkt auf USB3 (tty0) zugreift wie ja auch die Node “connections”. Am saubersten wäre es wohl die Daly BMS Node pimpen das der bestehende Code durch die Steuerung mit dem Python cli ersetzt werden würde. Meine bisherigen Versuche sind gescheitert. Hast du mir ein paar Tipps wie ich das Handling mit den Ports am Besten in das vorhandene Vaniversum integriere?

Lies dir mal diesen Bericht durch, vielleicht kann dir das helfen.
In diesem Bereich werden die usb Buchen verteilt. Eventuell kann man da was ändern.
Ich hab da was gebaut das du noch eine weitere Option hast, die du dann frei verwenden kannst. Hab das für mein QUCCBMS gebaut. Solltest du Interesse haben, melde dich.

Du könntest einfach im Conncections Flow alle Nodes deaktivieren, die sich mit dem entsprechenden USB-Port verbinden.

Wie Vincent gesagt, so getan! Alle Daten werden nun korrekt eingelesen. Etwa so hab ich mir das vorgestellt!

Jetzt muss ich “nur” noch den Renogy Laderegler an den start kriegen… Hat jemand Erfahrung mit der renogymodbus python lib von Ross Warren? Zu finden auf github. Aber da mach ich dann ein neues Topic draus.

Fängt an Spass zu machen! :yum:

Vielen Dank für die Unterstützung euch allen!

2 Likes

@Michili
Wenn du die Modbusdatenpunkt hast, dann kannst du das in Node red gut selber machen. das habe ich mir einem QUCC BMS mit über 300 Datenpunke auch gemacht.
gukst du hier :wink:

das macht dann richtig Spass :rofl:

Habe das Packet installiert und nach ein wenig rumprobieren hats sogar funktioniert über die command line. Musste noch ein wenig basteln mit RS485 Settings und Termination aber letztendlich lief es dann doch erstaunschlich schnell. Die Einbindung in Node Red wird etwa gleich sein wie mit dem Daly BMS schätz ich. Aber so viel Informationen kriegt man da gar nicht raus musste ich feststellen. Eigentlich hab ich alles was ich brauche schon vom Shunt oder dem BMS. Erst wenn ich Solarzellen anschliesse wärs interessant.
Jetzt wo ich bisl weiss wie alles funktioniert, spiele ich glaub das neue Image auf und mache alles platt. Ich habe ordentlich im code rumgewustelt und das eine oder andere funktioniert nun nicht mehr richtig was ich nicht so toll finde. Ich möchte mit einem neuen Anlauf mein Zeugs besser integrieren… Tja, so viel zu meinem Ziel über die Festtage! :sweat_smile: