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.
    • peterk34
      peterk34 @Almi last edited by peterk34

      @Almi bei mir funktioniert mittlerweile die Kommunikation in beide Richtungen ohne Probleme. Man muss auf die Datentypen aufpassen (primäre signed, unsigned). Auch die Faktoren sind teilweise komisch ... bei den holding Register brauche ich Faktor 10 bei den Eingangsregister Faktor 0,1.
      Von den Einstellungen funktioniert’s beim Modbus Adapter mit IP 0.0.0.0, Port habe ich auf 5020 gestellt und SlaveA55EBA14-1EA2-4B3F-84F5-2D1A893BFACB.jpeg 9C7D81F5-1B47-496D-9A49-B2F521C5FFEF.png 90243E74-1754-478D-B929-7F6AFE6BBBB8.png

      A 1 Reply Last reply Reply Quote 0
      • A
        Almi @peterk34 last edited by

        @peterk34

        Danke Peter für die Antwort, wann verwende ich das holding und wann das Eingangsregister. Mir ist der Unterschied nicht ganz klar.

        Gruss

        Andreas

        peterk34 1 Reply Last reply Reply Quote 0
        • peterk34
          peterk34 @Almi last edited by

          @Almi
          Holding sind die Werte die aus dem C.M.I. importiert werden, Eingangsregister sind die Werte die ich an das C.M.I. sende

          A 1 Reply Last reply Reply Quote 0
          • A
            Almi @peterk34 last edited by

            @peterk34
            OK vielen Dank. Wie kann ich ein Eingangsregister hinzufügen? Bei mir ist da kein "+" rechts. Jedes mal wenn ich die Werte eingeben kann ich diese nicht speichern. Wo werden die definiert bzw. wie kann ich was an die Liste anhängen?

            Gruss

            Andreas

            peterk34 1 Reply Last reply Reply Quote 0
            • peterk34
              peterk34 @Almi last edited by

              @Almi
              bei mir ist da ein Plus ...

              3E405C0B-492B-4D38-8004-2ADDAED66321.png

              Es funktioniert normalerweise auch wenn du einfach oben in die Felder eingibst und enter drückst

              A 1 Reply Last reply Reply Quote 0
              • A
                Almi @peterk34 last edited by

                @peterk34

                Mmm bei erscheint das Plus nur wenn ich auf Master für den Iobroker Modbus Adapter umstelle. Komischerweise bleibt dann die Einstellung erhalten wenn ich wieder auf Slave umstelle. Einfach eingeben reicht leider zum speichern nicht. Er bietet dann unten nicht die Speicherung an. Ich bleibe drann. Danke für deine Infos

                Gruß Andreas

                1 Reply Last reply Reply Quote 0
                • V
                  Vod @smartboart last edited by Vod

                  @smartboart
                  Hast Du das damals hinbekommen? hier: https://forum.iobroker.net/post/149807
                  Habe einen ABB Zähler da, in der Anleitung steht sowas:
                  *Dies wird genau so ausgedrückt, wie es auf dem Bus gesendet wird. Das heißt es sollte nicht mit 40 000 subtrahiert oder um 1 vermindert werden, wie das bei Modbus-Produkten üblich ist.
                  Seite 105 hier https://search.abb.com/library/Download.aspx?DocumentID=2CMC486007M0101&LanguageCode=de&DocumentPartId=&Action=Launch

                  Allerdings bekomme ich keine Antwort vom Zähler...

                  @Bluefox wäre es möglich, im Debug oder Silly genau die Kommunikation auszugeben? Ich meine Anfrage-Antwort in hex...

                  smartboart 1 Reply Last reply Reply Quote 0
                  • smartboart
                    smartboart @Vod last edited by smartboart

                    @Vod nein leider nicht....habe ich nie zum laufen bekommen. Bin auf andere Zähler umgestiegen.

                    1 Reply Last reply Reply Quote 0
                    • V
                      Vod last edited by

                      Für alle, die es interessiert: ABB A43 212-100, die Leitungen müssen verdreht werden (RS485 USB Adapter für 2 Eur mit CH341). Also A mit B und B mit A verbunden. Ohne Abschlusswiderstände funzt alles (1m twisted aus einem LAN cat6 Kabel).

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

                        @Vod Das ist ein beliebtes RS485 Thema. Es gibt eine Spezifikation zu RS485 und eine einheitlich widersprüchliche Auslegung der Halbleiterhersteller. Mehr dazu in https://en.wikipedia.org/wiki/RS-485#Signals . Texas Instruments nimmt dazu verschwurbelt Stellung ttp://e2e.ti.com/cfs-file/__key/telligent-evolution-components-attachments/13-143-00-00-00-26-49-60/RS485-2D00-Polarity-Conventions.pdf
                        Die in Fragen von Richtlinien, Gesetzen und Normen geplagten und geübten Europäischen Hersteller von Elektroinstallationsmaterial halten sich indes streng an die Norm und stehen damit ganz unpragmatisch quer im Stall.
                        Die Halbleiterhersteller sind sich wohl dieser Misere bewußt (siehe "Texas Instruments, Polarity Conventions") und neuere Bausteine wie der THVD1505 erkennen und korrigieren eine Vertauschung automatisch - änlich wie bei das bei Ethernet schon lange der Fall ist. Aber diese Bausteine sind noch nicht in den Chinesischen DIY Modulen angekommen. Und gerade diese Bausteine verwenden wir häufig in unseren Wandlern und vertrauen deren Beschriftung.
                        Fazit: Bei RS485 muß man sich zwar nicht wie bei RS232 die Frage stellen, ob der Entwickler das Gerät als DTE oder DCE eingestuft hat. Allerdings gibt es leider auch da Verwirrung bei der Bezeichnung der Signalleitungen A und B.

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

                          Guten Morgen zusammen. Ich habe eine Nilan Wärmepumpe und werde aus der Doku nicht schlau. Da stehen nur 20tausender Registernummern. Die gibt es doch gar nicht, oder? Kann mir jemand auf die Sprünge helfen?
                          Hier der Link zur Doku: https://de.nilan.dk/Admin/Public/DWSDownload.aspx?File=%2FFiles%2FFiler%2FDownload%2FDanish%2FDokumentation%2FSoftware+vejledninger%2FModbus%2FCTS700_Modbus_protokol.pdf
                          Gruß Stephie

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

                            @kleine_kuh Wieso soll es die nicht geben? Meinst du der Hersteller schreibt die zum Spaß in seine Doku oder wie kommst du darauf?

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

                              @wendy2702 Ich dachte mir schon, dass er es nicht zum Spaß reinschreibt. Deswegen frage ich ja. Aber ich dachte es gibt 0-9999, 10001-19999, 30001-39999 und 40001 bis 49999. Dass einige nur lesen und andere lesen und schreiben können ist mir klar. Nur weíß ich leider nicht, wo ich die eintragen muss im Adapter. Kann mir da jemand auf die Sprünge helfen? (Selbstverständlich will ich auch nicht alle von denen verwenden)

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

                                @kleine_kuh Konfiguriere mal den Modbus Adapter mit den richtigen Kommunikations Einstellungen.

                                Suche die ein Register aus das nur lesbar ist.

                                Trage das dann bei Holding oder Eingangsregister mit der entsprechenden Kodierung z.B. 16bit unsigned ein

                                Stelle das loggen für die Instanz auf Debug.

                                Starte den Adapter und poste dann das logfile hier in Code Tags </> und poste Screenshots deiner Einstellungen und der Register Karte.

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

                                  @wendy2702 Ok, danke. Heute und morgen komme ich nicht mehr dazu. Aber ich poste es, sobald ich es schaffe

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    andi2055 last edited by

                                    Servus!

                                    Ich habe irgendwie Probleme mehrere Werte parallel auszulesen, wenn diese zu weit auseinander liegen.
                                    Ich verwende einen USB Stick zum seriellen Auslesen.
                                    Unter Windows mit CAD Modbus Scanner kann ich auch alle Werte korrekt auslesen.

                                    Nutze aktuell: Modbus 3.3.1

                                    Ich hatte aber auch die Modbus Version von Github installiert zum Testen. Hier konnte ich nicht mehr meinen USB0 auswählen. Es wurde mir nur COM1 angezeigt, was nicht funktionierte. Oder Soll COM hier = den USB Devices sein?

                                    fa03c381-77ab-4ff6-8d4b-98440cff1974-grafik.png

                                    cb026784-4b24-4ba8-b0ff-804ef498de42-grafik.png
                                    Diese Abfrage funktioniert

                                    modbus.0	2021-06-13 11:04:25.224	debug	(16668) Poll holdingRegs DevID(2) address 346 - 6 bytes
                                    modbus.0	2021-06-13 11:04:25.223	debug	(16668) Poll device 2
                                    modbus.0	2021-06-13 11:04:24.144	debug	(16668) Poll holdingRegs DevID(2) address 346 - 6 bytes
                                    modbus.0	2021-06-13 11:04:24.143	debug	(16668) Poll device 2
                                    modbus.0	2021-06-13 11:04:23.065	debug	(16668) Poll holdingRegs DevID(2) address 346 - 6 bytes
                                    modbus.0	2021-06-13 11:04:23.064	debug	(16668) Poll device 2
                                    modbus.0	2021-06-13 11:04:21.971	debug	(16668) Poll holdingRegs DevID(2) address 346 - 6 bytes
                                    modbus.0	2021-06-13 11:04:21.971	debug	(16668) Initialization of scale factors done!
                                    modbus.0	2021-06-13 11:04:21.969	debug	(16668) Poll device 2
                                    modbus.0	2021-06-13 11:04:21.968	info	(16668) Connected to slave
                                    modbus.0	2021-06-13 11:04:21.955	debug	(16668) connect to serial /dev/ttyUSB0 with 115200
                                    modbus.0	2021-06-13 11:04:21.586	debug	(16668) Add holdingRegisters.40385_Code_Störung: {"_id":"holdingRegisters.40385_Code_Störung","type":"state","common":{"name":"","role":"state","type":"number","read":false,"write":true,"def":0,"unit"
                                    modbus.0	2021-06-13 11:04:21.585	debug	(16668) Add holdingRegisters.40352_Innenlufttemperatur: {"_id":"holdingRegisters.40352_Innenlufttemperatur","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"
                                    modbus.0	2021-06-13 11:04:21.585	debug	(16668) Add holdingRegisters.40351_Frischlufttemperatur: {"_id":"holdingRegisters.40351_Frischlufttemperatur","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true
                                    modbus.0	2021-06-13 11:04:21.584	debug	(16668) Add holdingRegisters.40349_Bypass_Status: {"_id":"holdingRegisters.40349_Bypass_Status","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit
                                    modbus.0	2021-06-13 11:04:21.584	debug	(16668) Add holdingRegisters.40348_Filter: {"_id":"holdingRegisters.40348_Filter","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit":""},"native"
                                    modbus.0	2021-06-13 11:04:21.583	debug	(16668) Add holdingRegisters.40347_Filter_Status: {"_id":"holdingRegisters.40347_Filter_Status","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit
                                    modbus.0	2021-06-13 11:04:21.583	debug	(16668) Add holdingRegisters.40260_Bypass_Modus: {"_id":"holdingRegisters.40260_Bypass_Modus","type":"state","common":{"name":"","role":"state","type":"number","read":false,"write":true,"def":0,"unit"
                                    modbus.0	2021-06-13 11:04:21.582	debug	(16668) Add holdingRegisters.40258_Geschwindigkeit: {"_id":"holdingRegisters.40258_Geschwindigkeit","type":"state","common":{"name":"","role":"state","type":"number","read":false,"write":true,"def":0,
                                    modbus.0	2021-06-13 11:04:21.582	debug	(16668) Initialize Objects for holdingRegs: [{"_address":40258,"name":"Geschwindigkeit","description":"","unit":"","type":"uint16be","len":1,"factor":"1","offset":"0","formula":"","role":"state","room
                                    modbus.0	2021-06-13 11:04:21.581	debug	(16668) Initialize Objects for inputRegs: []
                                    modbus.0	2021-06-13 11:04:21.581	debug	(16668) Initialize Objects for coils: []
                                    modbus.0	2021-06-13 11:04:21.580	debug	(16668) Initialize Objects for disInputs: []
                                    modbus.0	2021-06-13 11:04:21.273	info	(16668) starting. Version 3.3.1 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.22.1, js-controller: 3.2.16
                                    

                                    ee477f5f-df2e-465b-8121-324a54d16a6b-grafik.png
                                    Dise Abfrage funktioniert nicht, weil diese Modbus in zwei Abfragen aufteilt?
                                    Der Adapter wechselt danach sofort auf GELB

                                    modbus.0	2021-06-13 11:07:07.885	debug	(20689) Cleaning up request fifo.
                                    modbus.0	2021-06-13 11:07:07.884	debug	(20689) Clearing timeout of the current request.
                                    modbus.0	2021-06-13 11:07:07.877	info	(20689) Disconnected from slave
                                    modbus.0	2021-06-13 11:07:06.877	warn	(20689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                                    modbus.0	2021-06-13 11:07:06.876	error	(20689) Request timed out.
                                    modbus.0	2021-06-13 11:07:06.875	warn	(20689) Error: undefined
                                    modbus.0	2021-06-13 11:07:01.872	debug	(20689) Poll holdingRegs DevID(2) address 346 - 6 bytes
                                    modbus.0	2021-06-13 11:07:01.837	debug	(20689) Poll holdingRegs DevID(2) address 257 - 1 bytes
                                    modbus.0	2021-06-13 11:07:01.837	debug	(20689) Initialization of scale factors done!
                                    modbus.0	2021-06-13 11:07:01.835	debug	(20689) Poll device 2
                                    modbus.0	2021-06-13 11:07:01.834	info	(20689) Connected to slave
                                    modbus.0	2021-06-13 11:07:01.819	debug	(20689) connect to serial /dev/ttyUSB0 with 115200
                                    modbus.0	2021-06-13 11:07:01.479	debug	(20689) Add holdingRegisters.40385_Code_Störung: {"_id":"holdingRegisters.40385_Code_Störung","type":"state","common":{"name":"","role":"state","type":"number","read":false,"write":true,"def":0,"unit"
                                    modbus.0	2021-06-13 11:07:01.479	debug	(20689) Add holdingRegisters.40352_Innenlufttemperatur: {"_id":"holdingRegisters.40352_Innenlufttemperatur","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"
                                    modbus.0	2021-06-13 11:07:01.478	debug	(20689) Add holdingRegisters.40351_Frischlufttemperatur: {"_id":"holdingRegisters.40351_Frischlufttemperatur","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true
                                    modbus.0	2021-06-13 11:07:01.478	debug	(20689) Add holdingRegisters.40349_Bypass_Status: {"_id":"holdingRegisters.40349_Bypass_Status","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit
                                    modbus.0	2021-06-13 11:07:01.477	debug	(20689) Add holdingRegisters.40348_Filter: {"_id":"holdingRegisters.40348_Filter","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit":""},"native"
                                    modbus.0	2021-06-13 11:07:01.477	debug	(20689) Add holdingRegisters.40347_Filter_Status: {"_id":"holdingRegisters.40347_Filter_Status","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"unit
                                    modbus.0	2021-06-13 11:07:01.476	debug	(20689) Add holdingRegisters.40260_Bypass_Modus: {"_id":"holdingRegisters.40260_Bypass_Modus","type":"state","common":{"name":"","role":"state","type":"number","read":false,"write":true,"def":0,"unit"
                                    modbus.0	2021-06-13 11:07:01.475	debug	(20689) Add holdingRegisters.40258_Geschwindigkeit: {"_id":"holdingRegisters.40258_Geschwindigkeit","type":"state","common":{"name":"","role":"state","type":"number","read":true,"write":true,"def":0,"
                                    modbus.0	2021-06-13 11:07:01.474	debug	(20689) Initialize Objects for holdingRegs: [{"_address":40258,"name":"Geschwindigkeit","description":"","unit":"","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"state","room":""
                                    modbus.0	2021-06-13 11:07:01.474	debug	(20689) Initialize Objects for inputRegs: []
                                    modbus.0	2021-06-13 11:07:01.473	debug	(20689) Initialize Objects for coils: []
                                    modbus.0	2021-06-13 11:07:01.472	debug	(20689) Initialize Objects for disInputs: []
                                    modbus.0	2021-06-13 11:07:01.147	info	(20689) starting. Version 3.3.1 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.22.1, js-controller: 3.2.16
                                    

                                    Wenn ich 40258 alleine oder auch in Kombination mit 40260 abfrage, dann werden auch diese Werte korrekt ausgelesen.

                                    Hat jemand eine Idee was ich noch probieren könnte?
                                    Danke euch!

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

                                      Ich konnte das Problem selbst durch einen quick&dirty 50ms Warteschritt zw. den Abfragen lösen, den ich in den Code eingebaut habe.

                                      Issue und Lösung hierzu hier
                                      Vielleicht kann man das so oder auch gerne sauberer in den Adapter integrieren.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        Matis @andi2055 last edited by

                                        Hi, ich bin gerade dabei von Admin 4 auf 5 alles manuell umzuziehen.
                                        Dabei habe ich auch den neuen Modbus Adapter 3.4.4 installiert.
                                        Bei einigen Registern meiner Dimplex Wärmepumpe habe ich alles mir erdenkliche ausprobiert, ich bekomme sie nicht zum laufen:
                                        modbus.1 2021-06-20 00:14:33.149 debug (2308) Closing client on purpose.
                                        modbus.1 2021-06-20 00:14:33.097 warn (2308) Poll error count: 6 code: {"errorCode":129,"exceptionCode":3,"message":"ILLEGAL DATA VALUE"}
                                        modbus.1 2021-06-20 00:14:33.097 debug (2308) Received pdu describes an error.
                                        modbus.1 2021-06-20 00:14:33.093 debug (2308) Poll coils DevID(1) address 4 - 0 bits
                                        modbus.1 2021-06-20 00:14:33.092 debug (2308) Poll device 1

                                        oder:

                                        modbus.1 2021-06-20 00:21:44.174 debug (2719) Closing client on purpose.
                                        modbus.1 2021-06-20 00:21:44.122 warn (2719) Poll error count: 6 code: {"code":"ERR_OUT_OF_RANGE"}

                                        Mit modbus 3.2.6 lief das alles einwandfrei. Ich habe es 1:1 übernommen.
                                        Leider bekomme ich 3.2.6 nicht mehr als mögliche Version angeboten.
                                        Hat mir jemand einen Tipp, woran das liegen kann?

                                        M Glasfaser 2 Replies Last reply Reply Quote 0
                                        • M
                                          Matis @Matis last edited by

                                          ... wenn die betroffenen Register in einem eigenen Adapter aufsetzt, selbes Problem, ändere ich dann von Unsigned auf Signed gehten 6 von 7, versuche ich das auf den anderen Adpater zu übertragen, wieder bei allen der gleiche Fehler. Da stimmt wohl irgendwas im Adapter nicht oder ist marginal. Ich bin hilflos.

                                          1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @Matis last edited by

                                            @matis sagte in Modbus adapter:

                                            ....... alles manuell umzuziehen.

                                            Wie zieht man denn manuell um ?

                                            @matis sagte in Modbus adapter:

                                            Hi, ich bin gerade dabei von Admin 4 auf 5 alles manuell umzuziehen.
                                            Dabei habe ich auch den neuen Modbus Adapter 3.4.4 installiert.

                                            Also Betatester ....

                                            @matis sagte in Modbus adapter:
                                            Leider bekomme ich 3.2.6 nicht mehr als mögliche Version angeboten.

                                            Logo ... da dein Verwahrungsort auf Beta steht und nicht auf stable.

                                            1.JPG

                                            M 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

                                            916
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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