Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.

    This topic has been deleted. Only users with topic management privileges can see it.
    • Elektroniker86
      Elektroniker86 last edited by

      Hallo,
      ich möchte gerne mein JK Inverter BMS mit dem ioBroker abfragen. Ich habe im Netz auch ein Modbusregister für die JK PBXX gefunden, siehe hier:

      https://community.symcon.de/t/modbus-vorlage-jkbms-pbxx/137989

      JK RS485 Modbus Register v1.pdf

      BMS.RS485.Modbus.V1.0.en-1.pdf (Original v. -deepl übersetzt)

      Ich verstehe leider nicht wie die Adressen in den Modbus Adapter eingetragen werden müssen.
      Im ioBroker habe ich schon einige Modbus Instanzen laufen .... SMA, Energiezähler usw. (da waren die Register für ein Laien besser zu verstehen)

      Kann mir vielleicht jemand ein wenig auf die Sprünge helfen? Z.B das Register für den SOC im Modbus Adapter eingetragen als Screenshot damit ich verstehe wie die Adresse eingetragen werden muss. Den Rest würde ich mir dann ableiten.

      Vielen Dank im voraus!!

      Homoran Sierra 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Elektroniker86 last edited by

        @elektroniker86 [OT]
        Wie kommst du an den Bus?
        Was für ein Kabel, welche Buchse?

        Elektroniker86 1 Reply Last reply Reply Quote 0
        • Elektroniker86
          Elektroniker86 @Homoran last edited by Elektroniker86

          @homoran
          Habe mir ein Kabel selbst gekrimpt, und über ein RS485 zu TCP Adapter. hier jetzt im Testaufbau.

          Screenshot 2025-03-05 134714.png Screenshot 2025-03-05 134634.png

          Das Blaue ist ein RS485 zu USB Adapter. Der BUS liegt an Pin 1,2 und 7,8

          Ich brauch nur mal ein Beispiel wie das mit den Adressen im Modbus Adapter aussehen muss. dann sollte das laufen.

          Screenshot 2025-03-05 135030.png

          Das ist das Webif vom TCP Adapter.

          Homoran wendy2702 2 Replies Last reply Reply Quote 1
          • Homoran
            Homoran Global Moderator Administrators @Elektroniker86 last edited by

            @elektroniker86 Danke!
            Schade das nutzt mir leider nichts.
            Sieht bei mir so aus
            Screenshot_20250305-144843_Firefox.jpg

            Elektroniker86 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 @Elektroniker86 last edited by

              @elektroniker86 Greift da noch was anderes auf den RS-485 Bus zu ? Sieht auf dem Bild so aus

              Elektroniker86 1 Reply Last reply Reply Quote 0
              • Elektroniker86
                Elektroniker86 @Homoran last edited by

                @homoran
                Stecker besorgen und Bus abgreifen ist keine Option?

                Homoran 1 Reply Last reply Reply Quote 0
                • Elektroniker86
                  Elektroniker86 @wendy2702 last edited by

                  @wendy2702

                  Am zweiten Port ist ein 2. Batteriepack angeschlossen damit die untereinander reden können.
                  Der RS485 zu TCP Adapter ist das rote Kabel.

                  1 Reply Last reply Reply Quote 0
                  • Elektroniker86
                    Elektroniker86 last edited by

                    Hat jemand eine Idee wie ich die Adressen hier eintragen muss?

                    Screenshot 2025-03-05 233835.png Screenshot 2025-03-05 233607.png

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Elektroniker86 last edited by

                      @elektroniker86 sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

                      @homoran
                      Stecker besorgen und Bus abgreifen ist keine Option?

                      Doch!
                      Das war ja der Hintergrund meiner Frage

                      @homoran sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

                      Wie kommst du an den Bus?
                      Was für ein Kabel, welche Buchse?

                      Kabel enthält Stecker 😉

                      lobomau 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Elektroniker86 last edited by

                        @elektroniker86 sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

                        Hat jemand eine Idee wie ich die Adressen hier eintragen muss?

                        Wir können es mal versuchen

                        Adresse von Hex in Dezimal umrechnen,
                        Du hast mehrere Slaves angewählt, dann muss die Slave-ID deines BMS in die nächste Spalte

                        Name, Beschreibung Einheit ist selbsterklärend

                        Format steht ja auch in der Tabelle (U)Int16/32

                        Dann sollte es "nur noch" auf die Grundeinstellungen ankommen

                        1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 last edited by

                          @elektroniker86 Laut dem verlinkten Thread Geschwindigleit auf 115200, 8 Daten Bits, 1 Stop Bit

                          Function Code 03H wären zum Lesen Holding Register

                          cddf4d4a-25cd-4195-a6a3-4f482e318593-grafik.png

                          7ef527d7-7ee4-4ca0-a4fa-0b80bf5d832b-grafik.png

                          Aus dem Document würde ich zum testen mal damit beginnen:

                          821a8deb-373c-47b4-a8ba-e4e4828048eb-grafik.png

                          1200H + 0090H = 1290H = 4752Dez für z.B. Total Battery Voltage BatVol in "mV"

                          Unint32 litte oder big endian usw. muss man mal aus testen.

                          Elektroniker86 1 Reply Last reply Reply Quote 2
                          • Elektroniker86
                            Elektroniker86 @wendy2702 last edited by Elektroniker86

                            @wendy2702

                            Vielen Dank erstmal für deine Hilfe!
                            Ich habe mal getestet, jedoch leider ohne Erfolg.
                            Big und little endian habe ich schon probiert.....

                            Screenshot 2025-03-06 124948.png

                            Screenshot 2025-03-06 124926.png

                            Screenshot 2025-03-06 124848.png

                            Das sind die einstellungen, Adapter wird und bleibt grün und folgendes steht im Log:

                            
                            
                            modbus.5
                            2025-03-06 12:58:48.249	info	Connected to slave 192.168.1.123
                            
                            modbus.5
                            2025-03-06 12:58:48.206	info	Can not execute task add for ID undefined: Parameter "id" needs to be of type "string" but type "undefined" has been passed
                            
                            modbus.5
                            2025-03-06 12:58:48.160	error	Invalid object: {"type":"state","common":{"name":"bat vol","role":"value","type":"number","read":true,"write":false,"def":0,"unit":"mV"},"native":{"regType":"inputRegs","address":-25249,"deviceId":0,"type":"uint32le","len":2,"offset":"0","factor":"1"}}
                            
                            modbus.5
                            2025-03-06 12:58:48.160	error	Invalid data inputRegisters/0: {"_address":"4752","deviceId":0,"name":"Total Battery Voltage","description":"bat vol","unit":"mV","type":"uint32le","len":2,"factor":"1","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false,"address":-25249,"fullId":"modbus.5.0"}
                            
                            modbus.5
                            2025-03-06 12:58:48.160	error	Invalid inputRegisters address: -25249
                            
                            modbus.5
                            2025-03-06 12:58:48.098	info	starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.3, js-controller: 7.0.6
                            
                            1 Reply Last reply Reply Quote 0
                            • Elektroniker86
                              Elektroniker86 last edited by

                              Ich muss noch dazu sagen, dass es 2 Batterien sind mit den identischen JKBMS und gleiche Firmware.
                              Damit das mit dem Wechselrichter richtig funktioniert muss eine Batterie mit den DIP Switches auf Adresse 0 (Master) eingestellt werden und die 2. wird dann auf die Adresse 1 eingestellt.......

                              Mit der PC Software kann ich mich verbinden, mit z.B Adresse 1, dann kann ich oben bei den Reitern Device 0 und Device 1 wählen und die Werte abrufen.

                              Screenshot 2025-03-06 130917.png

                              wendy2702 1 Reply Last reply Reply Quote 0
                              • wendy2702
                                wendy2702 @Elektroniker86 last edited by

                                @elektroniker86 zwei Sachen fallen mir am Handy auf.

                                Haken bei Aliases verwenden raus, danach Register kontrollieren.

                                Testen

                                Wenn kein unterschied: Haken bei mehrere IDs verwenden raus und Slave ID vorne einstellen in der Instanz und nicht in den Registern.

                                Was ich am Dokument noch merkwürdig finde ist die Angabe von Uint32 mit Länge 4, eigentlich ist Unit 32 Länge 2.

                                Man könnte dann auch mal mit uint64 versuchen.
                                Alternativ mit externem Modbus Programm und erst wann da was kommt weiter mit iob

                                Elektroniker86 1 Reply Last reply Reply Quote 0
                                • Elektroniker86
                                  Elektroniker86 @wendy2702 last edited by

                                  @wendy2702

                                  So habe noch etwas rumprobiert, so wie du gesagt hast, unit 64 usw.
                                  Jetzt bleibt der Adapter nicht grün und folgendes im Log.

                                  
                                  
                                  modbus.5
                                  2025-03-06 13:38:51.574	error	Client in error state.
                                  
                                  modbus.5
                                  2025-03-06 13:38:51.574	error	Request timed out.
                                  
                                  modbus.5
                                  2025-03-06 13:38:51.573	warn	Error: undefined
                                  
                                  modbus.5
                                  2025-03-06 13:38:45.521	warn	[DevID_1] Poll error count: 2 code: "ReadInputRegisters: Invalid FC 32"
                                  
                                  modbus.5
                                  2025-03-06 13:38:45.521	warn	Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
                                  
                                  modbus.5
                                  2025-03-06 13:38:45.521	warn	Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
                                  
                                  modbus.5
                                  2025-03-06 13:38:41.500	warn	[DevID_1] Poll error count: 1 code: "App Timeout"
                                  
                                  modbus.5
                                  2025-03-06 13:38:36.469	warn	Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
                                  
                                  modbus.5
                                  2025-03-06 13:37:50.820	warn	[DevID_1] Poll error count: 3 code: {"err":"timeout","timeout":5000}
                                  
                                  modbus.5
                                  2025-03-06 13:37:50.820	error	Client in error state.
                                  
                                  modbus.5
                                  2025-03-06 13:37:50.820	error	Request timed out.
                                  
                                  modbus.5
                                  2025-03-06 13:37:50.819	warn	Error: undefined
                                  
                                  modbus.5
                                  2025-03-06 13:37:44.768	warn	[DevID_1] Poll error count: 2 code: "ReadInputRegisters: Invalid FC 32"
                                  
                                  modbus.5
                                  2025-03-06 13:37:41.418	warn	[DevID_1] Poll error count: 1 code: "App Timeout"
                                  
                                  modbus.5
                                  2025-03-06 13:37:36.407	warn	Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
                                  
                                  modbus.5
                                  2025-03-06 13:36:56.950	warn	[DevID_1] Poll error count: 3 code: {"err":"timeout","timeout":5000}
                                  
                                  modbus.5
                                  2025-03-06 13:36:56.950	error	Client in error state.
                                  
                                  modbus.5
                                  2025-03-06 13:36:56.949	error	Request timed out.
                                  
                                  modbus.5
                                  2025-03-06 13:36:56.949	warn	Error: undefined
                                  
                                  modbus.5
                                  2025-03-06 13:36:50.897	warn	[DevID_1] Poll error count: 2 code: "ReadInputRegisters: Invalid FC 32"
                                  
                                  modbus.5
                                  2025-03-06 13:36:46.898	warn	[DevID_1] Poll error count: 1 code: "App Timeout"
                                  
                                  modbus.5
                                  2025-03-06 13:36:41.846	warn	Error in handler for 4: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
                                  
                                  

                                  Welches PC Programm kannst du zum testen empfehlen?

                                  wendy2702 1 Reply Last reply Reply Quote 0
                                  • wendy2702
                                    wendy2702 @Elektroniker86 last edited by

                                    @elektroniker86 kann man, wenn die Instanz im Expertenmodus ist, bei Uint32 die Länge auf 4 Stellen?

                                    Komme gerade nicht an meine Installation zum probieren.

                                    Elektroniker86 1 Reply Last reply Reply Quote 0
                                    • Elektroniker86
                                      Elektroniker86 @wendy2702 last edited by

                                      @wendy2702

                                      Nein, kann man nicht umstellen weder normal noch im Expertenmodus.....
                                      Wie du sagtest u32 ist 2 nicht 4 die Spalte wird dann ausgegraut.

                                      wendy2702 1 Reply Last reply Reply Quote 0
                                      • lobomau
                                        lobomau @Homoran last edited by

                                        @homoran du hast doch auch victron, oder?
                                        Ich mache den Umweg über den victron-controller (raspi 4). Meine beiden JK BMS sind am raspi angeschlossen. Über modbus hole ich mir die JK BMS Daten vom Victron:

                                        ea7bed27-cf28-4815-a0ab-4f441a18eca1-{8E75C88F-33B9-4B67-8314-F8039AD791EE}.png

                                        c73cbd47-7f59-4974-a5bf-c6c9ccb082f3-{0B309EBF-F119-4550-AC17-1205E31B806C}.png

                                        Homoran 1 Reply Last reply Reply Quote 1
                                        • Homoran
                                          Homoran Global Moderator Administrators @lobomau last edited by Homoran

                                          @lobomau sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

                                          du hast doch auch victron, oder?

                                          ja, und oder 😉

                                          hier geht's ums Wohnmobil.
                                          Hab da eine LiFeYPO4 "12V" Batterie mit JK-BMS

                                          Der Raspi mit Venus OS und Display ist fertig.
                                          Genau dafür such ich was

                                          1 Reply Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 @Elektroniker86 last edited by

                                            @elektroniker86 kannst du mal das log zeigen wenn du den haken bei Aliase draußen hast, die Device ID vorne eingetragen ist. Dann auch noch mal die Einstellungen Instanz und Konverter

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            931
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            92
                                            2943
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo