Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Modbus adapter

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

      Hallo,

      ich komme beim ModBus Adapter auch nicht weiter. Die Verbindung steht zum SMA Wechselrichter und laut Doku von SMA habe ich auch die richtigen Adressen.

      bemerkter Fehler: Wenn ich eine Adresse lösche, kann ich die Änderung nicht abspeichern. Ich muss erst ein anderes Feld ändern bevor der Button Speichern aktiviert wird.

      721_modbus2.jpg
      721_sma.jpg
      721_sma2.jpg

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

        Jetzt habe ich verstanden. Da geht es viel um Signed32 und Unsigned32 und sogar um Unisgned64.

        Das ist noch nicht implementiert. Laut diese Doku https://en.wikipedia.org/wiki/Modbus kann modbus nur U16 und bits, und nur das ist auch momentan drin.

        Man konnte trotzdem schon checken ob die richtige U16 zu sehen sind.

        1 Reply Last reply Reply Quote 0
        • M
          Marcolotti last edited by

          Ich würde gern etwas dazu beitragen und die alles von SMA in eine Datei packen, dass man z.B. im ModBus Adapter vorgefertigte Werte abfragen kann.???

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

            @Marcolotti:

            Ich würde gern etwas dazu beitragen und die alles von SMA in eine Datei packen, dass man z.B. im ModBus Adapter vorgefertigte Werte abfragen kann.??? `
            Ich habe jetzt modbus adapter erwitert, so dass Floats and Integers unterstützt sind.

            Du kannst so beitragen, dass du Geduld hast und die Interesse nicht verlierst, so dass wir gemeinsam den Adapter fertig machen könne. :!:

            1 Reply Last reply Reply Quote 0
            • S
              starfish last edited by

              @bluefox
              > Jetzt habe ich verstanden. Da geht es viel um Signed32 und Unsigned32 und sogar um Unisgned64.

              ich bin jetzt auch nicht der grosse modbus-Spezialist, im Gegenteill, vielleicht habe ich eine ziemlich enge Optik, ich hab ja bloss das eine Instrument, das aber viele Formate verwendet. Modbus ist halt ein sehr altes Protokoll, das anfänglich sehr einfach gestrickt war, aber fortlaufend erweitert wurde. Grad die Zähler (Betriebsstunden, Stromverbrauch) benötigen halt viele Digits, das ist ja auch bei den herkömmlichen mechanischen Zählern ersichtlich. Siemens gibt hier ein Zahlenbereich overflow 1.0e+12 vor.

              Aber das finde ich grad das Schöne am modbus, da wird alles unterstützt, von einfachen bit-operationen z.B. bei Wago-Klemmen bis komplexere Messinstrumente, hauptsächlich im Profi- und Industriebereich. Die Preise sind längst nicht mehr so hoch wie früher, im Gegenteil, in der Bucht gibts oft sehr günstige Möglichkeiten.

              Ich überleg mir grade, wie ich beitragen kann, klar Testen, wobei meine Java-Kenntnisse eher Richtung 0 tendieren. Im hohen Alter ist man einfach nicht mehr so lernfähig. Zugriff auf mein Energiemessgerät könnte ich noch bieten, falls erwünscht.

              Immerhin, jetzt wo das Einlesen der Register funktioniert kann ich zumindest weiter basteln. Es macht für mich nur nicht sehr viel Sinn, händisch Register auszulesen, zu swappen und umzuformen, wenn ich bereits mit pymodbus eine Lösung am Laufen habe, die diese Umrechnungen beherrscht.

              http://forum.iobroker.de/viewtopic.php? … b9a9#p6289

              Liebe grüsse

              Beat

              1 Reply Last reply Reply Quote 0
              • M
                Marcolotti last edited by

                Guten Morgen,

                ich bekomme keine Daten. Es wird egal bei welcher Adresse wird der Wert FF (65535 oder eben im Doppel 4294967295 ausgegeben)

                721_adressen.jpg

                Wenn ich den Haken bei Aliases reinmache, dann stellt er die 543 auf 60543 um. Sollte eigentlich 30543 im Eingangsregister sein oder?

                Gruß Marco

                P.S. Ich bin ein sehr geduldiger Mensch und Respekt vor eurer Arbeit. 😉

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

                  @Marcolotti:

                  Guten Morgen,

                  ich bekomme keine Daten. Es wird egal bei welcher Adresse wird der Wert FF (65535 oder eben im Doppel 4294967295 ausgegeben)

                  filename="adressen.JPG" index="1">~~

                  Wenn ich den Haken bei Aliases reinmache, dann stellt er die 543 auf 60543 um. Sollte eigentlich 30543 im Eingangsregister sein oder?

                  Gruß Marco

                  P.S. Ich bin ein sehr geduldiger Mensch und Respekt vor eurer Arbeit. 😉 `
                  30543 ist definitiv ein Alias. D.h. es ist eine Adresse 30543 - 30001 = 542 (Man kann aber auch weiter hin die aliases verwenden)

                  Probiere bitte so:
                  48_2015-10-23_09_41_37-localhost_8081__instances.png
                  Und Checkbox bei Aliases an!

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

                    Ich habe auch mit diesem Tool gespielt und getestet:

                    http://en.radzio.dxp.pl/modbus-master-simulator/

                    1 Reply Last reply Reply Quote 0
                    • S
                      starfish last edited by

                      @bluefox
                      > Ich habe jetzt modbus adapter erwitert, so dass Floats and Integers unterstützt sind.
                      Du codest ja schneller, als ich posten kann 🙂 da cann ich mein python-script bald in Pension schicken.
                      > Du kannst so beitragen, dass du Geduld hast und die Interesse nicht verlierst, so dass wir gemeinsam den Adapter fertig machen könne. :!:
                      Kein Problem - Geduld kostet ja nix (ausser Nerven /Spass off)

                      Das Radzio-Tool ist übrigens Spitze, sowas habe ich gesucht,

                      Beat

                      1 Reply Last reply Reply Quote 0
                      • S
                        starfish last edited by

                        was soll ich sagen: ganz einfach - float Big Endian läuft 😄 😄 😄 - 100x danke.

                        erst wollte ich meckern, aber dann merkte ich, dass das radzio-tool auf dem Schlauch stand und deshalb keine Daten im modbus-adapter ankamen.

                        vielleicht noch ein kleiner Schönheitsfehler: je nach Anwendung hats massenhaft Nachkomma-Stellen, wenn man die begrenzen, bzw. runden könnte wäre schön. Ein Faktor lässt sich ja bereits einstellen und z.B. Wattstunden in Kilowattstunden umformatieren. Super.

                        jetzt geh ich noch die anderen Formate durch.

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

                          Klasse! Das freut mich, dass beim jemandem modbus Treiber funktioniert. :!:

                          Prinzipiell geht es. Jetzt kommt an Details an.

                          1 Reply Last reply Reply Quote 0
                          • S
                            starfish last edited by

                            habe etwas weiter getestet, da habe ich folgendes festgestellt:

                            in den Einstellungen der modbusinstanz, wenn man ganz oben in der grünen Zeile links die Adresse etc. einträgt dann sollte doch eine neue Zeile mit diesen Angaben erstellt werden, wenn man auf das + Zeichen drückt? das machts bei mir nicht, zumindest die Adresse ist irgendwas undefinierbares. Ich muss dann in der neuen Zeile korrigieren, dann werden die richtigen Angaben übernommen.

                            Wenn ich richtig verstanden habe, dann sind erst float und integer eingebaut? bei mir läuft float big endian mit 2 Registern, bei unsigned long und double klemmts noch.

                            bei hohen Zahlenwerten scheint auch noch ein Problem. Ein Float der in Radzio 1,76365E0006 ergibt, stoppt den modbus-adapter - log:

                            modbus.0	2015-10-24 03:45:17	error	modbus.0 try reconnection
                            modbus.0	2015-10-24 03:45:17	info	modbus.0 Disconnected from slave 192.168.0.68
                            modbus.0	2015-10-24 03:45:17	warn	modbus.0 Poll error count: 6 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:15	warn	modbus.0 Poll error count: 5 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:13	warn	modbus.0 Poll error count: 4 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:11	warn	modbus.0 Poll error count: 3 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:09	warn	modbus.0 Poll error count: 2 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:07	warn	modbus.0 Poll error count: 1 code: Error: Illegal Data Value
                            modbus.0	2015-10-24 03:45:07	info	modbus.0 Connected to slave 192.168.0.68
                            modbus.0	2015-10-24 03:45:06	info	modbus.0 starting. Version 0.2.6 in /opt/iobroker/node_modules/iobroker.modbus
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • M
                              Marcolotti last edited by

                              Guten Morgen,

                              wie läuft das mit der Device-ID? Ich habe mir auch mal das Superprogramm zugelegt. Den Wechselrichter muss ich mit der Device-ID 3 ansprechen, sonst kommt nur 65535…FF.

                              721_deviceid.jpg

                              721_objekte.jpg

                              721_userid.jpg

                              Gruß Marco

                              1 Reply Last reply Reply Quote 0
                              • S
                                starfish last edited by

                                @Bluefox: Verständnisfrage: Du verwendest den TooTallNate stack, ist es so, dass man mit dieser library nur RAW-Daten lesen und schreiben kann und man das ganze Zahlenhandling dann selbst macht?

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Marcolotti last edited by

                                  Hallo,

                                  Danke Bluefox für das Update mit der DeviceID.

                                  Was für mich wirklich irreführend ist, ist die Adressierung.

                                  Wenn ich die 30803 z.B. für die Netzfrequenz angebe, macht er daraus eine 30802.
                                  721_objekte.jpg

                                  Der Valuewert ist nicht richtig.

                                  Im RMM sieht es so aus und ist korrekt:
                                  721_rmm.jpg

                                  4998=49,98Hz

                                  Wie lese ich nun die zweite Zeile aus. Alle Adresse haben den Inhalt in der zweiten Zeile bzw. bestehend aus erster und zweiter Zeile.

                                  Bei mir kommt entweder -1 oder eine utopische Zahl heraus. Habe schon mit allen möglichen Varianten versucht. 😢

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    starfish last edited by

                                    Entwarnung:
                                    > bei hohen Zahlenwerten scheint auch noch ein Problem. Ein Float der in Radzio 1,76365E0006 ergibt, stoppt den modbus-adapter - log:
                                    Dies kam zustande, weil ich das Register in "holdingRegisters" definiert habe. Richtig wäre gewesen: "inputRegisters", zumindest läufts jetzt.

                                    oft wird inputRegisters und holdingRegisters verwechselt. inputRegisters sind reine Lese-Register, während holdingRegisters RW sind.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      starfish last edited by

                                      Erste Erfolge:

                                      Messwerte aus Siemens PAC 3200 in iobroker
                                      291_modbus.png

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Marcolotti last edited by

                                        Guten Abend.

                                        Kann das sein, dass beim Signed32 die Werte multipliziert werden?

                                        721_modbus-poll.jpg

                                        Gruß Marco

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

                                          Nein. Die Werte werde richtig geliefert. (Getestet mir Radzio MMS)

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Marcolotti last edited by

                                            😐 😢

                                            Hilft das vielleicht weiter? (Transmission.log vom Radzio!)

                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x75</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x73</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x73</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x76</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x86</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x88</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x8C</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x97</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x95</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x93</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x94</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x93</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x93</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x92</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x92</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x92</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x67</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x55</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x54</rx> 
                                            <tx>0x00 0x00 0x00 0x00 0x00 0x06 0x03 0x04 0x78 0x91 0x00 0x02</tx> 
                                            <rx>0x00 0x00 0x00 0x00 0x00 0x07 0x03 0x04 0x04 0x00 0x00 0x05 0x54</rx> 
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            637
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            modbus modbus adapter
                                            140
                                            970
                                            297757
                                            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