Waveshare RS4845 to Wifi - MQTT Verbindung Hexzahl Auswertung?

Hallo,

heute habe ich mal eine Frage und hoffe irgendwer kann mir helfen. Für meinen Hausspeicher habe ich einen RS485 to WIFI Konverter gekauft und testweise eingerichtet. Dazu wurden laut Datenblatt der Batterie, die Kabel vom RS485 mit dem Converter verbunden.

https://www.waveshare.com/wiki/RS485_TO_WIFI/ETH

Im Anschluss habe eine MQTT Verbindung eingerichtet und nach etwas suchen herausgefunden, dass dip6 (vielleicht auch noch dip5) on sein muss. Jetzt bekomme ich über den Convertrer schon einmal Daten im MQTT Explorer angezeigt. Aber das ist eine reine Hexzahl denke ich jedenfalls. Diese muss nun interpretiert werden, aber ich weiß nicht wie oder was mache ich hier falsch? Letztlich werden dahinter die Daten der Batterie irgendwie stecken.

Leider finde ich im Internet sehr wenig zu dem waveshare Teil und wie was eingestellt werden kann. Eventuell muss man dort auch etwas ändern und die Daten würden dann anderes formatiert an MQTT geliefert. Ich weiß es auch nicht so richtig und probiere jetzt schon ein paar Tage herum.

Wenn noch was unklar ist und weitere Infos benötigt werden, versuche ich die gerne bereitzustellen. :slight_smile:

2 „Gefällt mir“

MQTT geht wieder und ich bekomme wieder die HEX Zahl, hatte noch CANbus versucht, aber das kamen auch nur komische Zeichen im MQTT Server an.

1 „Gefällt mir“

Kannst du mal sagen was für ein Speicher das ist, von welchen Hersteller LV oder HV wie viel Volt u.s.w

1 „Gefällt mir“

Vielleicht kennst du das BSC Projekt? Sonst schau dir das mal an!
https://bsc-org.github.io/bsc/

1 „Gefällt mir“

Moin, das Projekt kannte ich noch nicht. Danke mal schauen, aber leider auch wieder mit Bastelarbeit verbunden. Es sollte auch so funktionieren.
Ich habe die ganze Nacht noch herumprobiert und schreibe gleich genau, was, wie und wo. Ich brauche dann auch deine Hilfe. Ich muss dieses Script hier auf meine pi3 zum laufen bekommen.

https://github.com/butterwecksolutions/DR-JC03-RS485-Switcher/tree/main

Wenn ich Glück habe, löst es das Problem und wandelt die Hexzahl in die korrekten Werte.

Es gibt auch fertige Platinen mit allem drauf, dass einfige was man machen muss die Firmware rauf machen und das geht auch ganz einfach. Das BSC an den Strom das machst einen eigenen AP auf mit der IP 192.168.4.1 und über das die Firmware installieren und nachher ins Netzwerk einbinden.
Hier gibt es die fertige Platine:

Hi, sorry war dieses Wochenende etwas stressig. Jetzt habe ich Zeit mal ausführlicher zu schreiben. Erstmal zu den beiden Links, im ersten wird auch schon auf das lilygo verwiesen, könnte was sein, aber ich muss den Akku dazu aufschrauben. Daher wäre mir eine Softwarelösung lieber. Wenn aber nichts funktioniert, wird mir wohl nichts anderes übrig bleiben.

Werde das auch gleich nochmal bearbeiten, dann lade vom notebook noch ein paar Bilder hoch.

Durch einen bekannten bin ich zu diesen Akkus gekommen, weil er seine victron Anlage jetzt mit noch viel größeren Akkus versorgt. Daher habe ich jetzt zwei 5,12kWh Speicher bekommen, hier konnte ich nicht nein sagen. :wink:

Papool 48v 100Ah / baugleich zu pylontech 100ah 48v

Mit Waveshare RS485 to Wifi hole ich daten von der Batterie. Das klappt anscheinend auch korrekt. Baudrate usw. habe ich eingestellt.

Aktuell errechne ich die Werte der Batterie mit dem Wissen, was geladen und entladen wird. Dabei rechne ich Verluste ein und das klappt auch ganz gut. Über den WR lese ich die Spannung vom Akku aus und kann damit Notabschaltungen vornehmen. Insofern habe ich alle wichtigen Daten, aber mit der Zeit werden sich die Werte immer leicht verschieben und will nicht alle zwei Wochen oder weiß ich in Keller rennen und das korrigieren.

Das BMS muss irgendetwas mit DR zu tun haben, jedenfalls wird das im Display der Batterie angezeigt und auch im Programm(usb serial) wird darauf verwiesen.
Daher habe ich heute Nacht alle Version von BMS Pace getestet, aber leider ohne Erfolg, aber es wurden neue MQTT Werte erzeugt, nur nicht ausgefüllt.

BMS Pace - Python data retrieval

Also habe ich weiter gesucht und bin dann auf DR Switcher gestoßen, mit großer Hoffnung. In der Überschrift steht schon das Protokoll, dass auch im USB Programm aufgeführt wird, Protocol DR-1363

Ver: 
SAIENSI01-16S100JC03
V1.1.1-T3_G

Protocol: DR-1363

DR-JC03-RS485-Switcher

Das Script hatte ich heute einmal von chatgpt mit einer meiner HEXzahlen gefüttert, aber die Werte die herauskommen, passen nicht wirklich, bis auf die Temperaturen vielleicht. Daher bin ich mir nicht sicher, ob der es jetzt Sinn macht, dass auf dem Raspi zu installieren.

Hier noch ein Bild vom USB Programm und von BMS, zumindest was er dort ausgibt:


Hier in diesem github wird dazu mehr gesagt, wie die Anfragen gestellt und was dabei herauskommt

https://github.com/cpttinkering/daren-485

Auf jeden Fall habe ich dadurch gelernt, dass die HEXzahl durch das Script umgewandelt wird und anscheinend zuvor eine Gegenanfrage passiert.

Hier in einem englischen Forum bin ich noch fündig geworden, es haben also auch andere das gleiche Problem.

Ich brauche also eine Lösung wie ich die HEXzahl mit Hilfe eines Scriptes das Protocol DR-1363 umwandeln kann. Aber da fehlen mir leider auch die Kenntnisse, dass letztlich allein umzusetzen.

Mein letzter Versuch gestern war noch einen localen Server zu erstellen um mit Scrape die Daten auszulesen, weil ich das Programm im Browser öffne, wäre das auch eine Möglichkeit. Allerdings müsste dann immer ein PC verbunden über USB laufen, um die Daten zu holen. Daher auch nicht so schön und scrape braucht auch immer eine http Adresse.

Ach so und dann sind da noch die Dipschalter 1-6. Wenn dip 1 on und die anderen off sind, dann kann ich mich mit dem PC verbinden. Wenn dip6 on und die anderen off sind, dann kann ich die Daten über den Waveshare abrufen.

Ich denke jetzt habe ich alle meine Versuche zusammengetragen.

Dazu brauchst du nicht den Akku aufmachen den das BSC wird über den RS485 Anschluss angeschlossen oder über den CAN.

Da ist ein grundlegender Unterschied schon das die Pylontech 15 Zellen haben und dein Akku 16 Zellen. Wenn dein Freund die bei einer Victon Anlage laufen gehabt hat, waren die entweder über CAN oder RS485 angeschlossen und da ist es beim BSC kein Problem.

Dein Bild oben wo du ja alle Werte bekommst, kannst du die auch per MQTT bekommen?

Echt, ich dachte da müssen die Zellen alle einzeln angeschlossen werden, hatte ich zumindest bei dem lilygo so vermutet. Aber dann werden es wohl die Einzelanschlüsse für die 64 Tempsensoren sein. Ok dann muss mir das nochmal genauer durchlesen.

Wie meinst du das? Welches Bild meinst du genau? Ich erhalte per MQTT nur die Hexzahl, leider keinen weiteren Werte.

Ich fahre die Woche nochmal zu dem Bekannten und kann dann nochmal nachfragen. Aber er hatte die Akkus mit Victron im Einsatz und war dann über RS485 oder Canbus mit dem Akku verbunden.

Habe von Victron keine Ahnung, aber müsste man dann nicht mit dem VenusOS evenutell die Daten auslesen können.

Das Bild vom USB Programm und von BMS, habe ich gemeint. Da sieht man ja alle Zellen mit den Volt und die Daten, kann man die über MQTT auslesen? Was hast du eigentlich bei der Schlussspannung von den Zellen eingestellt? Soll heißen bis zu welcher Spannung werde die einzelnen Zellen geladen? Die meisten nehmen 3,45V = 55,2V Die verwende ich auch bei meinen Akkus. Bitte mal eine genaue Bezeichnung deines Akku oder ein Bild vom Typenschild! Dann kann ich mal genauere Daten raus suchen und besser was dazu sagen.
Und was Victron angeht, damit arbeite ich schon seit einigen Jahren und mein zwei Anlage sind Victron Anlagen.