Fehlende Werte beim Daly BMS

Guten Tag,
erstmal ein Lob für den Programmierer. Super Arbeit. Allerdings hab ich ein paar Probleme mit der Anzeige der Werte für mein Daly 4s BMS.

  1. auf dem Info Dashboard fehlen bei mir die Werte für SOC und Temperatur, da steht bei mir nur wait oder gar nichts.
  2. auf dem Info Dashboard hat der Wert für die Capacity den falschen Teiler, da müsste statt 100 der Wert 1000 als Divisor genommen werden. Wenn ich den Wert im Node “Set global” ändere, dann bekomme ich allerdings ein kleines, rotes Dreieck am geänderten Node angezeigt und das bekommme ich nicht weg.
  3. auf dem Monitor Dashboard ist die Anzeige für die Battery komplett leer, da steht nur “waiting for readings”.In der System Config ist Main Batt data “BMS” ausgewählt.

Vielleicht hat jemand eine Idee, was ich machen kann um meine Probleme zu beheben.
Für die Hilfe möchte ich mich schon mal bedanken.
Gruß
Kleveracker

Hey,

zu 1.: Kannst du mal mit einer Debug Node überprüfen, welche Werte von dem Daly BMS ankommen? Bzw wie, dann können wir sehen ob es einfach nur an einer Stelle nicht richtig zugewiesen wird.

zu 2.: Die Variablen müssen jetzt einmalig definiert werden, die Funktion stammt noch aus einer älteren Version von NR. Also musst du vor das erste “check1 = …” ein “let” oder “var” schreiben, dann sollte es gehen.

zu 3.: Überprüf mal bitte die globalen Variablen “MainBattVolt”, “MainBattSoc” und “MainBattAmps”. Diese werden im Flow “Sensor Dashboard” bei “Copy MainBattData” geschrieben und das sind auch die Variablen, die für den Monitor ausgelesen werden. Je nach Version werden die ersten Daten auch erst nach 5m angezeigt, das wurde reduziert (von 1 Punkt pro Minute auf 1 Punkt alle 3min/5min) damit der Graph über einen längeren Zeitraum etwas ansprechender aussieht

Auszug aus Changelog für v1.1.2 BETA:

- changed the charts in the Monitor tab for better visibility:
    > chart titles always show current values accordingly
    > temp charts now draw one point for every 15 incoming values (mean value)
    > SoC chart now draws one point for every 5 incoming values (lowest value seen)
    > Volt chart now draws one point for every 3 incoming values (mean value)
    > Amp chart now draws one point for every 3 incoming values (mean value)
    > CPU usage chart now draws one point for every 3 incoming values (highest value seen)
    > TTGO field now shows the mean value for every 5 incoming values and minutes are rounded to the nearest quarter hour (15min)

Moin,
erstmal vielen Dank für die Hilfe.
Muss die Fragen aufteilen in mehrere Antworten, da ich immer nur ein Image Hochladen kann.
Jetzt zu Deiner Frage zu 1.
Ich hoffe, ich hab das Debug Node an die richtige Stelle gebaut.
Hab ein Bild gemacht von der Ausgabe, kann damit aber nicht so richtig was mit anfangen.

Gruß
kleveracker

Nochmal Moin,
2. Hälfte der Antwort.
Zu 2. hab ich jetzt den Divisor geändert und ein var vor das 1. check1 geschrieben. Und, was soll ich sagen, das vorher vorhandene kleine, rote Dreieck ist verschwunden und ich hab jetzt bei Capacity den richtigen Wert stehen. Super. Danke.
Jetzt zu 3.
Hab zwei debugs eingebaut und zusätzlich ein Funktion-Node, wo ich nach dem Inhalt von “BatteryDataDelivery” schaue. Das ist das Debug-Node 46. Der Inhalt ist “BMS”.
Beim Debug-Node 45 passiert jetzt seit 15min nichts.

Bei der Kontrolle der System Einstellungen ist mir jetzt heute Morgen noch aufgefallen, daß ab und an, ich hab keine Ahnung warum, die Einstellung bei Main Batt Data verloren geht. Reproduzieren kann ich das auch nicht. Da steht dann wieder “nothing”

Danke für die Hilfe vorab.
Gruß
kleveracker

Häng die Debug Nodes mal hinter die “buffer split” Nodes und schau was da rauskommt. Irgendwo müsste ja der SoC ausgegeben werden.

Das die MainBattData in der Config nach einem Neustart nicht angezeigt wird hatte ich in v1.1.1 behoben, das war aber nur ein Anzeigefehler, die Werte kommen/kamen trotzdem an.

Für die Daten der Mainbattdata werden die entsprechenden Werte in den jeweiligen Flows, in deinem Fall der Daly Flow, geschrieben und bei “copy data” dann in die MainBatt Variablen übernommen. Du kannst die aktuellen Werte der Variablen rechts im NR Menü sehen:

Dort suchst du dann nach “MainBattVolt”, “MainBattSoc” und “MainBattAmps”. Bzw. gleich ganz oben werden die BMS Variablen angezeigt.

Hallo,
also installiert ist die version Pi4v1.1.1.

In der Kontextliste werden die Variablen “MainBattSoc”, “MainBattVolt” und “MainBattAmps” bei mir nicht gelistet. Bei der Variablen “BMSsoc” steht “wait”. “BMStemp” finde ich auch nicht in meiner Kontextliste.

Die Buffersplit Nodes erzeugen sieben Werte, die der Benennung der Variablen entspricht.
Erzeugt werden die Spannungen der Zellen 1-4, die aktuelle Kapazität, die Stromentnahme und die Spannung. Das wird auch auf dem Info-Dashboard ausgegeben.
In meinem Post von heute Morgen hab ich ein Image der Daten mitgepostet, die ich nicht interpretieren kann.
Kann das denn sein, das bei mir die Daten für SOC undTemp überhaupt nicht ausgelesen werden. Ich erhalte sieben Segmente, und ich habe sieben Werte, die im Info-Dashboard angezeigt werden.Wenn ich raten würde, dann würde ich sagen, die Anzahl der gelesenen Daten müsste neun sein.
Aber, wie gesagt, ich kann die empfangenen Daten vor dem Split-Node nicht interpretieren.

Wo kann ich denn sehen, was überhaupt aus dem BMS gelesen werden soll, Vielleicht ist da bei mir ein Fehler, gehen Daten verloren?

nochmal Danke für die Hilfe.
Gruß
kleveracker

Tag,
hab jetzt für mich eine Lösung für die fehlenden Werte auf dem Info- und Monitor Dashboard für das Daly BMS gefunden.
Das war aber nur möglich, weil die Struktur zum Auslesen der Daten aus dem Daly BMS schon vorhanden war und nur für das Auslesen der Werte für SOC und Batterie Temperatur erweitert wurden.
Zusätzlich hat das Python Modul “python-daly-bms” von Dreadnought, zu finden auf Git, geholfen.
Da konnte ich die Adressen finden, wo man die Werte auslesen kann, die das Daly BMS mit Sinowealth
Chip zur Verfügung stellt.
Hier ein Image der Änderung des Daly BMS Flows, gelesen werden jetzt neun Werte aus dem BMS.

Gruß
kleveracker

1 Like