Daly BMS LiFePo4 via Modbus auslesen?

Hallo zusammen,
ich stehe auf dem Schlauch.

Ich möchte eine Daly BMS via RS485 / Modbus RTU auslesen.

Ich habe schon einiges versucht, aber noch kein erfolg gehabt.

Wie muss ich die Instanzen anlegen und wird ein Skript benötigt?
Das Komunikationsprotocoll
Part 4_ Daly RS485+UART Protocol.pdf (269,2 KB)

für eure Hilfe wäre ich sehr Dankbar.

Das PDF verstehe ich als Anleitung per RS232 Befehle zu senden und dann Antworten erwarten. Modbus erkenne ich nicht.

Okay jetzt wo du es sagst sehe ich es auch. Also mit Skript zeitgesteuert abfragen? Wie sieht so etwas aus?
Ich habe mal mit einem com Monitor gelauscht, während das BMS konfigtool die Daten aktualisiert. Ich lade es gleich mal hoch.

Sagenhaft das Du noch Chinesisch gelernt hast :medal_sports: :joy:

Der Gokkel hilft mir, obwohl das Wesentliche stand schon in inglisch
:wink:
Ich rate einfach mal ComPort Befehle laut PDF zum Gerät schicken und schauen was so wiederkommt.

Hi,

bist Du bei dem Thema inzwischen weitergekommen?
Ich hätte die Daten des BMS auch gerne in IPS. Ich habe schon versucht, irgendwelche Byte-Schnipsel zu senden, die ich im I-Net gefunden habe, aber es kommt keine Reaktion.

LG
Jörg

versuch mal das hier

läuft bei mir seit geraumer Zeit problemlos, alle Werte im IPS.
Brauchst nur einen ESP pro BMS

Vielen Dank für den Hinweis. Sehe ich das richtig, dass der ESP die Daten dann per Wifi Richtung IPS sendet?
Ist das hier das, was ich brauche: Amazon ?
Ich frage deshalb, weil ich noch nie mit einem ESP gearbeitet habe. Ich habe nur mal ein fertiges Modul mit einer Applikation via Tindie gekauft und genutzt. Aber ansonsten muss ich mich hier einarbeiten.

Ja, an den MQTT vom IPS

Die ESP 8266 könntest du nehmen, ist wirklich nicht schwierig, klar beim ersten Mal dauert es immer lange…

Welche Kabel hast du zum Daly dazu bekommen?
Du brauchst das UART USB Kabel (eigentlich für die Verbindungen zum PC, dort solltest du übrigens mal alle Einstellungen checken, bei mir war damals nicht alles korrekt vom Werk eingestellt)
Die Kabelverbindung kannst natürlich auch selber bauen, sind glaube nur 3 Adern.
Ich hab aber den USB Stecker abgeschnitten, somit hatte ich auf der BMS Seite gleich den passenden UART stecker (kann ich im Notfall aber wieder zusammensetzen)

Achja,mach blos kein Update vom Daly wenn es im Moment ordentlich funktioniert!

Ich habe sowohl ein Bluetoothkabel als auch ein UART-USB-Kabel.
Die Einstellungen des BMS habe ich per App schon mal überarbeitet. Wenn ich das Batteriepack nach den Grundeinstellungen betreiben würde, dann wäre es wahrscheinlich bald kaputt.
Ich werde die ESPs mal bestellen, kosten ja kaum was. Und wer weiß, was sich noch für Anwendungsmöglichkeiten auftun…

Mit der PC Software kannst du viel mehr als in der App einstellen, aber sei vorsichtig. (U. A. Kannst du auch die Schwellwerte für die Alarm und Warnzustände setzen.

Das UART Kabel könntest du opfern.

Wenn du nicht die aktuellste Version für den ESP nimmst, musst du nicht so viel Technik ringsrum bauen.
Ich selber benutze Version 1.0.1 und die ESPs welche du verlinkt hast, mit diesen musste ich weder irgendwelche Dioden noch Kondensatoren anschließen.
Das geht wirklich direkt mit den paar Kabeln welche aus dem UART Kabel kommen.

Hallo,
vielen Dank für Deine Hinweise. Ich habe mich inzwischen durch das Thema „durchgebissen“. Leider bekomme ich aber keine Verbindung mit dem BMS. Was ich gemacht habe:

Ich habe auf eins der verlinkten ESP8266-Boards mit einem Flasher die von Dir genannte Version 1.0.1 draufgeflasht. Der Wifi-AP ging auf und ich habe die Daten meines Netzes eingegeben. Der ESP hat sich danach brav verbunden und ich kann die Website in meinem Netz aufrufen.

Das USB-UART-Kabel habe ich durchgeschnitten und die 3 Drähte an den ESP gelötet. Also GND (schwarz) an GND, Rx (grün) vom BMS an Tx des ESP (der Pin gleich neben GND), Tx (weiß) vom BMS an Rx des ESP (der Pin neben Tx). So ist es auch beschrieben.

Die Startseite des ESP sagt mir nun in der Zeile „Package“ : No connection or Sleeping.
Wenn ich statt des Kabels UART-ESP das Bluetooth-Kabel einstecke, dann bekomme ich eine Verbindung mit der App. Das BMS sollte ja auch eigentlich in Betrieb sein, denn die Akkus werden gerade von der Sonne geladen.

Muss ich bei den Settings noch etwas einstellen? Wo habe ich hier noch einen Fehler?

:thinking:
so wie du es beschreibst ist alles korrekt

schwarz / grün /weiß
GND / GPIO1 /GPIO3
GND / TX / RX

so ist es bei mir, also wie auch bei dir.

von wo holst du den Strom für den ESP?

ich hab grad mal auf der Seite geschaut, da ist verkabelungstechnisch ganz schön viel passiert… mittlerweile nehmen die auch das Kabel vom Bluetoothdongle… haben aber auch ein paar extra Funktionen eingebaut.

tut aber nichts zu Sache, läuft bei mir ja auch mit den 3 Adern.
Am Anfang hatte ich einen Wemos mini und das gleiche Problem wie du, da gab es ein Schaltbild welches ein extra Bauteil erforderte.
Da ich das nicht hatte, hab ich einfach einen ESP8266 (wie von dir verlinkt) genommen, damit hat es dann direkt funktioniert.
Da die Dinger aber irgendwie selten Baugleich sind, brauchst du vllt doch noch was dazwischen, ich finde aber das Bild nicht mehr.

Ok, dann passt es soweit, das hatte ich befürchtet :slightly_smiling_face:
Den Strom nehme ich vorerst aus einem separaten Netzteil mit USB-Anschluss, also völlig getrennt und leistungsmäßig sollte es ausreichen. Nach so einem Transistor habe ich schon gesucht, aber in dem gerade vorhandenen Chaos nicht gefunden. Muss ich heute wohl nochmal schauen. Ich würde nämlich jetzt mal darauf tippen, dass die Signalqualität nicht passt. Oder ich bestelle gleich eins dieser ADUM1201-Module.

Ok,schade dass es nicht läuft.

Wenn du jetzt aber eh noch basteln musst, dann kannst du ja auch überlegen, die aktuelle Software Version aufzuspielen und die neuen Funktionen mitzunutzen.

Yeah! Got it!!!
Was für ein geiles Stück Soft- und Hardware! Es lag wohl an der Signalqualität der seriellen Verbindung. Nach dem Zwischenschalten des ADUM1201-Moduls wurden die Daten übertragen und ich habe sie auch in IPS reinbekommen. Jetzt muss ich nur noch alle Topics eingeben. Damit hat sich der Titel dieses Threads durch diese Lösung von „Modbus“ auf „MQTT“ verändert…
Frage: Sind das auf dem von Dir geposteten Bild alle aktuellen MQTT-Topics oder gibts da noch mehr?

auf jeden Fall :grin: funktioniert bisher auch ohne Stress

ich hab gesehen, dass ab Version 2.xx von Hardware- auf Softwareserial umgestellt wurde, somit ist nun angeblich nichts mehr an extra Hardware zum auslesen nötig.
sorry für die Falschinfo von mir, hab mich von den ganzen Relais und drumherum ablenken lassen…
ich werde da evtl. doch wieder auf einen D1 Mini gehen und bei Gelegenheit ein passendes Gehäuse drucken.
Spannungswandler, von 60V auf 5V hab ich schon hier liegen, dann fällt auch das extra USB Netzteil weg

das ist in meiner Version soweit alles.
Außer, dass ich die einzelnen Zellspannungen in dem Bild nicht aufgeklappt habe.

Hab mal alle Topics in IPS konfiguriert. Läuft wirklich schön.

Das ADUM1201-Modul soll ja angeblich auch eine Potentialtrennung von Ein-und Augang vornehmen, soweit ich das irgendwo gelesen habe. Somit probiere ich dann noch die Stromversorgung über einen in der Nähe liegenden USB-Hub.
Auf Thingiverse haben sich schon einige Gedanken zu Gehäusen für diese Module gemacht.

ok, wenn was in der Nähe ist…
ich wollte eine sinnlose AC/DC Wandlung vermeiden

ja, die Zeit spar ich mir da was Eigenes zu bauen, muss mich nur endlich festlegen, welche Platine es nun wird :sweat_smile: