Navigation

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

    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

    Spezialproblem: Docker - Modbus - CMI

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

      Systemdata Bitte Ausfüllen
      Hardwaresystem: Synology Docker
      Arbeitsspeicher: 10GB
      Festplattenart: HDD
      Betriebssystem: Docker
      Nodejs-Version: v16.19.0
      NPM-Version: 8.19.3
      Installationsart: Docker
      Image genutzt: Ja

      Hallo zusammen,

      in der Hoffnung, dass hier Nutzer dabei sind die entweder auch ein C.M.I. von Technische Alternative im Einsatz und das Verbindungsproblem mit Modbus im Dockercontainer gelöst haben oder Nutzer, die Analyse-Cracks bei technischen Problemen sind, trage ich mal mein sehr spezielles Problem vor.

      Bisher betrieb ich meine ioBroker Instanz auf meinem Raspberry4. Dort lief der Modbus Adapter für die Verbindung mit meiner Heizungssteuerung mehr oder weniger stabil und lieferte die Daten die ich brauchte. Siehe dazu auch mein Tutorial. Ich hab mich im Detail nie mit Modbus beschäftigt und verlasse mich auf den Adapter.

      Nun habe ich meine ioBroker Instanz in einen Docker Container auf mein Synology NAS umgezogen. Alles hat bisher funktioniert, bis auf den Modbus Adapter. Und der bringt mich (wieder mal) zu Verzweiflung.

      Zuerst habe ich natürlich den erforderlichen Port 502 in der Containerkonfiguration eingestellt:
      c522073b-e7cc-4be7-ac78-358b53fb88c1-grafik.png

      Dann habe ich geschaut, welche Ports auf dem Raspberry offen sind

      pi@raspberrypi:~ $ sudo netstat -tulpn
      Aktive Internetverbindungen (Nur Server)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
      tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      22606/iobroker.js-c 
      tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN      22606/iobroker.js-c 
      tcp        0      0 0.0.0.0:502             0.0.0.0:*               LISTEN      27895/io.modbus.0   
      tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      620/sshd            
      tcp        0      0 127.0.0.1:8088          0.0.0.0:*               LISTEN      613/influxd         
      tcp6       0      0 :::8081                 :::*                    LISTEN      17817/io.admin.0    
      tcp6       0      0 :::8086                 :::*                    LISTEN      613/influxd         
      tcp6       0      0 :::22                   :::*                    LISTEN      620/sshd            
      tcp6       0      0 :::3000                 :::*                    LISTEN      8926/grafana-server 
      udp        0      0 0.0.0.0:37138           0.0.0.0:*                           360/avahi-daemon: r 
      udp        0      0 0.0.0.0:68              0.0.0.0:*                           605/dhcpcd          
      udp        0      0 0.0.0.0:5353            0.0.0.0:*                           360/avahi-daemon: r 
      udp6       0      0 :::546                  :::*                                605/dhcpcd          
      udp6       0      0 :::58074                :::*                                360/avahi-daemon: r 
      udp6       0      0 :::5353                 :::*                                360/avahi-daemon: r 
      

      Und die dann mit denen auf dem NAS verglichen:

      henri@nas:~$ sudo netstat -tulpn
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
      tcp        0      0 0.0.0.0:1502            0.0.0.0:*               LISTEN      15567/docker-proxy  
      tcp        0      0 127.0.0.1:512           0.0.0.0:*               LISTEN      18562/termd         
      tcp        0      0 127.0.0.1:161           0.0.0.0:*               LISTEN      13792/snmpd         
      tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      11140/nginx: master 
      tcp        0      0 0.0.0.0:5001            0.0.0.0:*               LISTEN      11140/nginx: master 
      tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      22568/smbd          
      tcp        0      0 0.0.0.0:5357            0.0.0.0:*               LISTEN      11140/nginx: master 
      tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11140/nginx: master 
      tcp        0      0 0.0.0.0:2001            0.0.0.0:*               LISTEN      15502/docker-proxy  
      tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      15482/docker-proxy  
      tcp        0      0 127.0.0.1:33300         0.0.0.0:*               LISTEN      15257/python3       
      tcp        0      0 0.0.0.0:502             0.0.0.0:*               LISTEN      15586/docker-proxy  
      tcp        0      0 0.0.0.0:8086            0.0.0.0:*               LISTEN      6392/docker-proxy  
      

      Da sieht man, dass der Port 502 via Docker-Proxy in den Container zeigt (nehme ich jedenfalls an).
      Und im Container sieht das dann so aus:

      root@buanet-iobroker1:/opt/iobroker# netstat -tulpn
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
      tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      -                   
      tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN      -                   
      tcp        0      0 0.0.0.0:502             0.0.0.0:*               LISTEN      -                   
      tcp        0      0 127.0.0.1:8088          0.0.0.0:*               LISTEN      -                   
      tcp6       0      0 :::8081                 :::*                    LISTEN      -                   
      tcp6       0      0 :::8082                 :::*                    LISTEN      -                   
      tcp6       0      0 :::8086                 :::*                    LISTEN      -                   
      udp        0      0 0.0.0.0:5683            0.0.0.0:*                           -  
      

      Aus meiner Sicht passt das also.

      Die Modbus Konfiguration ist exakt die gleiche wie auf dem Raspberry.
      6bde7fdf-2fd7-4541-90b3-21bae901a462-grafik.png

      Und wenn ich auf dem Raspberry nach der Verbindung schaue steht da
      6dee85ac-329d-4d78-b8d7-6c2ddd34c9aa-grafik.png
      Und die 93 ist die lokale IP vom Raspberry.

      Wie kann ich mich dem Fehler noch nähern? Ich hab keine Ahnung mehr.

      Danke
      Henri

      [Edit sagt]
      In @andre Dokumentation habe ich folgenden Hinweis gefunden:

      Außerdem gilt für den Bridged Mode der Hinweis, dass Adapter die per Multicast arbeiten hier nicht funktionieren werden.
      

      Kann es sein, dass genau dies das Problem ist?

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

        @hennerich ist das jetzt ein Bug von ioBroker oder ein "Spezialproblem"?

        H 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @hennerich last edited by OliverIO

          @hennerich sagte in Spezialproblem: Docker - Modbus - CMI:

          Kann es sein, dass genau dies das Problem ist?

          so wie ich das sehe arbeitet der modbus adapter nicht mit multicast oder überhaupt einem broadcast.
          wie finden die anderen geräte diese modbus instanz?

          du hast irgendwie nicht konkret den fehler benannt, ausser das der adapter nicht funktioniert? Wie äussert sich das den genau? aber ich interpretiere, das die anderen geräte den nicht finden? muss man da nicht die ipadresse angeben?

          1 Reply Last reply Reply Quote 0
          • H
            hennerich @Homoran last edited by

            @homoran sagte in Spezialproblem: Docker - Modbus - CMI:

            @hennerich ist das jetzt ein Bug von ioBroker oder ein "Spezialproblem"?

            Wenn du mich so fragst, so wie ich es im Betreff formuliert habe. Ein Spezialproblem, kein Bug. Und ich dache, dass das Error Forum dafür am Besten geeignet wäre.

            @oliverio sagte in Spezialproblem: Docker - Modbus - CMI:

            @hennerich sagte in Spezialproblem: Docker - Modbus - CMI:

            Kann es sein, dass genau dies das Problem ist?

            so wie ich das sehe arbeitet der modbus adapter nicht mit multicast oder überhaupt einem broadcast.
            wie finden die anderen geräte diese modbus instanz?

            du hast irgendwie nicht konkret den fehler benannt, ausser das der adapter nicht funktioniert? Wie äussert sich das den genau? aber ich interpretiere, das die anderen geräte den nicht finden? muss man da nicht die ipadresse angeben?

            Naja, ich habe zwei Modbus Adapter laufen. Der eine empfängt Daten von meiner SolarEdge PV Anlage als Modbus Master.
            ab9b1e35-67ea-41fc-b0d7-b30bcdc63110-grafik.png
            Dort gibt man die Adresse des Slave an.

            Das ist bei der Modbus Verbindung zum Heizungssystem nicht so. Da fungiert der ioBroker Adapter als Slave und scheinbar ist es tatsächlich so, dass man dort nicht die IP des Masters angeben muss.
            Und sorry, wenn ich das nicht so konkret reingeschrieben habe, der Modbus Adapter verbindet sich nicht mit dem Master und hängt immer hier:
            e2cc8a0b-9200-4026-80c9-588305f04215-grafik.png
            Auch das Debug Log schweigt sich mehr oder weniger über die Ursache aus. Dort stand mal was von

            modbus.0 	2022-12-28 18:16:15.483 	error 	Client in error state.
            modbus.0 	2022-12-28 18:16:15.483 	error 	Socket Error
            

            Diesr Fehler kommt aber nicht mehr.

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

              @hennerich sagte in Spezialproblem: Docker - Modbus - CMI:

              dass das Error Forum dafür am Besten geeignet wäre.

              hab es mal nach allgemein verschoben.

              1 Reply Last reply Reply Quote 1
              • H
                hennerich last edited by

                Hab den Fehler gefunden: Man muss im CMI ebenso die IP Adresse anpassen, an die der Master die Werte senden soll.

                1 Reply Last reply Reply Quote 1
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                925
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                cmi docker modbus
                3
                6
                534
                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