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.
    • 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

                          431
                          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