NEWS
JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.
-
So, nochmal ein bisschen rumprobiert, der RS485 Port neben dem CAN Port funktioniert nur bei der Slave Batterie (ID1) da bekomme ich auch alle Werte, die im Holding eingetragen sind aber auch mit den gleichen fehlern.
Beim Master (ID0) funktioniert der RS485 Port nicht. Auch logisch da ich ID0 ja nicht abfragen kann da es nur ein Master geben kann.
Die Konfiguration, dass man die Batterien als ID1 und ID2 einstellt habe ich ebenfalls ausprobiert, aber dann erkennt der Wechselrichter nur die eine Batterie wo auch das CAN eingesteckt ist und zeigt auch nur den SOC von dieser an. Bei der Master-Slave Einstellung erkennt der Wechselrichter beide Batterien als eine und der SOC wird dementsprechend auch angezeigt.
Also die Master Slave Konfig muss eigentlich so bleiben.....
Gibt es nicht ein Modbus Adapter ioBroker oder TCP die nur die Daten als sniffer abgreifen so wie die PC Software das tut?
-
@elektroniker86 Alles klar, das bedeutet, dass ich mir dann auch was einfallen lassen kann wenn die 2. Batterie ankommt.
Oje, das werden wieder schlaflose Nächte -
Ich hab in irgendeinem Forum gelesen das jemand die BMS mit einem ESP32 über Bluetooth ausliest und per MQTT verschickt.
Hab aber noch nicht so ganz gecheckt wie ich das installieren muss. Ein ESP32 hab ich sogar auch noch da.
-
@elektroniker86 Ja aber angeblich läuft es nicht so ganz stabil. Bei mir ist es etwas einfacher, mein Raspberry Pi ist gleich neben meiner Anlage, also USB-RS485 ist absolut kein Problem, hab ich ja jetzt auch im Einsatz.
Schlimmsten Fall bau ich mir einen Sniffer über Python damit ich die Werte raus bekomme.Mal sehen, die 2. Batterie sollte eigentlich eh bald kommen, ist ja schon 1,5 Monate unterwegs.
Wenn sie ankommt, dann wird weiter getüftelt bis es läuft -
@elektroniker86 Habe gestern endlich meine 2. Batterie bekommen.
Hat eh nur 3 Monate gedauertAlso, anscheinend geht es wirklich nicht dass man über einen RS485 Adapter die Packs ausliest.
Ich habe es nun mit 2 Stück USB-RS485 (liegen ja beim BMS bei) gelöst.
Man muss halt 2 Modbus-Instanzen machen, eine mit Adresse 0 und eine mit Adresse 1Die Anlage liest über CAN auch beide Batterien aus, funktioniert alles.
Sollte also mit 2 Stück RS485-TCP Adapter auch funktionieren, ansonsten sehe ich keine andere Lösung.
Grüsse
-
@elektroniker86
wo hast die Register belegung her. in den PDF daten stehen ganz andere Register drin die nur teilweise funktionieren. -
@KlausAnders
Um welche Register geht es?
Die PDF ist schon richtig... -
@sierra said in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:
@KlausAnders
Um welche Register geht es?
Die PDF ist schon richtig...
im Pdf gibt es keine ungeraden Adressen, nur länge 2 oder 4. Zu deiner vorlage fehlen damit etliche Werte. Das auslesen mit deiner vorlage funzt, nur das schreiben von Schaltern, z.b. Laden Entladen bekomm ich nicht hin. -
@klausanders
Da gebe ich dir Recht.
Es ist schon verwirrend, in der PDF stehen auch die Längen.
Für Laden Ein/Aus sind 4 Bytes vorgesehen.
Im iobroker werden bei Länge 2 angezeigt, aber da werden vermutlich 1 Länge 2 Bytes verwendet, High und Low.Egal, ich habe mal versucht zu schreiben, also das funktioniert mit den Adressen die in der PDF steht.
Als Kontrolle ob wirklich Ein oder Aus mit den anderen Registern:
Balancer Ein/Aus zu schreiben funktioniert nicht so wirklich, da allein schon 1500 drin steht. Keine Ahnung
Da ich aber die ganzen Schreibbefehle nicht brauche, habe ich mich damit nicht wirklich beschäftigt.
Im Heimbereich ist das auch nicht wirklich Notwendig finde ich, warum sollte man da was laufend verstellen?
Einmal eingestellt und die Anlage läuft.
In einem Camper würde ich es verstehen wenn man da was abdrehen möchteIch habe auf meinem BMS die letzte Firmware drauf, neuere kann ich leider nicht mehr updaten da der Support für <V19 eingestellt wurde. Eine aktualisierte Registerliste wäre mal was tolles, ich denke da hat sich einiges getan die letzten Jahre.
-
@sierra Man sollte auch nicht zu oft schreiben. Je nachdem, ob das Gerät Parameter im Flash speichert, ist da früher oder später eben dieser hinüber.