Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus hängt sich komplett auf wenn ein Gerät Probleme hat

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Modbus hängt sich komplett auf wenn ein Gerät Probleme hat

    This topic has been deleted. Only users with topic management privileges can see it.
    • Great SUN
      Great SUN @Homoran last edited by

      Ich hab schon mal kurz in den Code geschaut.
      Wenn es nur darum geht, dass der Adapter nicht mehr durchstartet und dass man im Log auch sieht, welche deviceID betroffen ist, wären folgende Stellen im Code aus meiner Sicht relevant:

      function pollResult <-- hier wird der Adapter neu gestartet und ein Fehler (ohne DeviceID) gemeldet
      https://github.com/ioBroker/ioBroker.modbus/blob/5c072dd9f92947179cb15f343b5bae7331e99ead/lib/master.js#L407

      function pollDevice <-- von hier aus wird (indirekt) pollResult aufgerufen und es ist auch die deviceID bekannt
      https://github.com/ioBroker/ioBroker.modbus/blob/5c072dd9f92947179cb15f343b5bae7331e99ead/lib/master.js#L444C14-L444C24

      Homoran 1 Reply Last reply Reply Quote 1
      • Homoran
        Homoran Global Moderator Administrators @Great SUN last edited by

        @great-sun sagte in Modbus hängt sich komplett auf wenn ein Gerät Probleme hat:

        Wenn es nur darum geht, dass der Adapter nicht mehr durchstartet und dass man im Log auch sieht, welche deviceID betroffen ist,

        Das wäre schon ein großer Schritt!

        Das "Kapseln" von Geräten (per (De)Aktivierungs-Checkbox) wäre aber z.B. auch für Wartung an Geräten hilfreich.

        Great SUN 1 Reply Last reply Reply Quote 0
        • Great SUN
          Great SUN @Homoran last edited by

          @homoran Naja, wenn man möchte, dass der Adapter hängen bleibt, weil man es sonst nicht sieht/mitbekommt, wäre das sicher der beste Weg. Aber wenn Du sonst eine Wartung durchführst, würde das betroffene Device nur im Log gemeldet werden, aber die anderen weiter abgefragt. Ganz ohne zusätzliche Arbeit 😉

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

            @homoran ich sehe im log nichts von instanz anhalten oder neu starten

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

              @homoran ALso für mich sieht es eher so aus das in dem Fehlerfall irgendwie die Netzwerk connection offen bleibt und nicht neu aufgebaut wird.

              Great SUN 1 Reply Last reply Reply Quote 0
              • Great SUN
                Great SUN @apollon77 last edited by

                @apollon77

                in der pollResult ist dieser Code:

                if (errorCount > 12 * deviceIds.length) { // 2 reconnects did not help, restart adapter
                                adapter.log.error('Reconnect did not help, restart adapter');
                                typeof adapter.terminate === 'function' ? adapter.terminate(156) : process.exit(156);
                

                Wenn ich mich nicht ganz irre, schießt er da den Adapter ab 😉

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

                  Weil ihr so lieb bittet!

                  ich hab gerade wieder ein Register für den defekten Zähler eingegeben und die Fehlermeldungen kommen wieder.

                  Ich warte jetzt ein paar Minuten, damit genug automatische retrys vorhanden sind und starte die Instanz neu.

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

                    @apollon77
                    @great-SUN

                    das log

                    2023-10-08 22:17:10.800 - info: host.tinkerboard instance system.adapter.modbus.0 started with pid 2689
                    2023-10-08 22:17:12.924 - info: modbus.0 (2689) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.21.1, js-controller: 3.3.22
                    2023-10-08 22:17:13.810 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:17:19.226 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:17:19.228 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:17:19.230 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:17:20.230 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:18:20.236 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:18:25.631 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:18:25.632 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:18:25.633 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:18:26.633 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:19:26.640 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:19:32.039 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:19:32.042 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:19:32.043 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:19:33.042 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:20:33.046 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:20:38.432 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:20:38.432 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:20:38.433 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:20:39.433 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:21:39.437 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:21:44.837 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:21:44.838 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:21:44.839 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:21:45.839 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:22:45.843 - info: modbus.0 (2689) Connected to slave
                    2023-10-08 22:22:51.216 - warn: modbus.0 (2689) Error: undefined
                    2023-10-08 22:22:51.216 - error: modbus.0 (2689) Request timed out.
                    2023-10-08 22:22:51.217 - warn: modbus.0 (2689) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:22:52.218 - info: modbus.0 (2689) Disconnected from slave
                    2023-10-08 22:23:07.753 - info: host.tinkerboard stopInstance system.adapter.modbus.0 (force=false, process=true)
                    2023-10-08 22:23:07.780 - info: modbus.0 (2689) Got terminate signal TERMINATE_YOURSELF
                    2023-10-08 22:23:07.784 - info: modbus.0 (2689) terminating
                    2023-10-08 22:23:07.788 - info: modbus.0 (2689) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                    2023-10-08 22:23:07.836 - info: host.tinkerboard stopInstance system.adapter.modbus.0 send kill signal
                    2023-10-08 22:23:08.572 - info: host.tinkerboard instance system.adapter.modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                    2023-10-08 22:23:11.193 - info: host.tinkerboard instance system.adapter.modbus.0 started with pid 2887
                    2023-10-08 22:23:13.698 - info: modbus.0 (2887) starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.21.1, js-controller: 3.3.22
                    2023-10-08 22:23:14.515 - info: modbus.0 (2887) Connected to slave
                    2023-10-08 22:23:19.925 - warn: modbus.0 (2887) Error: undefined
                    2023-10-08 22:23:19.926 - error: modbus.0 (2887) Request timed out.
                    2023-10-08 22:23:19.927 - warn: modbus.0 (2887) Poll error count: 1 code: {"err":"timeout","timeout":5000}
                    2023-10-08 22:23:20.929 - info: modbus.0 (2887) Disconnected from slave
                    

                    zwischendurch war die Instanz gelb
                    Screenshot_20231008-222240_Firefox.jpg

                    und für ganz ganz kurze Zeit grün
                    Screenshot_20231008-222303_Firefox.jpg

                    das hatte ich irrtümlich für einen Neustart gehalten.

                    Nach dem manuellen Neustart geht es mit den Fehlermeldungen wie gewohnt weiter

                    EDIT:
                    was mir auffällt ist dass er mit dem error count bei 1 stehen bleibt

                    EDIT2:
                    erst nach löschen des Registers ist wieder Ruhe

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Radi @Homoran last edited by

                      @homoran Hast du mal probiert, nur den Haken für die Abfrage des Registers rauszunehmen?

                      98f72db4-2afb-4fb6-9245-53ef0e5d6b87-grafik.png

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

                        @radi sagte in Modbus hängt sich komplett auf wenn ein Gerät Probleme hat:

                        @homoran Hast du mal probiert, nur den Haken für die Abfrage des Registers rauszunehmen?

                        98f72db4-2afb-4fb6-9245-53ef0e5d6b87-grafik.png

                        😱 Nein 😱
                        gibt es die etwa auch bei Eingangsregistern? 😳
                        ich hab die bisher bewusst nur bei Holdingregistern gesehen.

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Radi @Homoran last edited by Radi

                          @homoran Okay, bei den Eingangsregistern gibt es diesen Punkt wohl nicht. 1:0 für dich. Da ich überall nur Holdingregister abfrage, hatte ich das gar nicht in Betracht gezogen.

                          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

                          855
                          Online

                          32.0k
                          Users

                          80.6k
                          Topics

                          1.3m
                          Posts

                          4
                          12
                          417
                          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