Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. Einbindung Stromzähler über RS485 Modbus

NEWS

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

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

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

Einbindung Stromzähler über RS485 Modbus

Einbindung Stromzähler über RS485 Modbus

Scheduled Pinned Locked Moved Einbindung von Geräten
39 Posts 10 Posters 8.1k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Exonder

    @ining sagte in Einbindung Stromzähler über RS485 Modbus:

    @wendy2702
    Der USB Stick unterstützt leider kein Windows 10.

    Ich klinke mich mal hier kurz mit ein, da ich den Zähler leider auch nicht im Modbus Adpater zum laufen bekomme.

    Die Sticks funktionieren einwandfrei unter Win 10, ich hab ihn so wie Angeschlossen vom Raspberry abgezogen, an den Laptop angesteckt und konnte mittels der Hersteller Software Daten lesen und schreiben.
    Also ist auch die Verdrahtung A/B richtig.

    J Offline
    J Offline
    j privat
    wrote on last edited by j privat
    #25

    Hallo,

    Vielleicht hilft Euch dies: Ich kämpfe auch gerade mit dem B+G Tech DRT428M (bzw. ich DRT428M-3), das Auslesen einiger Register auf dem Raspberry Pi klappt korrekt (int und float ). Mit iobroker kenne ich mich aber nicht aus.

    USB Adapter (QinHeng Electronics CH340 serial converter) funktioniert problemlos

    1. unter MS Windows 10 am PC mit der B+G Herstellersoftware (wie oben schon verlinkt/beschrieben)
    2. Auf dem Paspberry Pi 4 B am USB Port mit modbus rtu über python minimalmodbus.
      Codebeispiel unten.

    Ich musste aber in der Initialisierung die Timings/Konfiguration anpassen, damit das stabil läuft. Aktuell so:

    #!/usr/bin/env python3
    # see https://minimalmodbus.readthedocs.io/en/stable/apiminimalmodbus.html#minimalmodbus.MODE_RTU
    import serial
    import minimalmodbus
    instrument = minimalmodbus.Instrument(port='/dev/ttyUSB0', slaveaddress=1, mode=minimalmodbus.MODE_RTU, close_port_after_each_call=True, debug=False)
    instrument.serial.baudrate = 9600           # Baud
    instrument.serial.parity   = serial.PARITY_EVEN
    instrument.serial.bytesize = 8
    instrument.serial.stopbits = 1
    instrument.clear_buffers_before_each_transaction = True # False
    instrument.serial.timeout  = 0.30           # 0.05 seconds is too fast
    
    try:
         ## Read value 
        print('--- read values: ---')
        print('serial number:  ', instrument.read_register(registeraddress=int(0x0000), number_of_decimals=0))
        print('meter ID:       ', instrument.read_register(registeraddress=int(0x0002), number_of_decimals=0))
        print('baud rate [bps] ', instrument.read_register(registeraddress=int(0x0003), number_of_decimals=0))
        print('CT Rate:        ', instrument.read_register(registeraddress=int(0x0008), number_of_decimals=0))
        print('Combined Code:  ', instrument.read_register(registeraddress=int(0x000B), number_of_decimals=0))
        print('Cycletime: [s]  ', instrument.read_register(registeraddress=int(0x000D), number_of_decimals=0))
      
        print('SW version:             ', instrument.read_float( registeraddress=int(0x0004), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('HW version:             ', instrument.read_float( registeraddress=int(0x0006), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('L1 Voltage [V]          ', instrument.read_float( registeraddress=int(0x000E), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('L2 Voltage [V]          ', instrument.read_float( registeraddress=int(0x0010), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('L3 Voltage [V]          ', instrument.read_float( registeraddress=int(0x0012), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('grid frequency [Hz]     ', instrument.read_float( registeraddress=int(0x0014), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) ) 
        print('L1 Current [A]          ', instrument.read_float( registeraddress=int(0x0016), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('L2 Current [A]          ', instrument.read_float( registeraddress=int(0x0018), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('L3 Current [A]          ', instrument.read_float( registeraddress=int(0x001A), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('TOTAL Active Power[kW]  ', instrument.read_float( registeraddress=int(0x001C), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L1    Active Power [kW] ', instrument.read_float( registeraddress=int(0x001E), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L2    Active Power [kW] ', instrument.read_float( registeraddress=int(0x0020), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L3    Active Power [kW] ', instrument.read_float( registeraddress=int(0x0022), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print('TOTAL Active Energy [kWh]', instrument.read_float( registeraddress=int(0x0100), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L1 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0102), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L2 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0104), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
        print(' L3 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0106), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
    
    except IOError as e:
        print('ERROR: Failed to read from instrument:\n',e)
    
    instrument.serial.close()
    
    

    Ausgabe mit korrekten Werten:

    serial number: 0
    meter ID: 1
    baud rate [bps] 9600
    CT Rate: 0
    Combined Code: 9
    Cycletime: [s ] 2
    SW version: 1.0199999809265137
    HW version: 1.0
    L1 Voltage [V] 226.3000030517578
    L2 Voltage [V] 225.60000610351562
    L3 Voltage [V] 227.8000030517578
    grid frequency [Hz] 49.9900016784668
    L1 Current [A] 0.8299999833106995
    L2 Current [A] 8.329999923706055
    L3 Current [A] 0.4099999964237213
    TOTAL Active Power[kW] 1.972000002861023
    L1 Active Power [kW] 0.0860000029206276
    L2 Active Power [kW] 1.8480000495910645
    L3 Active Power [kW] 0.039000000804662704
    TOTAL Active Energy [kWh] 42.720001220703125
    L1 Total Active Energy[kWh] 9.989999771118164
    L2 Total Active Energy[kWh] 14.619999885559082
    L3 Total Active Energy[kWh] 18.110000610351562

    wendy2702W 1 Reply Last reply
    1
    • J j privat

      Hallo,

      Vielleicht hilft Euch dies: Ich kämpfe auch gerade mit dem B+G Tech DRT428M (bzw. ich DRT428M-3), das Auslesen einiger Register auf dem Raspberry Pi klappt korrekt (int und float ). Mit iobroker kenne ich mich aber nicht aus.

      USB Adapter (QinHeng Electronics CH340 serial converter) funktioniert problemlos

      1. unter MS Windows 10 am PC mit der B+G Herstellersoftware (wie oben schon verlinkt/beschrieben)
      2. Auf dem Paspberry Pi 4 B am USB Port mit modbus rtu über python minimalmodbus.
        Codebeispiel unten.

      Ich musste aber in der Initialisierung die Timings/Konfiguration anpassen, damit das stabil läuft. Aktuell so:

      #!/usr/bin/env python3
      # see https://minimalmodbus.readthedocs.io/en/stable/apiminimalmodbus.html#minimalmodbus.MODE_RTU
      import serial
      import minimalmodbus
      instrument = minimalmodbus.Instrument(port='/dev/ttyUSB0', slaveaddress=1, mode=minimalmodbus.MODE_RTU, close_port_after_each_call=True, debug=False)
      instrument.serial.baudrate = 9600           # Baud
      instrument.serial.parity   = serial.PARITY_EVEN
      instrument.serial.bytesize = 8
      instrument.serial.stopbits = 1
      instrument.clear_buffers_before_each_transaction = True # False
      instrument.serial.timeout  = 0.30           # 0.05 seconds is too fast
      
      try:
           ## Read value 
          print('--- read values: ---')
          print('serial number:  ', instrument.read_register(registeraddress=int(0x0000), number_of_decimals=0))
          print('meter ID:       ', instrument.read_register(registeraddress=int(0x0002), number_of_decimals=0))
          print('baud rate [bps] ', instrument.read_register(registeraddress=int(0x0003), number_of_decimals=0))
          print('CT Rate:        ', instrument.read_register(registeraddress=int(0x0008), number_of_decimals=0))
          print('Combined Code:  ', instrument.read_register(registeraddress=int(0x000B), number_of_decimals=0))
          print('Cycletime: [s]  ', instrument.read_register(registeraddress=int(0x000D), number_of_decimals=0))
        
          print('SW version:             ', instrument.read_float( registeraddress=int(0x0004), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('HW version:             ', instrument.read_float( registeraddress=int(0x0006), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('L1 Voltage [V]          ', instrument.read_float( registeraddress=int(0x000E), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('L2 Voltage [V]          ', instrument.read_float( registeraddress=int(0x0010), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('L3 Voltage [V]          ', instrument.read_float( registeraddress=int(0x0012), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('grid frequency [Hz]     ', instrument.read_float( registeraddress=int(0x0014), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) ) 
          print('L1 Current [A]          ', instrument.read_float( registeraddress=int(0x0016), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('L2 Current [A]          ', instrument.read_float( registeraddress=int(0x0018), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('L3 Current [A]          ', instrument.read_float( registeraddress=int(0x001A), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('TOTAL Active Power[kW]  ', instrument.read_float( registeraddress=int(0x001C), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L1    Active Power [kW] ', instrument.read_float( registeraddress=int(0x001E), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L2    Active Power [kW] ', instrument.read_float( registeraddress=int(0x0020), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L3    Active Power [kW] ', instrument.read_float( registeraddress=int(0x0022), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print('TOTAL Active Energy [kWh]', instrument.read_float( registeraddress=int(0x0100), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L1 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0102), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L2 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0104), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
          print(' L3 Total Active Energy[kWh]', instrument.read_float( registeraddress=int(0x0106), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )
      
      except IOError as e:
          print('ERROR: Failed to read from instrument:\n',e)
      
      instrument.serial.close()
      
      

      Ausgabe mit korrekten Werten:

      serial number: 0
      meter ID: 1
      baud rate [bps] 9600
      CT Rate: 0
      Combined Code: 9
      Cycletime: [s ] 2
      SW version: 1.0199999809265137
      HW version: 1.0
      L1 Voltage [V] 226.3000030517578
      L2 Voltage [V] 225.60000610351562
      L3 Voltage [V] 227.8000030517578
      grid frequency [Hz] 49.9900016784668
      L1 Current [A] 0.8299999833106995
      L2 Current [A] 8.329999923706055
      L3 Current [A] 0.4099999964237213
      TOTAL Active Power[kW] 1.972000002861023
      L1 Active Power [kW] 0.0860000029206276
      L2 Active Power [kW] 1.8480000495910645
      L3 Active Power [kW] 0.039000000804662704
      TOTAL Active Energy [kWh] 42.720001220703125
      L1 Total Active Energy[kWh] 9.989999771118164
      L2 Total Active Energy[kWh] 14.619999885559082
      L3 Total Active Energy[kWh] 18.110000610351562

      wendy2702W Online
      wendy2702W Online
      wendy2702
      wrote on last edited by
      #26

      @j-privat sagte in Einbindung Stromzähler über RS485 Modbus:

      ', instrument.read_float( registeraddress=int(0x0004), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )

      Basierend auf dieser Zeile könnte man im Modbus Adapter mal ein Holding Register eintragen.

      9645605d-ce3b-47f4-ad81-46325b01c9c4-grafik.png

      Die Kommunikations Einstellungen müssen natürlich zu denen des Zählers passen.

      Dann das loggen für die Instanz mal auf Debug stellen ergebnis nach Adapterstart posten.

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      E 1 Reply Last reply
      1
      • wendy2702W wendy2702

        @j-privat sagte in Einbindung Stromzähler über RS485 Modbus:

        ', instrument.read_float( registeraddress=int(0x0004), number_of_registers=2, functioncode=3, byteorder=minimalmodbus.BYTEORDER_BIG) )

        Basierend auf dieser Zeile könnte man im Modbus Adapter mal ein Holding Register eintragen.

        9645605d-ce3b-47f4-ad81-46325b01c9c4-grafik.png

        Die Kommunikations Einstellungen müssen natürlich zu denen des Zählers passen.

        Dann das loggen für die Instanz mal auf Debug stellen ergebnis nach Adapterstart posten.

        E Offline
        E Offline
        Exonder
        wrote on last edited by
        #27

        Danke an @j-privat @wendy2702 Ihr habt mich, wenn auch auf ein paar Umwegen auf den richtigen Weg gebracht. Aktuell läuft der Adapter seit einer Stunde stabil.

        Ich hatte vorher den Haken bei "Aliase Benutzen" drin, da ich das beim RelTech RD2D auch so gemacht habe, dann passen aber natürlich nicht die Register Adressen.
        Die Register Adressen habe ich aus der Herstellerbeschreibung und die HEX einfach mit dem Windows Taschenrechner auf dezimal umgestellt.
        Wichtig ist noch das der Haken bei Zyklisch schreiben bei den Registern draußen ist, sonst ließt der Adapter einmal die Werte aus und geht dann in Störung.

        Das einzige was mir noch Rätsel aufgibt: In der Herstellerbeschreibung ist die Länge immer mit "4" Angegeben, das passt zum einen aber ja nicht auf die Registernummer ( Beispw. L1 zu L2 und L3) und zum anderen geht es ja mit der Float Einstellung auf eine Länge von 2.

        Modbus Eisntellungen.png Modbus Register.png

        wendy2702W R 2 Replies Last reply
        0
        • E Exonder

          Danke an @j-privat @wendy2702 Ihr habt mich, wenn auch auf ein paar Umwegen auf den richtigen Weg gebracht. Aktuell läuft der Adapter seit einer Stunde stabil.

          Ich hatte vorher den Haken bei "Aliase Benutzen" drin, da ich das beim RelTech RD2D auch so gemacht habe, dann passen aber natürlich nicht die Register Adressen.
          Die Register Adressen habe ich aus der Herstellerbeschreibung und die HEX einfach mit dem Windows Taschenrechner auf dezimal umgestellt.
          Wichtig ist noch das der Haken bei Zyklisch schreiben bei den Registern draußen ist, sonst ließt der Adapter einmal die Werte aus und geht dann in Störung.

          Das einzige was mir noch Rätsel aufgibt: In der Herstellerbeschreibung ist die Länge immer mit "4" Angegeben, das passt zum einen aber ja nicht auf die Registernummer ( Beispw. L1 zu L2 und L3) und zum anderen geht es ja mit der Float Einstellung auf eine Länge von 2.

          Modbus Eisntellungen.png Modbus Register.png

          wendy2702W Online
          wendy2702W Online
          wendy2702
          wrote on last edited by
          #28

          @exonder Cool und Danke für das Teilen der Informationen!!!

          Kommen denn die Werte für die Register mit den "längen"?

          Wenn ja würde ich sagen: Fehler in der Hersteller Doku

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Reply Last reply
          0
          • A Offline
            A Offline
            ahermann86
            wrote on last edited by
            #29

            Hallo,

            ich versuche den Zähler auch gerade einzubinden.
            Tasmota - Serial to TCP Bridge

            Anders, als in der Doku und in dem mitglieferten Testprogramm, erwartet der Zähler in der Kommunikationseinstellung nicht 1 sondern 2 Stopbits.
            Das konnte ich sogar mit einem Terminalprogramm (HTerm) reproduzieren.

            Gruß
            Axel

            XenologX 1 Reply Last reply
            1
            • E Exonder

              Danke an @j-privat @wendy2702 Ihr habt mich, wenn auch auf ein paar Umwegen auf den richtigen Weg gebracht. Aktuell läuft der Adapter seit einer Stunde stabil.

              Ich hatte vorher den Haken bei "Aliase Benutzen" drin, da ich das beim RelTech RD2D auch so gemacht habe, dann passen aber natürlich nicht die Register Adressen.
              Die Register Adressen habe ich aus der Herstellerbeschreibung und die HEX einfach mit dem Windows Taschenrechner auf dezimal umgestellt.
              Wichtig ist noch das der Haken bei Zyklisch schreiben bei den Registern draußen ist, sonst ließt der Adapter einmal die Werte aus und geht dann in Störung.

              Das einzige was mir noch Rätsel aufgibt: In der Herstellerbeschreibung ist die Länge immer mit "4" Angegeben, das passt zum einen aber ja nicht auf die Registernummer ( Beispw. L1 zu L2 und L3) und zum anderen geht es ja mit der Float Einstellung auf eine Länge von 2.

              Modbus Eisntellungen.png Modbus Register.png

              R Offline
              R Offline
              RandyAndy
              wrote on last edited by RandyAndy
              #30

              @exonder

              Hi,

              ich habe mal eine Frage zur Slave ID und zur Geräte ID.
              Da kann man doch sicherlich nicht irgendwelche Werte eintragen. Wie kommt man denn an diese Parameter ran ?

              Ich habe die Kommunkation soweit alles durch und kommt derzeit bis INing wie er eine Kommikation Adresse 40004 aufbaut. Das ist aber wohl nur die Kommunikation mit dem RS484 zu USB Konverter.

              Den Konverter finden übrigens mein Raspberry PI. Mit lsusb bekomme ich folgenden informationen:

              Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
              Bus 001 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
              Bus 001 Device 004: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
              Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
              Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
              
              

              Andreas

              1 Reply Last reply
              0
              • A ahermann86

                Hallo,

                ich versuche den Zähler auch gerade einzubinden.
                Tasmota - Serial to TCP Bridge

                Anders, als in der Doku und in dem mitglieferten Testprogramm, erwartet der Zähler in der Kommunikationseinstellung nicht 1 sondern 2 Stopbits.
                Das konnte ich sogar mit einem Terminalprogramm (HTerm) reproduzieren.

                Gruß
                Axel

                XenologX Offline
                XenologX Offline
                Xenolog
                wrote on last edited by
                #31

                @ahermann86 said in Einbindung Stromzähler über RS485 Modbus:

                Anders, als in der Doku und in dem mitglieferten Testprogramm, erwartet der Zähler in der Kommunikationseinstellung nicht 1 sondern 2 Stopbits.
                Das konnte ich sogar mit einem Terminalprogramm (HTerm) reproduzieren.

                Bin verwirrt - in der Doku steht „11bits data (1 start bit, 8 data bit, 1 even check bit, 1 stop bit)“ https://stromzähler.eu/media/pdf/1f/d7/ae/DRT428M-Serie_manual-register.pdf
                Die Einstellungen im Modbus-Adapter lassen aber ein Setzen von Startbits nicht zu, so, wie ich das sehe.
                Bei zwei Stoppbits wären wir dann zwar auf 11 Bits, aber die Inhalte wären quasi um ein Bit verschoben…?

                Da ich daran denke, mir auch einen DRT428-M2 zuzulegen, interessiert mich die Lösung meines Rätsels sehr!

                Hören Sie auf, mich zu verwirren!
                --- Sledge Hammer (David Rasche)

                K 1 Reply Last reply
                0
                • XenologX Xenolog

                  @ahermann86 said in Einbindung Stromzähler über RS485 Modbus:

                  Anders, als in der Doku und in dem mitglieferten Testprogramm, erwartet der Zähler in der Kommunikationseinstellung nicht 1 sondern 2 Stopbits.
                  Das konnte ich sogar mit einem Terminalprogramm (HTerm) reproduzieren.

                  Bin verwirrt - in der Doku steht „11bits data (1 start bit, 8 data bit, 1 even check bit, 1 stop bit)“ https://stromzähler.eu/media/pdf/1f/d7/ae/DRT428M-Serie_manual-register.pdf
                  Die Einstellungen im Modbus-Adapter lassen aber ein Setzen von Startbits nicht zu, so, wie ich das sehe.
                  Bei zwei Stoppbits wären wir dann zwar auf 11 Bits, aber die Inhalte wären quasi um ein Bit verschoben…?

                  Da ich daran denke, mir auch einen DRT428-M2 zuzulegen, interessiert mich die Lösung meines Rätsels sehr!

                  K Offline
                  K Offline
                  klassisch
                  Most Active
                  wrote on last edited by
                  #32

                  @xenolog sagte in Einbindung Stromzähler über RS485 Modbus:

                  Da ich daran denke, mir auch einen DRT428-M2 zuzulegen, interessiert mich die Lösung meines Rätsels sehr!

                  Warum nicht die modbus-fähigen Varianten von SDM630 oder SDM72? Die funktionieren mit dem Modbus-Adapter. Den 630 habe ich hier im Probebetrieb, der SDM72 wurde von anderen Mitgliedern bestätigt, https://forum.iobroker.net/topic/55710/sdm120-sdm72-sdm630-modbus-rs485-stromzähler-w-lan-iobroker?_=1673211582837

                  XenologX 1 Reply Last reply
                  0
                  • K klassisch

                    @xenolog sagte in Einbindung Stromzähler über RS485 Modbus:

                    Da ich daran denke, mir auch einen DRT428-M2 zuzulegen, interessiert mich die Lösung meines Rätsels sehr!

                    Warum nicht die modbus-fähigen Varianten von SDM630 oder SDM72? Die funktionieren mit dem Modbus-Adapter. Den 630 habe ich hier im Probebetrieb, der SDM72 wurde von anderen Mitgliedern bestätigt, https://forum.iobroker.net/topic/55710/sdm120-sdm72-sdm630-modbus-rs485-stromzähler-w-lan-iobroker?_=1673211582837

                    XenologX Offline
                    XenologX Offline
                    Xenolog
                    wrote on last edited by Xenolog
                    #33

                    @klassisch Danke für den Hinweis. Ich war bei Amazon auf einen „SDM630 Modbus v2“ für 99€ gestossen, bei dem in der Übersicht nur was von „Drei-Phasen-Elektro-Energiezähler“ stand, und direkt darunter war dann ein „SDM630Modbus“ ohne das „v2“ für 169€ aufgelistet, bei dem „digitaler Stromzähler Zweirichtungszähler“ stand. Bei dem Preisunterschied ging ich davon aus, dass der „v2“ keine, für einen Photovoltaiker wichtige, Zweirichtungszählung beherrscht. Und mich dann nicht weiter mit den SDM630 beschäftigt.
                    Und beim günstigeren SDM72-V2 habe ich mich auch nicht näher in die Materie vertieft, weil bei dem außer „Import, Export und Gesamt kWh + Tageszählwerk“ nichts angegeben war, was auf ein genaueres Logging schließen lässt.
                    Das kommt davon, wenn man bei Amazon nur die kurzen „Titel“ auf dem Handy liest, und nicht die komplette Artikelbeschreibung.
                    Dann stieß ich auf den DRT428M-2: Der beste Preis, und hat neben Modbus auch eine IR-Schnittstelle. Und da ich für meine wahrscheinlich defekten Hollys zwei VZ-Köpfe da habe, wäre eine Investition in zusätzliche Hardware nicht erforderlich.m, und es müsste nicht noch weitere Hardware in den Zählerkasten.
                    Der Modbus war bei den Hollys für mich nur deshalb auf dem Radar aufgetaucht, weil es mir am einfachsten schien, mich da dran anzuklemmen und künftige Defekte zu umschiffen. Und da sämtliche Stromzähler, die mir bisher in Sicherungskästen begegnet sind, viel Platz wegnahmen, und mir nicht klar war, wo meine eigenen zwei Zähler hinkommen sollten, habe ich die ausgezeichnete Idee, eigene Zähler zu verbauen, die komplett unter meiner Fuchtel stehen, gar nicht gehabt.

                    Hören Sie auf, mich zu verwirren!
                    --- Sledge Hammer (David Rasche)

                    K 1 Reply Last reply
                    0
                    • XenologX Xenolog

                      @klassisch Danke für den Hinweis. Ich war bei Amazon auf einen „SDM630 Modbus v2“ für 99€ gestossen, bei dem in der Übersicht nur was von „Drei-Phasen-Elektro-Energiezähler“ stand, und direkt darunter war dann ein „SDM630Modbus“ ohne das „v2“ für 169€ aufgelistet, bei dem „digitaler Stromzähler Zweirichtungszähler“ stand. Bei dem Preisunterschied ging ich davon aus, dass der „v2“ keine, für einen Photovoltaiker wichtige, Zweirichtungszählung beherrscht. Und mich dann nicht weiter mit den SDM630 beschäftigt.
                      Und beim günstigeren SDM72-V2 habe ich mich auch nicht näher in die Materie vertieft, weil bei dem außer „Import, Export und Gesamt kWh + Tageszählwerk“ nichts angegeben war, was auf ein genaueres Logging schließen lässt.
                      Das kommt davon, wenn man bei Amazon nur die kurzen „Titel“ auf dem Handy liest, und nicht die komplette Artikelbeschreibung.
                      Dann stieß ich auf den DRT428M-2: Der beste Preis, und hat neben Modbus auch eine IR-Schnittstelle. Und da ich für meine wahrscheinlich defekten Hollys zwei VZ-Köpfe da habe, wäre eine Investition in zusätzliche Hardware nicht erforderlich.m, und es müsste nicht noch weitere Hardware in den Zählerkasten.
                      Der Modbus war bei den Hollys für mich nur deshalb auf dem Radar aufgetaucht, weil es mir am einfachsten schien, mich da dran anzuklemmen und künftige Defekte zu umschiffen. Und da sämtliche Stromzähler, die mir bisher in Sicherungskästen begegnet sind, viel Platz wegnahmen, und mir nicht klar war, wo meine eigenen zwei Zähler hinkommen sollten, habe ich die ausgezeichnete Idee, eigene Zähler zu verbauen, die komplett unter meiner Fuchtel stehen, gar nicht gehabt.

                      K Offline
                      K Offline
                      klassisch
                      Most Active
                      wrote on last edited by
                      #34

                      @xenolog Ich habe hier den amazon B08X911LWF im Probebetrieb und der schnurrt mit dem Modbus Adapter "as a charm". Hat 99 EUR gekostet. Nennt sich "SDM630 Modbus v2 Drei-Phasen-Elektro-Energiezähler, 100 Ampere kWh DIN-Schienen-Leistungsmesser, Pulsmesser, Modbus RS485 RTU LCD-Display mit Hintergrundbeleuchtung, MID-zertifiziert/kalibriert "
                      Soll jetzt keine Werbung sein, nur eine Info. Von diesen Dingern gibt es mehrere FW Varianten. Eine arbeitet wohl direkt mit einem Chinesischen Wechselrichter zusammen und ist deshalb anders und teurer.
                      SDM72 habe ich selbst nicht. Kannst aber mal bei Interesse im anderen Thread nachfragen.
                      Zwei SDM120 an einer Modbus Leitung habe ich schon getestet, mehrere SDM630 bzw. 72 sollten aber auch gehen.
                      Die SDM630 können auf Modbus max 38400 Bd Datenrate. Die SDM72 anscheinend nur 9600. Wenn man also mehrere auf einen Bus legt und viele Daten auslesen möchte, könnten die 9600 schon etwas knapp werden.

                      HomoranH 1 Reply Last reply
                      0
                      • K klassisch

                        @xenolog Ich habe hier den amazon B08X911LWF im Probebetrieb und der schnurrt mit dem Modbus Adapter "as a charm". Hat 99 EUR gekostet. Nennt sich "SDM630 Modbus v2 Drei-Phasen-Elektro-Energiezähler, 100 Ampere kWh DIN-Schienen-Leistungsmesser, Pulsmesser, Modbus RS485 RTU LCD-Display mit Hintergrundbeleuchtung, MID-zertifiziert/kalibriert "
                        Soll jetzt keine Werbung sein, nur eine Info. Von diesen Dingern gibt es mehrere FW Varianten. Eine arbeitet wohl direkt mit einem Chinesischen Wechselrichter zusammen und ist deshalb anders und teurer.
                        SDM72 habe ich selbst nicht. Kannst aber mal bei Interesse im anderen Thread nachfragen.
                        Zwei SDM120 an einer Modbus Leitung habe ich schon getestet, mehrere SDM630 bzw. 72 sollten aber auch gehen.
                        Die SDM630 können auf Modbus max 38400 Bd Datenrate. Die SDM72 anscheinend nur 9600. Wenn man also mehrere auf einen Bus legt und viele Daten auslesen möchte, könnten die 9600 schon etwas knapp werden.

                        HomoranH Do not disturb
                        HomoranH Do not disturb
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by
                        #35

                        @klassisch sagte in Einbindung Stromzähler über RS485 Modbus:

                        Die SDM72 anscheinend nur 9600.

                        der Schein trügt.
                        9600 ist der Auslieferungszustand. Die höchste Geschwindigkeit ist 19200.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        K 1 Reply Last reply
                        2
                        • HomoranH Homoran

                          @klassisch sagte in Einbindung Stromzähler über RS485 Modbus:

                          Die SDM72 anscheinend nur 9600.

                          der Schein trügt.
                          9600 ist der Auslieferungszustand. Die höchste Geschwindigkeit ist 19200.

                          K Offline
                          K Offline
                          klassisch
                          Most Active
                          wrote on last edited by
                          #36

                          @homoran sagte in Einbindung Stromzähler über RS485 Modbus:

                          9600 ist der Auslieferungszustand. Die höchste Geschwindigkeit ist 19200.

                          besser als 9600. Immerhin die doppelte Datenmenge. Dann kann es bald losgehen. Sowas wie Netzfrequenz braucht man ja nicht von jedem Zähler.

                          HomoranH 2 Replies Last reply
                          1
                          • K klassisch

                            @homoran sagte in Einbindung Stromzähler über RS485 Modbus:

                            9600 ist der Auslieferungszustand. Die höchste Geschwindigkeit ist 19200.

                            besser als 9600. Immerhin die doppelte Datenmenge. Dann kann es bald losgehen. Sowas wie Netzfrequenz braucht man ja nicht von jedem Zähler.

                            HomoranH Do not disturb
                            HomoranH Do not disturb
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #37

                            @klassisch sagte in Einbindung Stromzähler über RS485 Modbus:

                            Dann kann es bald losgehen.

                            jepp!
                            Hab die Zähler bekommen und heute an einem Netzkabel einphasig angeschlossen um die Adressen zu ändern.
                            Auf den RS 485 to USB warte ich noch.
                            Mal sehen ob der noch vor dem Elektriker kommt, dann teste ich die Verbindung auch erst einmal am Brett.

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Reply Last reply
                            1
                            • K klassisch

                              @homoran sagte in Einbindung Stromzähler über RS485 Modbus:

                              9600 ist der Auslieferungszustand. Die höchste Geschwindigkeit ist 19200.

                              besser als 9600. Immerhin die doppelte Datenmenge. Dann kann es bald losgehen. Sowas wie Netzfrequenz braucht man ja nicht von jedem Zähler.

                              HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #38

                              @klassisch meine Zähler sind leider seit gestern beim Elektriker. Der will den neuen Zählerschrank in der Werkstatt vorbestücken.

                              jetzt wollte ich die Buskabel vorbereiten un hab gar keine Ahnung wo die aus dem Zähler unter der Abdeckung herausgeführt werden können.
                              Ist das wirklich nur der schmale Schlitz unter dem Scharnier.
                              Was nehmt ihr da als Kabel/Brücken?
                              0.5er Litze mit Aderendhülsen gehen da ja gar nicht durch.

                              Und bei Patchkabel Cat xxx geht es auch nicht mit AE Hülsen.
                              Verkegekabel hab ich nur JYSTY

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              K 1 Reply Last reply
                              -1
                              • HomoranH Homoran

                                @klassisch meine Zähler sind leider seit gestern beim Elektriker. Der will den neuen Zählerschrank in der Werkstatt vorbestücken.

                                jetzt wollte ich die Buskabel vorbereiten un hab gar keine Ahnung wo die aus dem Zähler unter der Abdeckung herausgeführt werden können.
                                Ist das wirklich nur der schmale Schlitz unter dem Scharnier.
                                Was nehmt ihr da als Kabel/Brücken?
                                0.5er Litze mit Aderendhülsen gehen da ja gar nicht durch.

                                Und bei Patchkabel Cat xxx geht es auch nicht mit AE Hülsen.
                                Verkegekabel hab ich nur JYSTY

                                K Offline
                                K Offline
                                klassisch
                                Most Active
                                wrote on last edited by klassisch
                                #39

                                @homoran Ja, beim SDM630 ist das der durchgängige Schlitz unter dem Scharnier. Der ist aber 3mm stark, lt. Meßschieber. Da sollten schon ordentliche Leitungen durchgehen.
                                Edit: Beim SDM630 sind "cage clamp (R)" artige Klemmen (Fahrstuhlklemme) drin. Da braucht es keine Aderendhülsen.
                                Bei SDM120 habe ich für die paar Meter 2*0,5mm² H03 VV-F 2x0,5 Flach-Mantelleitung, Schlauchleitung, genommen, wie sie als Zuleitung für kleine Leuchten verwendet wird. Ist zwar nicht verdrillt, aber bei den paar Metern hatte ich im Heizraum keine Probleme.
                                Und Mantelleitung deshalb, weil der Zähler in einer Unterverteilung ist, wo auch 230V drin sind (klar, aber in dem kleinen Kasten nicht infrastrukturell von der Niederspannung trennbar). Und da ist der Isolationsmantel noch mal eine Isolationsschicht.

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                369

                                Online

                                32.4k

                                Users

                                81.3k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe