Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Modbus RTU ORNO auslesen

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

      Kann mir jemand helfen. Ich möchte mit dem Modbusadapter einen Stromzähler von Orno auslesen.
      Ich bekomme das mit den Registern nicht hin. Am PC funktioniert es:
      Write: 01 03 01 10 00 01 84 33 wird gesendet. 1. Byte 01 ist die ID, 03 steht für Holding Register, 0110 sind die Registernr, steigen dann an 0112,0113
      Was danach folgt verstehe ich nicht. Wie bildet man das mit dem Modbusadapter nach?


      Mod-Edit: Thema von Forum nach Allgemein verschoben!

      1 Reply Last reply Reply Quote 0
      • C
        charakterkopf last edited by charakterkopf

        @cbund said in Modbus RTU ORNO auslesen:

        . Byte 01 ist die ID

        Hey, welcher ORNO Zähler ist es denn? Ich habe den ORNO OR-WE-517 mit einem Raspberry PI Python Skript ausgelesen. Vielleicht hilft es dir weiter...

        https://forum.iobroker.net/topic/30953/abfrage-orno-or-we-516-517-modbus-evtl-script-vorhanden/3

        Kenne den Modbus Adapter leider nicht, Aber da gibt es hier bestimmt auch Profis 🙂

        Gruß Martin

        Hier sind die Einstellungen und Register für den 517 (Register Adresse wird hier in Dezimal angeben):

        #Funktion zum umwandeln
        def umwandeln_ieee(Wert):  #Umwandlung Array of int ( 4 byte) in float nach IEEE 754
            Wert2=str(hex(Wert))
            Wert2=Wert2.replace('0x', '')
            if Wert2=='0':
               Wert2='00000000'
            Wert3=struct.unpack('>f', binascii.unhexlify(Wert2))[0]
            return (Wert3)
        
        
        #Adapter für Modbus Anlegen 
        smartmeter = minimalmodbus.Instrument('/dev/ttyUSB0', 1,) # port name, slave address (in decimal)
        smartmeter.serial.baudrate = 9600 # Baud
        smartmeter.serial.bytesize = 8
        smartmeter.serial.parity   = serial.PARITY_EVEN # vendor default is EVEN
        smartmeter.serial.stopbits = 1
        smartmeter.serial.timeout  = 0.6  # seconds
        smartmeter.mode = minimalmodbus.MODE_RTU   # rtu or ascii mode
        smartmeter.clear_buffers_before_each_transaction = False
        smartmeter.debug = False # set to "True" for debug mode
        
         
        
        #Adresse = smartmeter.read_register(2, 0, 3, False)  # registeraddress, number_of_decimals=0, functioncode=3, signed=False
        L1Spannung= umwandeln_ieee(smartmeter.read_long(14, 3, False, 0)) #registeraddress, functioncode=3, signed=False, byteorder=0)
        L2Spannung= umwandeln_ieee(smartmeter.read_long(16, 3, False, 0))
        L3Spannung= umwandeln_ieee(smartmeter.read_long(18, 3, False, 0))
        Frequency= umwandeln_ieee(smartmeter.read_long(20, 3, False, 0))
        L1Strom= umwandeln_ieee(smartmeter.read_long(22, 3, False, 0))
        L2Strom= umwandeln_ieee(smartmeter.read_long(24, 3, False, 0))
        L3Strom= umwandeln_ieee(smartmeter.read_long(26, 3, False, 0))
        Strom_gesamt=L1Strom+L2Strom+L3Strom
        Leistung_gesamt= umwandeln_ieee(smartmeter.read_long(28, 3, False, 0))
        L1Leistung= umwandeln_ieee(smartmeter.read_long(30, 3, False, 0))
        L2Leistung= umwandeln_ieee(smartmeter.read_long(32, 3, False, 0))
        L3Leistung= umwandeln_ieee(smartmeter.read_long(34, 3, False, 0))
        L1PowerFactor=umwandeln_ieee(smartmeter.read_long(54, 3, False, 0))
        L2PowerFactor=umwandeln_ieee(smartmeter.read_long(56, 3, False, 0))
        L3PowerFactor=umwandeln_ieee(smartmeter.read_long(58, 3, False, 0))
        Verbrauch_gesamt=umwandeln_ieee(smartmeter.read_long(256, 3, False, 0))
        #L1Verbrauch=umwandeln_ieee(smartmeter.read_long(258, 3, False, 0))
        #L2Verbrauch=umwandeln_ieee(smartmeter.read_long(260, 3, False, 0))
        #L3Verbrauch=umwandeln_ieee(smartmeter.read_long(262, 3, False, 0))
        
        cbund 1 Reply Last reply Reply Quote 0
        • cbund
          cbund @charakterkopf last edited by

          @charakterkopf Danke. Ich hab den Fehler gefunden. Die Registernr sind in HEX. Problem war noch der Raspberry den ich zum Testen hatte. An dem ging die Schnittstelle nicht, habe den neu aufgesetzt jetzt ging die dort auch, gestern habe ich noch an meinem Nuc getestet.

          Danke noch.

          1 Reply Last reply Reply Quote 0
          • B
            Bernd_M last edited by

            Hallo
            Habe auch den ORNO OR-WE-517 , die PC-Software läuft, Hardware also OK.
            über den Modbus Adapter (3.0.1) gehts nicht, wird nur kurz grün.
            Hatte die Register Adresse 0 ( ID-Nummer) genommen , um dem Problem mit evt. hex / dez zu umgehen.
            Wäre nett wenn du mir deine Einstellungen /Eingangsregister zeigen könntest.

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

              Hallo,

              den Orno habe ich rausgeworfen. Er verwendet wohl nicht die Standardregister. Da brauche ich mehr Zeit fürs umsetzen wie es wert ist.
              Der Modbus von B +G Tech kostet kaum mehr und ist sauber dokumentiert. Kann den nur empfehlen. Gibt es ungeeicht und geeicht als 1 und 3 Phasen Zähler.

              Die Einstellungen vom Orno weiß ich leider nicht mehr genau und hab den auch zurück gesendet.

              1 Reply Last reply Reply Quote 0
              • B
                Bernd_M last edited by

                Hab's dann doch noch hinbekommen hier noch zum importieren, wenns jemand braucht:

                OR-WE-517 3 Phasen / OR-WE-514 1 Phasen

                OR-WE-517 3 Phasen
                Holding Registers:
                
                address	name	description	unit	type	len	factor	offset	role	room	poll	wp
                14	U_L1	Spannung L1	V	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                16	U_L2	Spannung L2	V	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                18	U_L3	Spannung L3	V	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                22	A_L1	Strom L1	A	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                24	A_L2	Strom L2	A	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                26	A_L3	Strom L3	A	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                28	Power	Wirkleistung	kW	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                36	Power_R	Blindleistung	VA	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                44	Power_A	Scheinleistung	VA	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                52	Power_F	Leistungsfaktor (cos φ) 	%	floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                256	Energie_Total_aktiv	Zählerstand aktuell		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                264	Energie_Total_aktiv_for	Zählerstand vorwärts		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                272	Energie_Total_aktiv_rev	Zählerstand rückwärts		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                280	Energie_Total_reaktiv_for	Blindleistung vor		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                288	Energie_Total_reaktiv_rev	Rückspeisung		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                296	Energie_Total_reaktiv_reserve	Blindleistung zur		floatbe	2	1	0	level	enum.rooms.Hauptverteilung	true	false	
                
                
                OR-WE-514 1 Phasen
                Holding Registers:
                
                address	name	description	unit	type	len	factor	offset	role	room	poll	wp
                305	U_L1	Spannung L1	V	uint16be	1	0.01	0	level		true	false	
                313	A_L1	Strom L1	A	int32be	2	0.001	0	level		true	false	
                320	Power	Leistung	kW	int32be	2	0.001	0	level		true	false	
                328	Power_R	Blindleistung	VA	int32be	2	0.001	0	level		true	false	
                336	Power_A	Scheinleistung	VA	int32be	2	0.001	0	level		true	false	
                40960	Energie_Total_aktiv	Zähler	kWh	int32be	2	0.01	0	level		true	false	
                
                F A S 3 Replies Last reply Reply Quote 1
                • F
                  Franky20000 @Bernd_M last edited by

                  @Bernd_M Danke schon mal für die Adressen, welche Einstellungen hast du beim Adapter verwendet, ID des ORNO, ich bekomme den nicht zum laufen.

                  1 Reply Last reply Reply Quote 0
                  • F
                    Franky20000 last edited by

                    Hi, ich habe den ORNO OR-WE-517 mit DSD TECH SH-U10 USB zu RS485 Konverter mit CP2102 Chip mit folgenden Einstellungen zum laufen bekommen, die oben angeführte Datei der dreiphasigen Version habe ich als CSV noch zum importieren angefügt! orno.csv !IoBroker Modbus ORNO OR-WE-517.jpg

                    1 Reply Last reply Reply Quote 1
                    • A
                      A1uca2d @Bernd_M last edited by A1uca2d

                      @Bernd_M
                      Mit der Basis, die du hier gepostet hast, habe ich versucht zu beginnen, aber bekomme es nicht zum laufen. Habe immer folgende Fehlermeldung:
                      148c088f-fc0c-4a61-a608-ca3e79a69925-image.png

                      Dabei habe ich versucht den Modbus-Adapter zu nutzen und folgender Maßen konfiguriert:
                      1e768485-f2cf-4237-a5ec-2b2f5fe72aaa-image.png

                      Der Adapter möchte ja die Adressen um die 40001 erweitert haben.

                      ergänzend noch mal die Auswertung, die ich mit derSoftware von Orne gemacht habe: (Die kommunikation als solche funktioniert also über den USB-Adapter hin zum ORNO 1P Zähler)
                      842256f5-6787-458d-9ad6-3955179b497c-image.png

                      Habe ich dabei noch etwas falsch gemacht?

                      1 Reply Last reply Reply Quote 0
                      • S
                        Smurfix @Bernd_M last edited by

                        @bernd_m Wo hast du denn die Registerbelegung her? da gibt es doch bestimmt noch mehr, insbesondere habe ich zwei der Dinger und muss die Modbusadresse einstellen …

                        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

                        581
                        Online

                        31.8k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        modbus
                        6
                        10
                        6190
                        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