Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Modbus adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
modbus adaptermodbus
978 Beiträge 140 Kommentatoren 382.4k Aufrufe 64 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Marcolotti
    schrieb am zuletzt editiert von
    #3

    Hallo,

    ich habe ihn ein wenig getestet. Was mir auffällt ist, dass man nur eine Adresse angeben kann und nichts weiter passiert, wenn man auf das "+" drückt.

    Die Werte der Adressen verändern sich bzw. werden falsch gespeichert. Z.B. 30529 in 3000052000001 oder so ähnlich.

    Gruß Marco

    CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #4

      Danke fürs ausprobieren.

      Ich habe den Fehler gefixt.

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Marcolotti
        schrieb am zuletzt editiert von
        #5

        Guten Morgen,

        so wurde konfiguriert.

        721_konfiguration.jpg

        Und so erscheint es.

        721_modbus.jpg

        CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #6

          Abgesehen davon, muss es trotzdem gehen.

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #7

            Es gibt auch neue Version.

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              starfish
              schrieb am zuletzt editiert von
              #8

              Das ist ja Genial, vielen Dank Bluefox. Ehrlich gesagt, ich habe schon seit der Erwähnung im russischen Forum damit Versuche gemacht, leider erfolglos, aber ich wollte nicht drängen. Aber jetzt, mit Version 0.2.5 möchte ich mich doch mit meinen Problemen melden.

              Vorab ist mir unklar, wie sind die Einstellungen gedacht:

              Startadresse - bedeutet das ein Segment im Registerbereich?

              Adresse (in der Zeile vor Name und Beschreibung) … ist das der Offset zu obiger Startadresse?

              Rolle : ist das die Auswahl des Formats?

              in meinem Beispiel möchte ich Daten lesen mit Offset 65 (Start bei 0) 2 Register im Format Float

              Was muss ich da konfigurieren?

              anbei ein Log-Ausschnitt, wenn ich startadr. 0 angeben und Adresse 65 Rolle value im Tab Holding-Registers

              modbus.0	2015-10-21 14:12:50	info	modbus.0 Disconnected from slave 192.168.0.68
              modbus.0	2015-10-21 14:12:50	warn	modbus.0 Error: read ECONNRESET
              modbus-0	2015-10-21 14:10:49	info	Connected to slave 192.168.0.68
              modbus-0	2015-10-21 14:10:49	error	Invalid holding register address: -39936
              modbus-0	2015-10-21 14:10:49	info	starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.modbus
              host-odroid	2015-10-21 14:10:48	info	instance system.adapter.modbus.0 started with pid 6062
              host-odroid	2015-10-21 14:10:46	info	instance system.adapter.modbus.0 terminated with code 0 (OK)
              modbus-0	2015-10-21 14:10:46	info	terminating
              host-odroid	2015-10-21 14:10:45	info	stopInstance system.adapter.modbus.0 killing pid 6056
              host-odroid	2015-10-21 14:10:45	info	stopInstance system.adapter.modbus.0
              host-odroid	2015-10-21 14:10:45	info	object change system.adapter.modbus.0
              modbus-0	2015-10-21 14:10:31	info	Connected to slave 192.168.0.68
              modbus-0	2015-10-21 14:10:31	info	starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.modbus
              host-odroid	2015-10-21 14:10:29	info	instance system.adapter.modbus.0 started with pid 6056
              host-odroid	2015-10-21 14:10:27	info	instance system.adapter.modbus.0 terminated with code 0 (OK)
              host-odroid	2015-10-21 14:10:26	info	stopInstance system.adapter.modbus.0 killing pid 6043
              host-odroid	2015-10-21 14:10:26	info	stopInstance system.adapter.modbus.0
              host-odroid	2015-10-21 14:10:26	info	object change system.adapter.modbus.0
              modbus-0	2015-10-21 14:08:58	info	Connected to slave 192.168.0.68
              modbus-0	2015-10-21 14:08:57	error	Invalid holding register address: -39936
              

              kann gut sein, dass ich etwas falsch verstanden habe. Der modbus slave antwortet jedoch korrekt mit meinem python-programm, das ich aus iobroker aufrufe. (siehe meine Anleitung im Forum). Ein Fehler auf dieser Seite kann ich also ausschliessen.

              gruss

              Beat

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #9

                Mit Adressen es ist ziemlich kompliziert. Es gibt zwei Arten wie man die Adressierung in modbus macht:

                • absolut

                • aliases

                Absolute Adressen sind einfach. Für jede Art von Tags (coils, discrete inputs, holding register, input register) fangen die Adressen bei 0 an und enden bei 65535. Das kann man benutzen, wenn man "Benutze aliases" Flag deaktiviert.

                Aliases sind Bereiche:

                coils, 1-10000

                discrete inputs, 10001-30000

                holding register, 30001-40000

                input register 40000-65535

                Dabei bei der tatsächlicher Adressierung werden die Aliases in Adressen umgerechnet: Aliase - Offset (1,10001,30001,40001)

                Bei Coils und Discrete Inputs werden noch die Bits innerhalb von einem Wort gedreht. (völliger Blödsinn)

                > Adresse (in der Zeile vor Name und Beschreibung) … ist das der Offset zu obiger Startadresse?
                Das ist eine Adresse (und kein Offset) von einem Wort. D.h falls man mehrere Worte hat, dann muss jedes Wort projektiert werden.

                > Rolle : ist das die Auswahl des Formats?
                Das ist die Rolle aus ioBroker und keine Formatierung. Die Rollen kann man selbst definieren.

                ` > in meinem Beispiel möchte ich Daten lesen mit Offset 65 (Start bei 0) 2 Register im Format Float

                Was muss ich da konfigurieren? `
                Floats sind noch nicht unterstützt. Habe erst jetzt erfahren, dass da floats gibt :lol:

                http://www.chipkin.com/how-real-floatin … -messages/

                Aber falls du jetzt ausprobieren willst, dann
                48_2015-10-21_17_44_53-localhost_8081__instances.png
                48_2015-10-21_17_54_27-localhost_8081__instances.png
                dann im Skript FloatXa und FloatXb zusammen bringen.

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  starfish
                  schrieb am zuletzt editiert von
                  #10

                  hallo Bluefox,

                  danke für Deine ausführliche Antwort. Die muss ich erst verdauen :o -> den Alias verwenden Haken habe ich nicht weggemacht, das war der erste Fehler.

                  Für das PAC3200 Siemens Energiemessgerät gibts eine Liste mit absoluten Adressen der Register von 1-2900 ca.

                  zu den Formaten: da gibts nebst Float noch Double mit 4 Registern und unsigned long mit 2 Registern. die Verdrehung von MSB und LSB gibts auch bei Float, wenn ich richtig verstanden habe (Big Endian). Die python library, die ich verwende stelllt extra Filter zur Verfügung, die alles wieder grade biegen.(gibt es sowas nicht in js?) Naja, wie auch immer, ich werde eben weiter testen und versuchen, Im produktiven Einsatz läuft vorerst die python lösung da muss ich mir kein Stress machen. Trotzdem wäre es natürlich schön, wenn das irgendwann mal als Adapter im ioibroker funktionieren würde.

                  Grüsse

                  Beat

                  Nachtrag 22.10.15 : jetzt funktionierts: Haken weg bei "Alias verwenden" und jetzt kommen Daten zurück, halt jedes Register einzeln, wie oben beschrieben.

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Marcolotti
                    schrieb am zuletzt editiert von
                    #11

                    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

                    CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue

                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #12

                      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 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Marcolotti
                        schrieb am zuletzt editiert von
                        #13

                        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.???

                        CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue

                        1 Antwort Letzte Antwort
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          schrieb am zuletzt editiert von
                          #14

                          @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 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            starfish
                            schrieb am zuletzt editiert von
                            #15

                            @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 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              Marcolotti
                              schrieb am zuletzt editiert von
                              #16

                              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. ;)

                              CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue

                              1 Antwort Letzte Antwort
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                schrieb am zuletzt editiert von
                                #17

                                @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 Antwort Letzte Antwort
                                0
                                • BluefoxB Offline
                                  BluefoxB Offline
                                  Bluefox
                                  schrieb am zuletzt editiert von
                                  #18

                                  Ich habe auch mit diesem Tool gespielt und getestet:

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    starfish
                                    schrieb am zuletzt editiert von
                                    #19

                                    @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 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      starfish
                                      schrieb am zuletzt editiert von
                                      #20

                                      was soll ich sagen: ganz einfach - float Big Endian läuft :D :D :D - 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 Antwort Letzte Antwort
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        schrieb am zuletzt editiert von
                                        #21

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

                                        Prinzipiell geht es. Jetzt kommt an Details an.

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          starfish
                                          schrieb am zuletzt editiert von
                                          #22

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          548

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe