Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Modbus RS485 Tutorial/Einstieg gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @WolfgangFB last edited by

      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

      Dummerweise stehen die da nicht.

      doch!
      https://stromzähler.eu/media/pdf/0e/ca/1d/SDM230-Modbus.pdf

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

        @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

        Dummerweise stehen die da nicht.

        doch!
        https://stromzähler.eu/media/pdf/0e/ca/1d/SDM230-Modbus.pdf

        Ooooh, danke, damit werde ich es später probieren. Beim Zähler selbst ist nur ein ca. Din-A3 Blatt großes gefaltetes "User Manual V1.8" dabei.

        Auf Seite 20 des Manuals V1.4 sehe ich, dass man wohl mehrere Modbus Geräte in Reihe schalten kann.
        Beim Modbus Adapter kann man zwar "mehrere Geräte IDs" aktivieren, aber unter "Allgemein" "Geräte ID" kann ich nur eine ID angeben. Wie gebe ich da mehrere Geräte ein?
        Beim SDM230 kann man ja die seriellen Parameter wie Baudrate, Parität ändern sowie die ID ändern. Beim DDM180 (falls ich für den auch so eine Anleitung finde) scheinen diese Parameter fest vorgegeben zu sein (jedenfalls gibt es keinen Knopf auf dem Zähler wo ich etwas ändern kann und beim Einschalten steht "Add 013" was wohl die Adresse ist).
        Ich vermute mal, dass man keine zwei Geräte zusammenschalten kann, die entweder (fest) die gleiche Adresse haben oder (fest) unterschiedliche seriellen Parameter haben.

        Homoran 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @WolfgangFB last edited by

          @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

          dass man wohl mehrere Modbus Geräte in Reihe schalten kann.
          Beim Modbus Adapter kann man zwar "mehrere Geräte IDs" aktivieren, aber unter "Allgemein" "Geräte ID" kann ich nur eine ID angeben. Wie gebe ich da mehrere Geräte ein?

          nicht in Reihe!!!
          die müssen parallel geschaltet werden. Ist ja ein Bus.

          wenn du mehrere IDs aktivierst erscheint eine Spalte ID

          Die Geräte müssen aber vor der Anbindung an den Bus richtig konfiguriert sein.

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

            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

            falls ich für den auch so eine Anleitung finde

            finden setzt Suchen voraus!

            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

            Beim DDM180

            den finde ich gar nicht.

            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

            scheinen diese Parameter fest vorgegeben zu sein

            mag sein, dürfte der Nummer nach auch extrem lowcost sein.

            Dann müssen alle anderen im Bus auf die selben Übertragungsparameter eingestellt werden

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

              @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

              @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

              falls ich für den auch so eine Anleitung finde

              finden setzt Suchen voraus!

              Ich habe gesucht.
              Gefunden habe ich bisher folgendes:
              https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/noname-ddm18sd-mmd18sd.htm

              Da weiß ich aber noch nicht wie ich aus dem Modbus Offset auf die Adressen komme.

              https://www.re-innovation.co.uk/docs/talking-to-a-ddm18sd-energy-meter/

              Da scheint es jemand geschafft zu haben, wie die Adressen lautet sehe ich darin aber auch nicht.

              In
              https://github.com/re-innovation/DDM_Energy_Meter

              fangen die Adressen auch bei 0 an.

              https://github.com/digimp/DDM18SD

              hat etwas mit Tasmota gemacht.

              https://registry.platformio.org/libraries/reaper7/SDM

              Macht das auch irgendwie ohne diese Adressen.

              Aber auf
              https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/eastron-sdm230.htm

              Finde ich auch die Adressen des 230 als Offset und hier kenne ich ja die Absolutadressen.
              Der Strom des 230 ist ja 30007 und als 2Offset" wird 6 angegeben. Beim DDM118 ist der Offset für den Strom 8, kann ich dann einfah daon ausgehen, dass die Adresse dann 30009 ist?

              Bei einigen anderen Zählern habe ich noch Low und High Adressen gefunden. Kann man die in "Gesamtadressen" umrechnen?

              Homoran 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @WolfgangFB last edited by Homoran

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                Beim DDM118

                ist das der vorhin als

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                DDM180

                bezeichnete, den ich nirgends finden konnte?

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                Da weiß ich aber noch nicht wie ich aus dem Modbus Offset auf die Adressen komme.

                was ist das jetzt?
                Wo hast du Offset her?
                Wie willst du alleine aus einem Offset eine Adresse erraten?

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                fangen die Adressen auch bei 0 an.

                wäre möglich. muss aber nicht

                üblich für Inputregister
                Adresse 1 offset 30001 -> 30002
                das kann aber auch +/- 1 sein

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                Der Strom des 230 ist ja 30007 und als 2Offset" wird 6 angegeben

                wo steht das denn?

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                Kann man die in "Gesamtadressen" umrechnen?

                gib einfach die Adressen aus der Liste ein und gut ist

                EDIT:
                Das hier sind jetzt dreiphasige Zähler
                Screenshot_20230619-175039_Firefox.jpg

                1 ist SDM630 und 2 ist SDM72

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

                  @wolfgangfb gibt es noch eine Antwort auf

                  @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                  @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                  Beim DDM118

                  ist das der vorhin als
                  @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                  DDM180

                  bezeichnete, den ich nirgends finden konnte?

                  ich kann unter beiden Bezeichnungen keine Stromzähler finden.

                  1 Reply Last reply Reply Quote 0
                  • W
                    WolfgangFB last edited by

                    @homoran
                    So, ich war jetzt insgesamt ziemlich erfolgreich.
                    Zuerst habe ich mich um den SDM230 gekümmert (von dem stehen ja die Adressen in der Doku).
                    In der Konfiguration vom Modbus Adapter habe ich folgende Einstellungen gemacht:

                    modbus_allgemein.jpg

                    Den Port habe ich über den Befehl

                    pi@raspberrypi:~ $ ls -l /dev/serial/by-id
                    insgesamt 0
                    lrwxrwxrwx 1 root root 13 19. Jun 21:13 usb-FTDI_FT232R_USB_UART_AB0LZNDF-if00-port0 -> ../../ttyUSB2
                    lrwxrwxrwx 1 root root 13 10. Mai 13:19 usb-Silicon_Labs_WiMOD_iM871A-usb_00919907-if00-port0 -> ../../ttyUSB1
                    

                    herausgefunden.

                    Zuerst gab es keine Verbindung, dann habe ich zusätzlich den empfohlenen Widerstand ib die Leitung gelötet (100 Ohm, 120 habe ich nicht gehabt). Dann hat der Adapter auch gleich auf gelb und dann auf grün geschaltet. In die Objekte geschaut, die Datenpunkte sind da, aber keine Werte (alle 0), wieder in die Instanzen geschaut und der Adapter war auf einmal gelb. Dann die beiden Kabel am RS485 auf USB Adapter getauscht und der erste Erfolg war da, der Adapter blieb grün und die Werte vom Stromzähler wurden übermittelt (wobei Blind und Wirkleistung meiner Meinung nach vertauscht sind, eine alte Glühbirne mit Wolframfaden hat meiner Meinung nach keine Blind sondern nur Wirkleistung, es wird aber nur Blindleistung angezeigt).

                    Das ist für mich der erste echte Knackpunkt dass der Adapter kurzzeitig grün anzeigt, und dann nach ein paar Sekunden auf gelb springt. Wenn man bei grün sofort denkt "alles OK" leigt man falsch.

                    Was mich auch verwundert ist, dass es auch die Polarität des Anschlusses ankommt. Ich hätte jetzt gedacht, da es bei RS485 nur um die Spannungsdifferenz zwischen A und B geht, dass die Polarität egal ist, aber ok.

                    Dann als nächstes versucht einen DDS548 anzuschprechn.
                    dds548.jpg

                    Den also an die gleiche Leitung gehängt und zusätzlich bei den Objekten die Spannung 30001 mit der Adresse 12 anzuzeigen. Erstes Ergebnis: Adapter bleibt rot.
                    Dann eine zweite Instanz des Modbus Adapters instlliert und nur diesen Zähler eingerichtet. Ergebnis: Adaper wird gelb, dann grün und dann wieder gelb.
                    Also wieder die Adern vertauscht und der Adapter wurde grün! Wenn also auf dem gesamten Bus nur ein einziger Zähler falsch angeschlossen ist wird der Adapter rot bleiben. Also am besten erestmal jedes Gerät für sich richtig einrichten und dann kann man auch mehrere IDs in einer Instanz auslesen.
                    Da ich zu diesem Zähler absolut nichts braucbares im Netz gefunden habe, habe ich mal mit den Werten aus

                    https://github.com/re-innovation/DDM_Energy_Meter/blob/main/Test%20Code/sdm_simple_test_libraries/SDM.h

                    aus dem Abschnitt REGISTERS LIST FOR DDM DEVICE experimentiert (DDS gibt es dort nicht).
                    Dort steht z.B.

                    #define DDM_PHASE_1_VOLTAGE                           0x0000                    //  V           |    1    |
                    #define DDM_PHASE_1_CURRENT                           0x0008                    //  A           |    1    |
                    #define DDM_PHASE_1_POWER                             0x0012                    //  W           |    1    |
                    #define DDM_PHASE_1_REACTIVE_POWER                    0x001A                    //  VAr         |    1    |
                    #define DDM_PHASE_1_POWER_FACTOR                      0x002A                    //              |    1    |
                    #define DDM_FREQUENCY                                 0x0036                    //  Hz          |    1    |
                    #define DDM_IMPORT_ACTIVE_ENERGY                      0x0100                    //  kWh         |    1    |
                    #define DDM_IMPORT_REACTIVE_ENERGY                    0x0400                    //  kVArh       |    1    |
                    

                    also habe ich mal zu allen Werten 30001 dazugezählt (also 30009 für den Strom) und siehe da, das ganze funktioniert.

                    Jetzt zum Problemkind DDM18SD

                    ddm18.jpg

                    Da musste ich die Parität von "none" auf "even" ändern. Da die Github Seite ja nur von DDM devices spricht habe ich einfach mal die gleichen Adressen wie beim DDS genommen und auch das hat funktioniert.

                    Jetzt weiß ich nur noch nicht, wie ich bei diesem Gerät intern die Parität ändern kann. Beim SDM230 git es die Adresse "40019 Write the network port parity/stop bits for MODBUS
                    Protocol". Aber selbst wenn ich diese Adresse für DDM Devices kennen würde, wie schreit man da etwas? Kann ich die bei "Diskrete Ausgänge" alegen und dann ändern? Das muss ich noch herausfinden.

                    Was mir noch beim DDM18 aufgefallen ist, ist dass das ganze nicht sonderlich stabil ist. Mal war der Adapter minutenlang grün und schön die Werte angezeigt, dass ist er wieder mal 5 Minuten auf gelb gegangen und hat nichts aktualisiert, dann ging er plötzlich wieder.
                    Die Maximale Kabellänge soll ja im Kilometerbereich liegen und da bin ich weit davon entfernt.

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

                      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                      Was mich auch verwundert ist, dass es auch die Polarität des Anschlusses ankommt.

                      siehe von mir verlinkte Anleitung.

                      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                      dass der Adapter kurzzeitig grün anzeigt, und dann nach ein paar Sekunden auf gelb springt.

                      dann hat er Verbindung, läuft aber in ein Timeout und bekommt nichts zurück.
                      steht dann aber im log

                      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                      Da musste ich die Parität von "none" auf "even" ändern

                      dann kannst du ihn nicht am selben Bus betreiben.

                      W 1 Reply Last reply Reply Quote 0
                      • K
                        klassisch Most Active @WolfgangFB last edited by klassisch

                        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                        Was mich auch verwundert ist, dass es auch die Polarität des Anschlusses ankommt. Ich hätte jetzt gedacht, da es bei RS485 nur um die Spannungsdifferenz zwischen A und B geht, dass die Polarität egal ist, aber ok.

                        Hatte ich Dir doch schon am 31.05. https://forum.iobroker.net/post/808027 geschrieben.

                        Es gibt mittlerweile aber tatsächlich Bausteine von TI, die eine Vertauschung erkennen und korrigieren. Sind aber nicht in den billigen Zählern eingebaut. Wahrscheinlich auch nicht in den teuren.

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

                          @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                          wie schreit man da etwas?

                          steht in der Anleitung

                          @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                          40019 Write t

                          40000er sind Holdingregister

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

                            @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                            Was mich auch verwundert ist, dass es auch die Polarität des Anschlusses ankommt.

                            siehe von mir verlinkte Anleitung.

                            Welche Anleitung meinst Du? Die des SDM230?

                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                            dass der Adapter kurzzeitig grün anzeigt, und dann nach ein paar Sekunden auf gelb springt.

                            dann hat er Verbindung, läuft aber in ein Timeout und bekommt nichts zurück.
                            steht dann aber im log

                            Ich könnte mir vorstellen, dass es anderen so wie mir ergeht, ich sehe "grün", freue mich, dass alles klappt und klicke auf den nächsten Brower-Tab mit den Objekten und wundere mich, dass da nichts passiert, deshalb habe ich diesen (aus meiner Sicht vorhandenen) Stolperstein hier erwähnt.

                            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

                            750
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            8
                            39
                            2712
                            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