Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot

    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

    Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active @TH G last edited by arteck

      @TH-G

      Thema 1: Cannot write [40236]: {"errorCode":144,"exceptionCode":3,"message":"ILLEGAL DATA VALUE"}

      hier wird was gelifert was der Adapter nicht verwenden kann .. sollte aber zu keinen Abbruch kommen

      Thema 2: error: modbus.1 (9033) Request timed out.

      wenn das Ding nicht antwortet dann ist es EIN NETZ PROBLEM.. auch wenn du der Meinung bist, dass alles sonstige gut läuft.. und mitdem Ding meine ich nicht iobroker

      Thema 3: warum sind von dem Adapter 2 instanzen angelegt ???


      on({id: "modbus.1.info.connection", change: 'ne', val: false}, () => {
          const instanceObj = getObject("system.adapter.modbus.1");
          instanceObj.common.enabled = false;                               // Adapter anschalten sicher ist das
          setObject('system.adapter.modbus.1', instanceObj, function (err) {
                       if (err) log('Cannot write object: ' + err);
            }); 
      // warte ne minute dann mach wieder an
          setTimeout(function() {
              instanceObj.common.enabled = true;                               // Adapter anschalten
              setObject('system.adapter.modbus.1', instanceObj, function (err) {
                       if (err) log('Cannot write object: ' + err);
              }); 
           log('modbus Neustart ');
           },  60000  );           
       
      });
      
      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @TH G last edited by

        @TH-G sagte in Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot:

        Den Log habe ich oben schon gepostet oder benötigst du etwas anderes?

        Ich meinte den Log, der sich ergibt, wenn das automatische Neustart-Skript läuft. Am besten fügst du dazu noch Log-ausgaben in das Skript ein, damit man auch erkennt, wann das Skript was macht.

        1 Reply Last reply Reply Quote 0
        • TH G
          TH G last edited by TH G

          @AlCalzone @arteck
          Hier ist nun der Log. Das Skript hat dann ein gelbes Pausezeichen

          Irgendwie ist da noch der Wurm drinnen. Habe auch zum Schluss eine Klammer entfernt, denn die hat er angemeckert.

          29.5.2020, 10:12:45.423 [info ]: javascript.0 (29318) Stop script script.js.common.Neustart_nach_Fehler_Modbus
          29.5.2020, 10:12:46.944 [info ]: javascript.0 (29318) Start javascript script.js.common.Neustart_nach_Fehler_Modbus
          29.5.2020, 10:12:46.981 [info ]: javascript.0 (29318) script.js.common.Neustart_nach_Fehler_Modbus: registered 1 subscription and 0 schedules
          29.5.2020, 10:12:49.212 [error]: javascript.0 (29318) at Object.<anonymous> (script.js.common.Neustart_nach_Fehler_Modbus:4:42)
          29.5.2020, 10:12:50.215 [error]: javascript.0 (29318) at Object.<anonymous> (script.js.common.Neustart_nach_Fehler_Modbus:4:42)

          Habe nun alle Geräte (2 Wechselrichter, deswegen auch zwei Instanzen) auf einen eigenen Switch gehängt und vom Restnetzwerk getrennt.

          AlCalzone 1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer @TH G last edited by

            @TH-G sagte in Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot:

            29.5.2020, 10:12:49.212 [error]: javascript.0 (29318) at Object.<anonymous> (script.js.common.Neustart_nach_Fehler_Modbus:4:42)

            Kannst du bitte mal im Admin den vollständigen Log runterladen und diesen Abschnitt raussuchen? Ich hoffe, dass da steht, welcher Fehler aufgetreten ist und wo, nicht nur dass es einen gab.

            1 Reply Last reply Reply Quote 0
            • TH G
              TH G last edited by TH G

              @AlCalzone @arteck

              Fehler ist wieder aufgetreten aber diesmal bei der modbus0 Instanz.

              Netzwerk kann ich nun ausschliessen, da die beide SMA Wechselrichter, SMA Homemanger 2 und der RPI4 an einem eigenen neuen Switch hängen.

              Wenn dann müsste beide Wechselrichter defekt sein oder der RPI4.

              2020-05-29 15:21:02.817 - warn: modbus.0 (28758) Error: undefined
              2020-05-29 15:21:02.818 - error: modbus.0 (28758) Request timed out.
              2020-05-29 15:21:02.819 - error: modbus.0 (28758) Client in error state.
              2020-05-29 15:21:02.820 - warn: modbus.0 (28758) Poll error count: 1 code: {"err":"timeout"}
              2020-05-29 15:21:03.819 - info: modbus.0 (28758) Disconnected from slave 192.168.178.81
              2020-05-29 15:22:03.830 - info: modbus.0 (28758) Connected to slave 192.168.178.81

              Die Instanz ist aber nicht auf gelb gegangen und läuft weiter.

              Was meinst du bitte mit Admin Log?

              AlCalzone 1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer @TH G last edited by

                @TH-G sagte in Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot:

                Was meinst du bitte mit Admin Log?

                das:
                dc1a38a1-ed89-4032-bbf8-9196df336b5e-grafik.png

                1 Reply Last reply Reply Quote 0
                • TH G
                  TH G last edited by TH G

                  @AlCalzone @arteck

                  Habe das Verhalten simuliert durch ziehen der Netzwerkleitung zum RPI4

                  Der Adapter ist Gelb und im Objekt sehe ich, dass das Feld modbus.1.info.connection ständig zwischen true und false wechselt.

                  Euer Skript heißt: Neustart_nach_Fehler_Modbus

                  2020-05-29 15: 59: 12.311 - Fehler : hue.0 (29369) Konnte nicht alle abfragen: connect ENETUNREACH 192.168.178.118:80 - Local (0.0.0.0:0)
                  2020-05-29 15: 59: 17.153 - Warnung : modbus.0 (28758) Fehler: undefiniert
                  2020-05-29 15: 59: 17.154 - Fehler : modbus.0 (28758) Zeitüberschreitung bei Anforderung.
                  2020-05-29 15: 59: 17.155 - Fehler : modbus.0 (28758) Client im Fehlerzustand.
                  2020-05-29 15: 59: 17.156 - warn : modbus.0 (28758) Anzahl der Abfragefehler: 1 Code: {"err": "timeout"}
                  2020-05-29 15: 59: 18.154 - info : modbus.0 (28758) Vom Slave 192.168.178.81 getrennt
                  2020-05-29 15: 59: 20.678 - Warnung : modbus.1 (22013) Fehler: undefiniert
                  2020-05-29 15: 59: 20.679 - Fehler : modbus.1 (22013) Zeitüberschreitung bei Anforderung.
                  2020-05-29 15: 59: 20.681 - Fehler : modbus.1 (22013) Client im Fehlerzustand.
                  2020-05-29 15: 59: 20.683 - Warnung : modbus.1 (22013) Anzahl der Abfragefehler: 1 Code: {"err": "timeout"}
                  2020-05-29 15: 59: 20.714 - Fehler : Javascript.0 (29318) Fehler beim Rückruf: ReferenceError: objPl ist nicht definiert
                  2020-05-29 15: 59: 20.716 - Fehler : Javascript.0 (29318) bei Object. (script.js.common.Neustart_nach_Fehler_Modbus: 4: 42)
                  2020-05-29 15: 59: 20.717 - Fehler : Javascript.0 (29318) bei Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                  2020-05-29 15: 59: 20.718 - Fehler : Javascript.0 (29318) bei Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                  2020-05-29 15: 59: 20.718 - Fehler : Javascript.0 (29318) bei Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  2020-05-29 15: 59: 20.718 - Fehler : Javascript.0 (29318) bei processImmediate (intern / timers.js: 456: 21)
                  2020-05-29 15: 59: 20.719 - Fehler : Javascript.0 (29318) bei process.topLevelDomainCallback (domain.js: 137: 15)
                  2020-05-29 15: 59: 21.682 - info : modbus.1 (22013) Vom Slave 192.168.178.82 getrennt
                  2020-05-29 15: 59: 22.333 - Fehler : hue.0 (29369) Konnte nicht alle abfragen: connect ENETUNREACH 192.168.178.118:80 - Local (0.0.0.0:0)
                  2020-05-29 15: 59: 25.737 - Fehler : cloud.0 (29444) Ping-Zeitüberschreitung
                  2020-05-29 15: 59: 25.738 - Info : Cloud.0 (29444) Verbindung geändert: Ping-Timeout
                  2020-05-29 15: 59: 25.738 - Info : cloud.0 (29444) Verbindung unterbrochen
                  2020-05-29 16: 00: 00.089 - info : host.raspberrypi Instanz system.adapter.luftdaten.0 wurde mit pid 25369 gestartet
                  2020-05-29 16: 00: 02.246 - info : luftdaten.0 (25369) startet. Version 0.0.15 in /opt/iobroker/node_modules/iobroker.luftdaten, Knoten: v12.17.0, js-controller: 3.1.4
                  2020-05-29 16: 00: 04.128 - info : host.raspberrypi-Instanz system.adapter.dwd.0 wurde mit pid 25397 gestartet
                  2020-05-29 16: 00: 05.801 - Info : dwd.0 (25397) startet. Version 2.4.9 in /opt/iobroker/node_modules/iobroker.dwd, Knoten: v12.17.0, js-controller: 3.1.4
                  2020-05-29 16: 00: 06.932 - info : dwd.0 (25397) Beendet (NO_ERROR): Ohne Grund
                  2020-05-29 16: 00: 07.450 - Info : host.raspberrypi-Instanz system.adapter.dwd.0 mit Code 0 (NO_ERROR) beendet
                  2020-05-29 16: 00: 12.331 - info : luftdaten.0 (25369) Beendet (NO_ERROR): Ohne Grund
                  2020-05-29 16: 00: 12.858 - Info : host.raspberrypi-Instanz system.adapter.luftdaten.0 mit Code 0 (NO_ERROR) beendet
                  2020-05-29 16: 00: 18.163 - info : modbus.0 (28758) Verbunden mit Slave 192.168.178.81
                  2020-05-29 16: 00: 21.686 - info : modbus.1 (22013) Verbunden mit Slave 192.168.178.82
                  2020-05-29 16: 00: 22.106 - Fehler : modbus.1 (22013) Kann nicht schreiben [40236]: {"errorCode": 144, "exceptionCode": 3, "message": "ILLEGAL DATA VALUE"}
                  2020-05-29 16: 00: 22.107 - info : modbus.1 (22013) Vom Slave 192.168.178.82 getrennt
                  2020-05-29 16: 00: 22.113 - Fehler : Javascript.0 (29318) Fehler beim Rückruf: ReferenceError: objPl ist nicht definiert
                  2020-05-29 16: 00: 22.114 - Fehler : Javascript.0 (29318) bei Object. (script.js.common.Neustart_nach_Fehler_Modbus: 4: 42)
                  2020-05-29 16: 00: 22.114 - Fehler : Javascript.0 (29318) bei Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                  2020-05-29 16: 00: 22.114 - Fehler : Javascript.0 (29318) bei Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                  2020-05-29 16: 00: 22.115 - Fehler : Javascript.0 (29318) bei Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  2020-05-29 16: 00: 22.115 - Fehler : Javascript.0 (29318) bei processImmediate (intern / timers.js: 456: 21)
                  2020-05-29 16: 00: 22.115 - Fehler : Javascript.0 (29318) bei process.topLevelDomainCallback (domain.js: 137: 15)
                  2020-05-29 16: 00: 23.109 - info : modbus.1 (22013) Verbunden mit Slave 192.168.178.82
                  2020-05-29 16: 00: 23.113 - info : modbus.1 (22013) Vom Slave 192.168.178.82 getrennt
                  2020-05-29 16: 00: 23.120 - Fehler : Javascript.0 (29318) Fehler beim Rückruf: ReferenceError: objPl ist nicht definiert
                  2020-05-29 16: 00: 23.121 - Fehler : Javascript.0 (29318) bei Object. (script.js.common.Neustart_nach_Fehler_Modbus: 4: 42)
                  2020-05-29 16: 00: 23.121 - Fehler : Javascript.0 (29318) bei Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                  2020-05-29 16: 00: 23.121 - Fehler : Javascript.0 (29318) bei Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                  2020-05-29 16: 00: 23.121 - Fehler : Javascript.0 (29318) bei Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  2020-05-29 16: 00: 23.122 - Fehler : Javascript.0 (29318) bei processImmediate (intern / timers.js: 456: 21)
                  2020-05-29 16: 00: 23.122 - Fehler : Javascript.0 (29318) bei process.topLevelDomainCallback (domain.js: 137: 15)
                  2020-05-29 16: 00: 25.755 - info : cloud.0 (29444) Es wird versucht, eine Verbindung als system.user.admin herzustellen
                  2020-05-29 16: 00: 26.201 - Info : Cloud.0 (29444) Verbindung geändert: Verbindung
                  2020-05-29 16: 01: 23.116 - info : modbus.1 (22013) Verbunden mit Slave 192.168.178.82
                  2020-05-29 16: 01: 23.485 - Fehler : modbus.1 (22013) Kann nicht schreiben [40236]: {"errorCode": 144, "exceptionCode": 3, "message": "ILLEGAL DATA VALUE"}
                  2020-05-29 16: 01: 23.485 - info : modbus.1 (22013) Vom Slave 192.168.178.82 getrennt
                  2020-05-29 16: 01: 23.490 - Fehler : Javascript.0 (29318) Fehler beim Rückruf: ReferenceError: objPl ist nicht definiert
                  2020-05-29 16: 01: 23.491 - Fehler : Javascript.0 (29318) bei Object. (script.js.common.Neustart_nach_Fehler_Modbus: 4: 42)
                  2020-05-29 16: 01: 23.491 - Fehler : Javascript.0 (29318) bei Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                  2020-05-29 16: 01: 23.492 - Fehler : Javascript.0 (29318) bei Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                  2020-05-29 16: 01: 23.492 - Fehler : Javascript.0 (29318) bei Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  2020-05-29 16: 01: 23.492 - Fehler : Javascript.0 (29318) bei processImmediate (intern / timers.js: 456: 21)
                  2020-05-29 16: 01: 23.493 - Fehler : Javascript.0 (29318) bei process.topLevelDomainCallback (domain.js: 137: 15)
                  2020-05-29 16: 01: 24.488 - info : modbus.1 (22013) Verbunden mit Slave 192.168.178.82
                  2020-05-29 16: 01: 24.493 - info : modbus.1 (22013) Vom Slave 192.168.178.82 getrennt
                  2020-05-29 16: 01: 24.498 - Fehler : Javascript.0 (29318) Fehler beim Rückruf: ReferenceError: objPl ist nicht definiert
                  2020-05-29 16: 01: 24.498 - Fehler : Javascript.0 (29318) bei Object. (script.js.common.Neustart_nach_Fehler_Modbus: 4: 42)
                  2020-05-29 16: 01: 24.498 - Fehler : Javascript.0 (29318) bei Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
                  2020-05-29 16: 01: 24.498 - Fehler : Javascript.0 (29318) bei Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
                  2020-05-29 16: 01: 24.499 - Fehler : Javascript.0 (29318) bei Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  2020-05-29 16: 01: 24.499 - Fehler : Javascript.0 (29318) bei processImmediate (intern / timers.js: 456: 21)
                  2020-05-29 16: 01: 24.499 - Fehler : Javascript.0 (29318) bei process.topLevelDomainCallback (domain.js: 137: 15)
                  2020-05-29 16: 01: 34.491 - Warnung : modbus.1 (22013) Fehler: undefiniert
                  2020-05-29 16: 01: 34.492 - Fehler : modbus.1 (22013) Zeitüberschreitung bei Anforderung.
                  2020-05-29 16: 01: 34.492 - Fehler : modbus.1 (22013) Client im Fehlerzustand.

                  AlCalzone 1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer @TH G last edited by

                    @TH-G sagte in Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot:

                    ReferenceError: objPl ist nicht definiert

                    Ersetze im Skript objPl durch instanceObj

                    TH G 1 Reply Last reply Reply Quote 0
                    • TH G
                      TH G @AlCalzone last edited by

                      @AlCalzone

                      Geht leider auch nicht:

                      host.raspberrypi 2020-05-29 16:55:16.321 info instance system.adapter.luftdaten.0 terminated with code 0 (NO_ERROR)
                      luftdaten.0 2020-05-29 16:55:15.800 info (474) Terminated (NO_ERROR): Without reason
                      luftdaten.0 2020-05-29 16:55:05.753 info (474) starting. Version 0.0.15 in /opt/iobroker/node_modules/iobroker.luftdaten, node: v12.17.0, js-controller: 3.1.4
                      host.raspberrypi 2020-05-29 16:55:05.314 info Do not restart adapter system.adapter.modbus.1 because disabled or deleted
                      host.raspberrypi 2020-05-29 16:55:05.313 error instance system.adapter.modbus.1 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND)
                      host.raspberrypi 2020-05-29 16:55:04.928 info instance system.adapter.dwd.0 terminated with code 0 (NO_ERROR)
                      modbus.1 2020-05-29 16:55:04.797 warn (453) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason
                      modbus.1 2020-05-29 16:55:04.781 error (453) adapter disabled
                      dwd.0 2020-05-29 16:55:04.400 info (422) Terminated (NO_ERROR): Without reason
                      host.raspberrypi 2020-05-29 16:55:04.265 info instance system.adapter.luftdaten.0 started with pid 474
                      dwd.0 2020-05-29 16:55:02.065 info (422) starting. Version 2.4.9 in /opt/iobroker/node_modules/iobroker.dwd, node: v12.17.0, js-controller: 3.1.4
                      host.raspberrypi 2020-05-29 16:55:01.872 info instance system.adapter.modbus.1 terminated with code 156 (START_IMMEDIATELY_AFTER_STOP)
                      modbus.1 2020-05-29 16:55:01.559 info (403) Connected to slave 192.168.178.82
                      host.raspberrypi 2020-05-29 16:55:01.358 info "system.adapter.modbus.1" disabled
                      host.raspberrypi 2020-05-29 16:55:01.319 info stopInstance system.adapter.modbus.1 killing pid 403
                      modbus.1 2020-05-29 16:55:01.344 info (403) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                      modbus.1 2020-05-29 16:55:00.852 info (403) starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.17.0, js-controller: 3.1.4
                      modbus.1 2020-05-29 16:55:00.324 info (403) Got terminate signal TERMINATE_YOURSELF
                      host.raspberrypi 2020-05-29 16:55:00.318 info stopInstance system.adapter.modbus.1 send kill signal
                      host.raspberrypi 2020-05-29 16:55:00.316 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                      javascript.0 2020-05-29 16:55:00.300 info (29318) script.js.common.Neustart_nach_Fehler_Modbus: modbus Neustart
                      host.raspberrypi 2020-05-29 16:55:00.028 info instance system.adapter.dwd.0 started with pid 422
                      host.raspberrypi 2020-05-29 16:54:59.074 info instance system.adapter.modbus.1 started with pid 403
                      host.raspberrypi 2020-05-29 16:54:59.015 info "system.adapter.modbus.1" enabled
                      javascript.0 2020-05-29 16:54:58.983 info (29318) script.js.common.Neustart_nach_Fehler_Modbus: modbus Neustart
                      host.raspberrypi 2020-05-29 16:54:01.936 info Do not restart adapter system.adapter.modbus.1 because disabled or deleted
                      host.raspberrypi 2020-05-29 16:54:01.934 error instance system.adapter.modbus.1 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND)
                      modbus.1 2020-05-29 16:54:01.397 warn (32717) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason
                      modbus.1 2020-05-29 16:54:01.385 error (32717) adapter disabled
                      host.raspberrypi 2020-05-29 16:54:00.817 info instance system.adapter.modbus.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                      modbus.1 2020-05-29 16:54:00.345 info (32695) Got terminate signal TERMINATE_YOURSELF
                      host.raspberrypi 2020-05-29 16:54:00.340 info stopInstance system.adapter.modbus.1 send kill signal
                      host.raspberrypi 2020-05-29 16:54:00.337 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                      modbus.1 2020-05-29 16:54:00.297 warn (32695) Got terminate signal. Checking desired PID: 32717 vs own PID 32695
                      modbus.1 2020-05-29 16:54:00.283 info (32695) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                      modbus.1 2020-05-29 16:54:00.281 info (32695) terminating
                      modbus.1 2020-05-29 16:54:00.275 warn (32695) Got terminate signal. Checking desired PID: 0 vs own PID 32695
                      host.raspberrypi 2020-05-29 16:53:58.995 info "system.adapter.modbus.1" disabled
                      modbus.1 2020-05-29 16:53:58.975 info (32695) Connected to slave 192.168.178.82
                      modbus.1 2020-05-29 16:53:58.477 info (32695) starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.17.0, js-controller: 3.1.4

                      arteck 1 Reply Last reply Reply Quote 0
                      • TH G
                        TH G last edited by

                        @AlCalzone @arteck

                        Wieder Fehler und das Skript geht nicht

                        Habt ihr beiden keine Idee mehr? Morgen geht es endlich ein paar Tage in den Kurzurlaub und so kann ich das nicht lassen.

                        Es frustet mich sehr.

                        1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active @TH G last edited by arteck

                          @TH-G sagte in Adapter/Instanz neu starten lassen, wenn Status Gelb/Rot:

                          javascript.0 2020-05-29 16:54:58.983 info (29318) script.js.common.Neustart_nach_Fehler_Modbus: modbus Neustart
                          host.raspberrypi 2020-05-29 16:54:01.936 info Do not restart adapter system.adapter.modbus.1 because disabled or deleted

                          das verstehe ich nicht.. der macht den neustart aber die instanz soll nicht da sein ??
                          @AlCalzone ist da was besonders mit dem modbus ?? oder haben wir ein Problem mit 2 instanzen..

                          TH G AlCalzone 2 Replies Last reply Reply Quote 0
                          • TH G
                            TH G @arteck last edited by

                            @arteck @AlCalzone

                            Zur Info.

                            Ich habe gestern noch den RPI4 vom LAN getrennt und habe diesen per WLAN verbunden und auch damit das gleiche Problem mit dem Modbus.

                            Es kann also nach meiner Einschätzung nicht mehr an der Netzwerkschnittstelle liegen. Wenn das Problem nicht der Modbusadapter selbst ist oder ein anderes Softwareproblem, können eigentlich nur noch beide Wechselrichter defekt sein aber das wär schon sehr merkwürdig.

                            Habe nun auch ein Linuxupdate auf den allerneusten Stand durchgeführt ioBrocker ist bereits aktuell.

                            Ich bin nun leider drei Tage nicht da und kann erst am Montag wieder antworten und dann werde ich auch sehen was passiert ist und meine Frau soll einfach das Gerät alle paar Stunden aus und einschalten.

                            Danke für eure Hilfe und hoffentlich finden wir eine Lösung mit dem Skript, denn damit könnte ich leben.

                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer @arteck last edited by

                              @arteck @TH-G Die Logs sind etwas wirr. Kann es sein, dass das Skript 2x getriggert wird? Ggf müsste die erste Zeile angepasst werden, dass nur bei ack: true ausgelöst wird:

                              on({id: "modbus.1.info.connection", change: 'ne', val: false, ack: true}, () => {
                              
                              arteck 1 Reply Last reply Reply Quote 0
                              • arteck
                                arteck Developer Most Active @AlCalzone last edited by

                                @AlCalzone ne eigentlich nicht, da der nur bei einem Statuswechsel triggert .

                                also von true auf false.. aber nicht von false auf false

                                1 Reply Last reply Reply Quote 0
                                • TH G
                                  TH G last edited by TH G

                                  @AlCalzone @arteck

                                  Hallo,

                                  wieder da und ich konnte von unterwegs die Änderung durchführen aber hat leider nichts gebracht.

                                  Es ändert sich aber folgendes. Aus dem Grünen Punkt wird nun ein grauer und die Instanz steht auf Deaktiviert. Jetzt musste die Instanz nur noch neu gestartet werden.

                                  Hier nun der Log:

                                  host.raspberrypi 2020-06-02 00:06:33.268 info instance system.adapter.modbus.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                                  modbus.1 2020-06-02 00:06:32.775 info (6700) Got terminate signal TERMINATE_YOURSELF
                                  host.raspberrypi 2020-06-02 00:06:32.773 info stopInstance system.adapter.modbus.1 send kill signal
                                  host.raspberrypi 2020-06-02 00:06:32.772 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                                  modbus.1 2020-06-02 00:06:32.750 info (6700) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                  modbus.1 2020-06-02 00:06:32.748 info (6700) terminating
                                  modbus.1 2020-06-02 00:06:32.746 info (6700) Got terminate signal TERMINATE_YOURSELF
                                  host.raspberrypi 2020-06-02 00:06:32.738 info stopInstance system.adapter.modbus.1 send kill signal
                                  host.raspberrypi 2020-06-02 00:06:32.736 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                                  host.raspberrypi 2020-06-02 00:06:32.735 info "system.adapter.modbus.1" disabled
                                  modbus.1 2020-06-02 00:06:32.721 info (6700) Connected to slave 192.168.178.82
                                  modbus.1 2020-06-02 00:06:32.229 info (6700) starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.17.0, js-controller: 3.1.4
                                  host.raspberrypi 2020-06-02 00:06:31.103 info instance system.adapter.modbus.1 started with pid 6700
                                  host.raspberrypi 2020-06-02 00:06:31.063 info "system.adapter.modbus.1" enabled
                                  javascript.0 2020-06-02 00:06:31.036 info (1665) script.js.common.Neustart_nach_Fehler_Modbus: modbus Neustart
                                  host.raspberrypi 2020-06-02 00:05:31.591 info instance system.adapter.modbus.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                                  modbus.1 2020-06-02 00:05:31.067 info (18891) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                  modbus.1 2020-06-02 00:05:31.066 info (18891) terminating
                                  modbus.1 2020-06-02 00:05:31.064 info (18891) Got terminate signal TERMINATE_YOURSELF
                                  host.raspberrypi 2020-06-02 00:05:31.060 info stopInstance system.adapter.modbus.1 send kill signal
                                  host.raspberrypi 2020-06-02 00:05:31.057 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                                  host.raspberrypi 2020-06-02 00:05:31.055 info "system.adapter.modbus.1" disabled
                                  modbus.1 2020-06-02 00:05:31.021 info (18891) Disconnected from slave 192.168.178.82
                                  modbus.1 2020-06-02 00:05:31.020 error (18891) Cannot write [40236]: {"errorCode":144,"exceptionCode":3,"message":"ILLEGAL DATA VALUE"}
                                  modbus.1 2020-06-02 00:05:30.636 info (18891) Connected to slave 192.168.178.82
                                  host.raspberrypi 2020-06-02 00:05:12.149 info instance system.adapter.luftdaten.0 terminated with code 0 (NO_ERROR)
                                  luftdaten.0 2020-06-02 00:05:11.624 info (6487) Terminated (NO_ERROR): Without reason
                                  host.raspberrypi 2020-06-02 00:05:07.367 info instance system.adapter.dwd.0 terminated with code 0 (NO_ERROR)
                                  dwd.0 2020-06-02 00:05:06.835 info (6509) Terminated (NO_ERROR): Without reason
                                  dwd.0 2020-06-02 00:05:05.909 info (6509) starting. Version 2.4.9 in /opt/iobroker/node_modules/iobroker.dwd, node: v12.17.0, js-controller: 3.1.4
                                  host.raspberrypi 2020-06-02 00:05:04.092 info instance system.adapter.dwd.0 started with pid 6509
                                  luftdaten.0 2020-06-02 00:05:01.545 info (6487) starting. Version 0.0.15 in /opt/iobroker/node_modules/iobroker.luftdaten, node: v12.17.0, js-controller: 3.1.4
                                  host.raspberrypi 2020-06-02 00:05:00.061 info instance system.adapter.luftdaten.0 started with pid 6487
                                  javascript.0 2020-06-02 00:04:50.908 info (1665) script.js.common.Neustart_nach_Fehler_Modbus: registered 1 subscription and 0 schedules
                                  javascript.0 2020-06-02 00:04:50.850 info (1665) Start javascript script.js.common.Neustart_nach_Fehler_Modbus
                                  modbus.1 2020-06-02 00:04:30.643 warn (18891) On error: {"code":"ERR_STREAM_WRITE_AFTER_END"}
                                  modbus.1 2020-06-02 00:04:30.642 error (18891) Client in error state.
                                  modbus.1 2020-06-02 00:04:30.641 error (18891) Socket Error

                                  AlCalzone 1 Reply Last reply Reply Quote 0
                                  • AlCalzone
                                    AlCalzone Developer @TH G last edited by

                                    @TH-G Ok jetzt noch eine Kleinigkeit. Der Adapter setzt info.connection beim Start auf false. Diese Änderung müssen wir ignorieren. Ich bin nicht sicher ob das oben die letzte, aktuelle Version war. Aber so in etwa müsste es dann aussehen:

                                    let ignore = false;
                                    
                                    on({ id: "modbus.1.info.connection", change: "ne", val: false }, () => {
                                      if (ignore) {
                                        // Nur 1x ignorieren, damit wir den nächsten Hänger mitbekommen
                                        ignore = false;
                                        return;
                                      }
                                    
                                      const instanceObj = getObject("system.adapter.modbus.1");
                                      instanceObj.common.enabled = false; // Adapter anschalten sicher ist das
                                    
                                      log("modbus deaktiviert");
                                      setObject("system.adapter.modbus.1", instanceObj, function (err) {
                                        if (err) log("Cannot write object: " + err);
                                      });
                                    
                                      // warte ne minute dann mach wieder an
                                      setTimeout(function () {
                                        log("modbus wieder aktiviert");
                                        // Nächsten Trigger ignorieren
                                        ignore = true;
                                    
                                        instanceObj.common.enabled = true; // Adapter anschalten
                                        setObject("system.adapter.modbus.1", instanceObj, function (err) {
                                          if (err) log("Cannot write object: " + err);
                                        });
                                    
                                        // Zur Sicherheit nach 15 Sekunden nicht mehr ignorieren
                                        setTimeout(() => {
                                          ignore = false;
                                        }, 15000);
                                      }, 60000);
                                    });
                                    
                                    TH G 1 Reply Last reply Reply Quote 0
                                    • TH G
                                      TH G @AlCalzone last edited by TH G

                                      @AlCalzone @arteck

                                      Fehler ist wieder aufgetreten und das Skript hat nun perfekt funktioniert

                                      🙂

                                      DANKE

                                      modbus.1 2020-06-02 14:52:38.964 info (23726) Connected to slave 192.168.178.82
                                      modbus.1 2020-06-02 14:52:38.480 info (23726) starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v12.17.0, js-controller: 3.1.4
                                      modbus.1 2020-06-02 14:51:37.356 info (18246) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                      modbus.1 2020-06-02 14:51:37.354 info (18246) terminating
                                      modbus.1 2020-06-02 14:51:37.347 info (18246) Got terminate signal TERMINATE_YOURSELF
                                      modbus.1 2020-06-02 14:51:37.282 warn (18246) Poll error count: 1 code: {"err":"timeout"}
                                      modbus.1 2020-06-02 14:51:37.280 error (18246) Client in error state.
                                      modbus.1 2020-06-02 14:51:37.279 error (18246) Request timed out.
                                      modbus.1 2020-06-02 14:51:37.277 warn (18246) Error: undefined

                                      javascript.0 2020-06-02 14:52:37.306 info (1665) script.js.common.Neustart_nach_Fehler_Modbus: modbus wieder aktiviert
                                      javascript.0 2020-06-02 14:51:37.300 info (1665) script.js.common.Neustart_nach_Fehler_Modbus: modbus deaktiviert

                                      host.raspberrypi 2020-06-02 14:52:37.340 info "system.adapter.modbus.1" enabled
                                      host.raspberrypi 2020-06-02 14:51:37.885 info instance system.adapter.modbus.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
                                      host.raspberrypi 2020-06-02 14:51:37.340 info stopInstance system.adapter.modbus.1 send kill signal
                                      host.raspberrypi 2020-06-02 14:51:37.336 info stopInstance system.adapter.modbus.1 (force=false, process=true)
                                      host.raspberrypi 2020-06-02 14:51:37.332 info "system.adapter.modbus.1" disabled

                                      AlCalzone 1 Reply Last reply Reply Quote 1
                                      • AlCalzone
                                        AlCalzone Developer @TH G last edited by

                                        @TH-G Wenn das alles so schnell geht, kannst du ggf. auch die Timeouts runtersetzen, z.B. 60000 -> 10000 und 15000 -> 5000 (oder 3000)

                                        TH G 1 Reply Last reply Reply Quote 0
                                        • TH G
                                          TH G @AlCalzone last edited by

                                          @AlCalzone

                                          Kurze Rückinfo.

                                          Läuft alles stabil mit deinem Skript. Es gibt nur einen Schönheitsfehler. Wenn ioBrocker oder der RPI neu gestartet werden, verhindert das Skript, dass der Modbus Adapter gestartet wird. Ich muss dann erst das Skript abschalten, dann kann der Adapter gestartet werden und erst danach wieder das Skript.

                                          Das ist leider nicht so schön.

                                          Nach dem Update auf die aktuelle JS Version habe ich wieder sehr oft Ausfälle vom Adapter. Diesen Eindruck hatte ich schon länger, dass nicht (nur) mögliche Netzwerkprobleme dieses Problem verursachen sondern auch iobroker damit zu tun hat.

                                          AlCalzone 1 Reply Last reply Reply Quote 0
                                          • AlCalzone
                                            AlCalzone Developer @TH G last edited by

                                            @TH-G Versuche mal folgendes:
                                            In obigem Skript zwischen Zeile 1 und 3 folgendes einfügen:

                                            // Beim Start des Adapters nicht reagieren, wenn dieser nach dem Skript gestartet wird.
                                            if (!getState("system.adapter.modbus.1.alive").val) {
                                                ignore = true;
                                            }
                                            
                                            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

                                            427
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            neustart adapter error
                                            3
                                            28
                                            4755
                                            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