PACE BMS - Informationssammlung

@fips.luthe: Aber auch in den ioBroker per ModBus? Kannst Du mir bitte in dem Falle gleich noch ein Beispiel-Register nennen? So kann ich zumindest eine Fehlerquelle ausschließen. ?

Weiß mittlerweile jemand, was am besten beim Balancing und V Sleep Cell einzutragen ist?

@mcwumpus : Die Daten bekommst du mit folgenden python Script in den MQTT und somit natürlich auch in den ioBroker, habe ich bei mir auch so realisiert.

https: github. com. Tertiush bmspace

link bitte selber zusammenbauen, kann ich nicht posten :frowning:

Das Script als Dienst laufen lassen

@mcwumpus

welches Protokol ist angeschaltet laut PBMSTools?

@mrkask

Ich habe zwei Versionen des PbmsTools und zwar die GOBEL-Varianten. Die "originale" Pbms 2.5N enthält die Protokolle nicht.

PbmsTools HS1.0.8 sagt: PYLON_485 (hier hatte ich schon mal auf Pace_Modbus umgeschalten, aber ohne Erfolg)

PbmsTools HS1.0.6 sagt: DEYE

ps5120e_rs232.zip (9.08 KB)

@fips-luthe

Das aus deinem Link scheint mir aber für die RS-232 (RJ11) Schnittstelle zu sein.

Anbei meine Scripte zum abholen mit MQTT. Über RS485 ist das Pylon Protokol über RS232 is universel.

Vieleicht kann die einer ja gebrauchen für sich.

@mcwumpus

ich habe übrigens auch einen Waveshare adapter benutzt, RS-485 USB FTDI version. Den kleinen ohne extra Stromversorgung.

Und RS-485 ist nicht unbedingt Modbus. Modbus ist ein Protokol und RS-485 eine Schnittstellen Spezifikation.

Modbus RTU wäre Modbus über RS-485/422.

Modbus TCP/IP über ethernet..Also meist eine RJ45 Schnittstelle im kommerziellen gebrauch. Kann aber auch z.B. ein M12 Stecker sein oder ähnlich für outdoor devices, mal so neben bei, aus der Sendung "mrkask bringt mich was bei" :wink:

Also bleibt die Frage was du mit Modbus willst? Das Pace485 Protokol ist ein Modbus protokol. Aber da kommen sehr wenige Daten drüber. Zumindest bei mir an meinen Batterien.

Also welches Protokol willst du auslesen/haben? Pylon,Deye,Victron etc.?

Wenn bei dir schon mit verschiedenen PBMSTolls verschiedene Protokole angezeigt werden, ist das alles schon fraglich welches den gerade da wirklich aktiv arbeitet.

Da bleibt nur Testen anhand der protokol spezifikationen der einzelnen hersteller. Oder wenn das nicht möglich ist, da die basis dazu nich vorhanden ist.

Dann bleibt nur das testen von ander Leuts Scripten aus gits oder software diverser hersteller für sowas.

Edit:

Die meisten Daten bekommst du über die RJ11 RS-232 Schnittstelle. Da ist alles drinne was die PBMSTools dir auch anzeigen.

Du kannst da aber Daten nur ändern(schreiben) wenn du direkt auf der Batterie hängst. Also wenn du mehrere gestacked hast, dann kannst du zwar alle Daten lesen von allen Batterien im Stack. Aber schreiben kann man nur die an der das RS-232 Kabel hängt.

@mrkask:

Danke für die ausführliche Beschreibung. Bei meinem DEYE SUN 12k geht die Datenübertragung per ModBus in den ioBroker problemlos. Ich meinte das so aufgeschnappt zu haben, dass das bei den TitanSolar-Akkus genauso geht.

Ich möchte im ersten Schritt die Daten aus den Pbms-Tools im ioBroker haben.

Ich werde mich mal dem Thema RS-232 nähern.

hat wer noch die Delong FW für die 200A Batterie in Version 2.04

grafik.png

und könnte die bereitstellen - wäre MEGA

@McWumpus Ich kann hier mal erklaeren, wie ich das Auslesen bei mir zum Laufen bekommen hab. Ich bin da auch ne Weile dran verzweifelt, ist aber am Ende relativ einfach.

Man kriegt da wirklich alle Daten raus, die auch das Windows Tool ueber den RS232 auslesen kann.

Wenn du Fragen hast meld dich einfach :slight_smile:
PS: Man sieht in den Graphen auch ganz gut, dass mein SOC nicht perfekt kalibriert ist, denn die Packs haben bei gleicher Spannung einen unterschiedlichen SOC, aber das gibt sich hoffentlich noch.

1 „Gefällt mir“

@algram

In welchen byte/word liegen den der SOH, die Kapazitätswerte(total,design) und die environment Temperatur über RS485 bei dir?

Und wo liegen die balancing bits, das man sieht welche Zelle gerade balanced?

@mrkask Siehst du alles in der Tabelle hier: GitHub - syssi/esphome-pace-bms: ESPHome component to monitor and control a PACE Battery Management System (PACE-BMS) via RS485 (Modbus)

Interessant. Laut Pace Protokoll ist das im 485 ja garnicht enthalten. Das muss ich mir mal angucken.

edit:

ich habe ein älteres Protokoll Dokument. In meinen Test hat das aber nicht das ausgegeben was ich erhofft habe.

Das kam bei mir raus beim register auslesen:

##Addressbereich
02 03 00 01 00 7D D4 18 ##anfang&erste 125 register ..max mögliche Anzahl
02 03 00 38 00 7D 04 15 ##bis ende
125 + 56 = 181 register
##alles
02 03 00 01 00 7D D4 18 //Register 1-125
002 003 000 125 000 000 001 000 001 000 000 000 001 000 000 000 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 000 016 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 255 255 255 255 255 255 255 255 000 004 000 242 000 239 000 239 000 238 255 255 255 255 255 255 255 255 255 255 255 255 000 000 000 000 000 000 000 000 000 000 000 000 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 000 000 000 001 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 255 255 255 255 255 255 255 255 255 255 255 255 000 000 000 000 000 000 000 000 000 000 002 048 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 229 192
002 003
000 125
000 000 001 000 001 000 000 000 001 000 000 000
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
000 016 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034 000 034
255 255 255 255 255 255 255 255
000 004 000 242 000 239 000 239 000 238
255 255 255 255 255 255 255 255 255 255 255 255
000 000 000 000 000 000 000 000 000 000 000 000
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255
000 000 000 001 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
255 255 255 255 255 255 255 255 255 255 255 255
000 000 000 000 000 000 000 000 000 000
002 048
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
229 192
02 03 00 7D 00 38 D4 33 //Register 125 - 181
002 003 000 056 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 134 073

wie man sieht nur mist ;(

Bist du exakt nach meiner Anleitung oben vorgegangen? Also das Protokoll auf Pace BMS umgestellt, etc.?

Das ist aus meinen Versuchen von einst. Und ja es war das PACE Protokoll ausgewählt. Eventuell ist es firmware abhängig, idk.

Hm, eventuell besorgst du dir dann wirklich mal nen ESP mit RS458 Adapter. Kostet keine 10 Euro und dort kann ich zumindest sagen, dass es bei mir funktioniert. Wenn du noch Infos brauchst, damit du weiterkommst, gib einfach Bescheid.

@Algram:

Danke für die Anleitung. Sieht vielversprechend aus. Musste noch nen RS485 to TTL bestellen. {green}:wink: Und dann geht's los.

Neh, ich gucke mir mal den code an ..geht nix über ein Kabel :wink: Und nicht nur ein Kabel für die Stromversorgung.

@Algram:

Und es funktioniert. ? ? Zumindest bekomme ich alle Infos vom ersten Rack.

Das verstehe ich leider nicht. Wie komme ich jetzt an die Daten aus meinem 2. Rack?

Kurz zu meinem Verständnis für die ESP32 / ESPHome -Lösung:

ESP32 mit ModBus-Adapter verbinden + Kabel auf RJ11 und das dann an die Batterie?

Sorry für die blöden Fragen! Fertige ESP32 mit verbautem Modbus gibt es wohl nicht, oder?