Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Modbus adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Klamm 0 @klassisch last edited by Klamm 0

      Genau so ist es.
      Die Frage wäre jetzt ob ich irgendwie/irgendwo sehen kann welche Abfrage zu einem Fehler geführt hat. Möglichst genau mit Teilnehmer X hat Y Bytes von Register XYZ abgefragt.
      Bin davon ausgegangen, dass ich das im Log mit einstellung Silly sehen kann (ist aber nicht so) oder ob es eine Protokollbeschreibung von Modbus allgemein gibt und ob da drinne steht was passiert wenn die Registerzieladresse größer ist als 65535.

      Die beötigten Daten sind übrigens schon durch einen Sunny Home Manager 2.0 auf dem ioBroker vorhanden.

      bzgl. Modbusbeschreibung. Nach ein bisschen mehr googlen ist klar, dass es maximal FFFF = 65535 Register gibt.
      Registeradressen darüber sind nicht möglich. Dass da also ein Fehler im Log steht ist absolut richtig. Schön wäre es, wenn ich sehen könnte warum.

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

        @klamm-0 Sorry, das einizige, was ich dazu sagen kann ist, daß ich noch nie "silly" benutzt habe, sondern immer nur "debug". Wirst Du aber auch schon getestet haben.
        Was dann meiner Meinung nach bleibt, ist ein Ticket in Github
        Das Szenario ist durchaus interessant. So könnte man z.B. unter Umständen auch eine vorhandene "moderne Meßeinrichtung" als Wurzelzähler verwenden oder irgendenen anderen (z.B. SDM72), wenn der Carlo Gavazzi nicht verfügbar ist.
        Der Rest der Anlage funktioniert dann halt nur bestimmungsgemäß, solange ioBroker läuft....

        K 1 Reply Last reply Reply Quote 0
        • K
          Klamm 0 @klassisch last edited by

          Habe ein Issue in github angelegt.

          Vermute nach einigen weiteren recherchen aber eher, dass Funktionscode 3 nicht funktioniert wenn der IObroker der Slave ist.

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

            @klamm-0 vielen Dank, bin mal gespant, was dabei herauskommt

            1 Reply Last reply Reply Quote 0
            • K
              Klamm 0 last edited by

              Die Lösung stand übrigens im Issue 204.

              Wenn der Adapter als Slave konfiguriert ist und die Holdingregister abgefragt werden sollen, dann muss ein haken in das Feld poll / Abfrage rein. Damit gehts dann.

              Morgen kann ich mich also dran setzten und Alle Holdingregister des Zählers anlegen.

              M 1 Reply Last reply Reply Quote 1
              • C
                chinaboy last edited by

                Hallo zusammen,
                ich habe meine Hargassner Pellet Heizung per ModBus an den IOBroker gekopelt und kann so alle Betriebsdaten auslesen bzw. auch steuern.
                Das funktioniert aktuell ohne Probleme.
                Allerdings möchte ich jetzt die Wochenprogramme der Heizkreise auslesen.
                Die sind in 5 zusammenhängenden HoldingRegsiter hinterlegt, z.b: Startadresse 42055 - 42059
                Ich kann aber max. 4 Register im Format Unsigned 64 bit (BigEdian) auslesen (bzw. im Dropdownmenü auswählen)
                Wenn ich es als String mit Länge 5 auslese funktioniert es, ich bekomme aber keine Daten (nur Blanks) übergeben.
                Gibt es eine Möglichkeit 5 zusammenhängende Register im Dezimal Format auszulesen?
                Mit den Programm QModMaster kann ich die Werte sauber auslesen (siehe Bild), aber wie bekomme ich sie so in den IOBroker?2022-08-30 13_38_56-QModMaster.jpg
                2022-08-30 14_27_41-IMG_0446 (002).jpg - IrfanView (Zoom_ 2248 x 1703).jpg
                Die Zeiten werden in Minuten ab 00:00 Uhr angegeben (dec.) z.B. Startwert1 --> 360 entspricht also 06:00 Uhr --> 6h60 + 0m0 = 360

                1 Reply Last reply Reply Quote 0
                • K
                  Klamm 0 last edited by

                  Hallo!

                  Ich bin schon um einiges weiter gekommen aber stehe vor dem nächsten Problem:

                  Der Modbusadapter ist als Slave mit der Geräte ID 1 eingerichtet.
                  Verbindung passt und Werte kann ich auch abfragen.
                  Problem: Der Modbus Adapter antwortet auf alle ID´s, die auf der IP und dem Port kommen.
                  Ist auch in Radzio! schön zu sehen. Unabhängig davon welche Geräte ID ich eintippe es wird immer der gleiche Wert ausgegeben.
                  Ich möchte aber eigentlich nur dieses eine Gerät simulieren. Alle anfragen für andere Geräte ID´s sollen einfach unbeantwortet bleiben.

                  Gibts dafür eine Lösung oder soll ich ein Issue auf Github öffnen?

                  34eee8bf-91a9-467c-bc7a-dcd3b5823414-grafik.png

                  354c0f11-e2d3-4f54-bdd8-941a4ad1d006-grafik.png

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    acidsubway @Klamm 0 last edited by acidsubway

                    Hallo zusammen,

                    ich habe auch eine Modbus Karte genau wie @chinaboy in meinem Nano.
                    Nun habe ich die neueste Firmware an meinem Nano geflasht V14.0n2, hier kann man nun sich die Liste erstellen lassen was man alles auslesen kann.
                    Jetzt kommen bei mir keine Werte mehr an, kann der Adapter das auslesen? Wenn ja kann einer mal anhand einer Adresse ein Beispiel zeigen?

                    Danke

                    BA_ModBus_DE_V07_11058240.pdf

                    MODBUS.CSV

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      chinaboy @acidsubway last edited by

                      @acidsubway
                      Servus,
                      44484122-ed96-4d33-9b69-e5cfaac56bc7-grafik.png
                      Das sind meine Einstellungen vom Adapter

                      und das die Einstellungen von Holding Register:
                      ea2107f0-827d-4fb5-b306-6459d9dda32d-grafik.png

                      Du musst aus deiner CSV Datei in der Spalte Alternative Register die Adresse nehmen und 40000 dazu addieren, das ist dann die richtige Adresse.
                      Mach mal am Anfang nur einen Wert rein bei den Holding Registern (z.B. 40001) und schau ob der Adapter grün wird.

                      A 2 Replies Last reply Reply Quote 0
                      • A
                        acidsubway @chinaboy last edited by

                        @chinaboy

                        ok danke ich versuche es mal, Danke.

                        wie hast du die DAQ-ANA eingetragen?

                        1 Reply Last reply Reply Quote 0
                        • A
                          acidsubway @chinaboy last edited by

                          @chinaboy

                          Danke das klappt, ich wollte schon immer aus meinem ioBroker dem Kessel die Raumtemperatur mitteilen.
                          Wie machst du das?

                          MfG

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            chinaboy @acidsubway last edited by

                            @acidsubway
                            Hab ich leider auch noch nicht umgesetzt, lese momentan nur Werte aus.

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              acidsubway @chinaboy last edited by

                              @chinaboy
                              wenn er die Raumtemperatur kennt, schaltet er die Pumpen ab.

                              Jetzt ist ein anderes Problem aufgetaucht, der QMod bekommt den Wert von Puffer oben her aber, aber der Adapter bleibt leer mit Fehlern´bei dem Wert, warum ?

                              2022-09-25 07_23_47-objects - iobroker – Mozilla Firefox.jpg

                              2022-09-25 07_24_23-instances - iobroker – Mozilla Firefox.jpg

                              2022-09-25 07_30_33-Bus Monitor.jpg

                              bitte um Hilfe 😆

                              1 Reply Last reply Reply Quote 0
                              • M
                                michi_rosenbuehl @Klamm 0 last edited by

                                Hi,

                                ich habe aktuell auch einen ähnlichen Anwendungsfall wie du.
                                Ich möchte der Wärmepumpe die IST-Leistung am Einspeisepunkt vorgeben ohne einen extra Zähler mit Modbus-Interface nur für die WP zu setzen.

                                Kannst du bei Gelegenheit bitte noch die Einstellungen vom Waveshare Gateway hier bekannt machen?
                                Ich bin leider noch nicht so weit, dass eine Kommunikation zwischen IObroker und Gateway besteht.

                                Gruß

                                Michael

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

                                  Hallo Leute,

                                  ich versuche gerade einen Ultraschall-Durchflussmesser mittels Modbus-RTU in den ioBroker zu integrieren. Leider kann ich keine Verbindung aufrechterhalten.

                                  Folgende Fehlermeldungen bekomme ich:

                                  modbus.1
                                  2022-09-29 21:09:05.268 error Error response: fc

                                  modbus.1
                                  2022-09-29 21:09:02.841 error Error response: 7f

                                  modbus.1
                                  2022-09-29 21:10:12.813 error Error response: f0

                                  modbus.1
                                  2022-09-29 21:10:10.401 error Error response: 80

                                  modbus.1
                                  2022-09-29 21:10:08.860 error Error response: fe

                                  Die Instanz springt von grün auf gelb.

                                  In der Anleitung (https://images-na.ssl-images-amazon.com/images/I/91CvZHsNYBL.pdf) des Geräts steht folgendes:

                                  06b809c4-e193-4dd4-ae67-5d65b7d98912-image.png

                                  7d02da35-fb66-404d-ad39-2077fd023948-image.png

                                  Abrufen will ich ein HOLDING Register (40001)
                                  Habe auch schon 40000 und 40002 sowie alle Möglichkeiten und "Typ" ausprobiert (signed32 .....) Aber laut Anleitung des Geräts scheint FLOAT wohl das richtige zu sein.

                                  1aecd172-7dbf-4656-bbcd-448c79327008-image.png

                                  Kann es sein, dass hier HEX und DEZ irgendwie nicht zusammenpassen?
                                  Was kann ich noch probieren? Sagen die Errors im Log überhaupt etwas aus?

                                  Würde mich über einen Rat sehr freuen.

                                  Vielen Dank im Voraus

                                  Matthias

                                  wendy2702 K 2 Replies Last reply Reply Quote 0
                                  • wendy2702
                                    wendy2702 @w04g005 last edited by

                                    @w04g005 loggen mal auf Debug stellen

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

                                      @w04g005 manchmal muss man "alias verwenden" ankreuzen damit die Adressen stimmen

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        w04g005 @klassisch last edited by

                                        @klassisch @wendy2702

                                        Erstmal vielen Dank für die schnellen Antworten. Ich habe auf debug gestellt. und Aliases benutzen aktiviert. Es kommt folgendes:

                                        4bf2985b-0c78-44cb-a61c-d9c21c4fac33-image.png

                                        147d669b-3503-43da-8388-6e431aece315-image.png

                                        Wenn ich die 40000 weglasse und wie in der anleitung nur die Register 1 eingebe kommen nochmal andere Fehlermeldungen (Instanz bleibt aber zumindest grün):

                                        2a30fe07-8b6d-426f-9d72-507a9d6b6193-image.png

                                        Kann man anhand der Anleitung darauf schließen, welche Einstellungen im Modbus Adapter einzustellen sind?

                                        Ich folgere anhand der Angabe "REAL4 is a Format of singular IEEE-754 number, also called FLOAT" dass ich Float einstellen muss.

                                        Bin ich bei Holding-Register überhaupt richtig?

                                        MFG
                                        Matthias

                                        wendy2702 1 Reply Last reply Reply Quote 0
                                        • wendy2702
                                          wendy2702 @w04g005 last edited by

                                          @w04g005 Bitte keine Screenshots posten. Kann ich mobil nicht lesen und auch nicht zitieren.

                                          Mach eine Terminalsession mit z.B. Putty auf, schaue damit ins log und kopiere den Text hier in Code Tags rein

                                          CodeTags.gif

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

                                            2022-09-30 08:21:28.899  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.modbus.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                                            2022-09-30 08:21:30.154  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.echarts.0 started with pid 3298
                                            2022-09-30 08:21:31.332  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.modbus.1 started with pid 3352
                                            2022-09-30 08:21:33.022  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.web.0 started with pid 3371
                                            2022-09-30 08:21:35.054  - ^[[32minfo^[[39m: backitup.0 (3279) starting. Version 2.4.10 in /opt/iobroker/node_modules/iobroker.backitup, node: v14.20.0, js-co>
                                            2022-09-30 08:21:35.170  - ^[[34mdebug^[[39m: modbus.1 (3352) Redis Objects: Use Redis connection: 127.0.0.1:9001
                                            2022-09-30 08:21:35.337  - ^[[34mdebug^[[39m: modbus.1 (3352) Objects client ready ... initialize now
                                            2022-09-30 08:21:35.417  - ^[[32minfo^[[39m: backitup.0 (3279) [iobroker] backup was activated at 02:40 every 1 day(s)
                                            2022-09-30 08:21:35.441  - ^[[34mdebug^[[39m: modbus.1 (3352) Objects create System PubSub Client
                                            2022-09-30 08:21:35.445  - ^[[34mdebug^[[39m: modbus.1 (3352) Objects create User PubSub Client
                                            2022-09-30 08:21:35.624  - ^[[34mdebug^[[39m: modbus.1 (3352) Objects client initialize lua scripts
                                            2022-09-30 08:21:35.681  - ^[[34mdebug^[[39m: modbus.1 (3352) Objects connected to redis: 127.0.0.1:9001
                                            2022-09-30 08:21:35.840  - ^[[34mdebug^[[39m: modbus.1 (3352) Redis States: Use Redis connection: 127.0.0.1:9000
                                            2022-09-30 08:21:35.953  - ^[[34mdebug^[[39m: modbus.1 (3352) States create System PubSub Client
                                            2022-09-30 08:21:35.957  - ^[[34mdebug^[[39m: modbus.1 (3352) States create User PubSub Client
                                            2022-09-30 08:21:36.108  - ^[[34mdebug^[[39m: modbus.1 (3352) States connected to redis: 127.0.0.1:9000
                                            2022-09-30 08:21:36.318  - ^[[32minfo^[[39m: echarts.0 (3298) starting. Version 1.0.12 in /opt/iobroker/node_modules/iobroker.echarts, node: v14.20.0, js-cont>
                                            2022-09-30 08:21:36.390  - ^[[34mdebug^[[39m: modbus.1 (3352) Plugin sentry Initialize Plugin (enabled=true)
                                            2022-09-30 08:21:38.263  - ^[[32minfo^[[39m: modbus.1 (3352) starting. Version 5.0.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.20.0, js-control>
                                            2022-09-30 08:21:38.794  - ^[[34mdebug^[[39m: modbus.1 (3352) Initialize Objects for disInputs: []
                                            2022-09-30 08:21:38.796  - ^[[34mdebug^[[39m: modbus.1 (3352) Initialize Objects for coils: []
                                            2022-09-30 08:21:38.797  - ^[[34mdebug^[[39m: modbus.1 (3352) Initialize Objects for inputRegs: []
                                            2022-09-30 08:21:38.800  - ^[[34mdebug^[[39m: modbus.1 (3352) Initialize Objects for holdingRegs: [{"_address":"40001","name":"flow","description":"flow","uni>
                                            2022-09-30 08:21:38.804  - ^[[34mdebug^[[39m: modbus.1 (3352) Add holdingRegisters.40001_flow: {"_id":"holdingRegisters.40001_flow","type":"state","common":{">
                                            2022-09-30 08:21:39.035  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.cloud.0 started with pid 3432
                                            2022-09-30 08:21:39.886  - ^[[34mdebug^[[39m: modbus.1 (3352) connect to serial /dev/ttyUSB0 with 9600
                                            2022-09-30 08:21:39.905  - ^[[32minfo^[[39m: web.0 (3371) starting. Version 4.3.0 in /opt/iobroker/node_modules/iobroker.web, node: v14.20.0, js-controller: 4>
                                            2022-09-30 08:21:39.932  - ^[[32minfo^[[39m: modbus.1 (3352) Connected to slave
                                            2022-09-30 08:21:39.936  - ^[[34mdebug^[[39m: modbus.1 (3352) [DevID_1] Poll start ---------------------
                                            2022-09-30 08:21:39.943  - ^[[34mdebug^[[39m: modbus.1 (3352) [DevID_1/holdingRegs] Poll address 40001 - 2 registers
                                            2022-09-30 08:21:40.222  - ^[[31merror^[[39m: modbus.1 (3352) Error response: ba
                                            2022-09-30 08:21:40.247  - ^[[31merror^[[39m: modbus.1 (3352) unknown function code: 0x7e, 0x3f
                                            2022-09-30 08:21:40.272  - ^[[31merror^[[39m: modbus.1 (3352) Error response: 8a
                                            2022-09-30 08:21:40.309  - ^[[31merror^[[39m: modbus.1 (3352) Error response: ff
                                            2022-09-30 08:21:40.451  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fe
                                            2022-09-30 08:21:40.504  - ^[[31merror^[[39m: modbus.1 (3352) Error response: e1
                                            2022-09-30 08:21:40.525  - ^[[31merror^[[39m: modbus.1 (3352) Error response: e2
                                            2022-09-30 08:21:40.621  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fe
                                            2022-09-30 08:21:40.646  - ^[[31merror^[[39m: modbus.1 (3352) Error response: f6
                                            2022-09-30 08:21:40.665  - ^[[31merror^[[39m: modbus.1 (3352) Error response: 7e
                                            2022-09-30 08:21:40.884  - ^[[31merror^[[39m: modbus.1 (3352) unknown function code: 0x19, 0xea
                                            2022-09-30 08:21:40.923  - ^[[31merror^[[39m: modbus.1 (3352) Wrong CRC for frame: 8,4,0,128,244
                                            2022-09-30 08:21:40.943  - ^[[31merror^[[39m: modbus.1 (3352) Error response: ff
                                            2022-09-30 08:21:41.021  - ^[[31merror^[[39m: modbus.1 (3352) Error response: 7e
                                            2022-09-30 08:21:41.057  - ^[[32minfo^[[39m: web.0 (3371) socket.io server listening on port 8082
                                            2022-09-30 08:21:41.076  - ^[[32minfo^[[39m: web.0 (3371) http server listening on port 8082
                                            2022-09-30 08:21:41.372  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fc
                                            2022-09-30 08:21:42.027  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fc
                                            2022-09-30 08:21:42.198  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.info.0 started with pid 3498
                                            2022-09-30 08:21:42.253  - ^[[32minfo^[[39m: host.Messkoffer instance system.adapter.text2command.0 started with pid 3504
                                            2022-09-30 08:21:42.461  - ^[[31merror^[[39m: modbus.1 (3352) Error response: 3e
                                            2022-09-30 08:21:42.745  - ^[[31merror^[[39m: modbus.1 (3352) Wrong CRC for frame: 252,5,241,255,240,240,240,252
                                            2022-09-30 08:21:42.773  - ^[[31merror^[[39m: modbus.1 (3352) unknown function code: 0x0, 0x6c
                                            2022-09-30 08:21:42.784  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fe
                                            2022-09-30 08:21:42.795  - ^[[31merror^[[39m: modbus.1 (3352) Error response: fc
                                            2022-09-30 08:21:42.817  - ^[[31merror^[[39m: modbus.1 (3352) Error response: ff
                                            2022-09-30 08:21:42.826  - ^[[31merror^[[39m: modbus.1 (3352) Error response: 9e
                                            2022-09-30 08:21:42.858  - ^[[31merror^[[39m: modbus.1 (3352) Error response: ff
                                            
                                            

                                            Das kommt jetzt z.B.! Kann man hier irgendwie auf den Fehler schließen? Ich verstehe hier nur böhmische Dörfer.

                                            MFG
                                            Matthias

                                            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

                                            536
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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