Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test js-controller v2.0.x (GitHub)

    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

    Test js-controller v2.0.x (GitHub)

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @e-s last edited by

      @e-s das ist nicht sei neuestem. Und auch keine Ahnung woher das kommt. Sollte an sich nie vorkommen. Aber ... naja

      Ich hab gerade keine Idee wie man das absichern soll. Vor allem weil das keine Standard Dinge sein können. Irgendwas ist also bei denen vermurkst und das zu fixen ist ggf bei jedem anders

      1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @apollon77 last edited by

        @apollon77 was heisst Fakten machen.
        Ich sehe nur den Vergleich zu vorher, sprich bei js-controller1.5.x
        was nun richtig oder falsch bzw zu wenig oder zuviel geloggt wird, kann ich schlecht beurteilen, denn das was geloggt wird, kommt ja vom controller.
        admin log und logfile stimmen fast überein, also kaum Unterschiede.
        als Beispiel
        schalte ich das Licht irgendwo ein/aus, war das im log sichtbar, bzw
        generell irgend eine aktion die per skript erfolgte wurde im log angezeigt.

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

          @crunchip hhhaaaaaa. Skripte. Hast du ggf JavaScript 4.3.0 installiert die Tage und nutzt dort log(„Info“,...) oder so? Wenn ja istvder scheinbar was im JavaScript Adapter. Issue gibts schon. Kann das sein?

          Mit Fakten machen meinte ich genau das. Was fehlt denn was da sein sollte.

          crunchip 1 Reply Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @apollon77 last edited by crunchip

            @apollon77 ja habe 4.3.0
            ja daran hatte ich nicht gedacht, da z.b. das Anwesenheitsskript mir die Ausgabe im log anzeigt, das Lichterzählenskript wieder nicht mehr.
            sowas wird nicht mehr angezeigt
            75f51992-86c6-42a8-8577-aa6571ec9a11-image.png

            apollon77 2 Replies Last reply Reply Quote 0
            • apollon77
              apollon77 @crunchip last edited by

              @crunchip siehe issue, scheinbar kommt’s drauf an wie du loggst 😉

              1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active @apollon77 last edited by

                @apollon77 sagte in [Aufruf] js-controller 2.0 Beta Test:

                Bei früheren controllern wurden zB immer die "info" Meldungen bei Adapterstarts an Admin weitergegeben und auch so teilweise obwhl ein anderrr Loglevel war. Das ist jetzt auch "gefixt".

                verstehe ich jetzt so, das wenn z.b der Adapter daswetter per cron neu startet, es nicht mehr angezeigt werden soll im log, ist das richtig?
                habe alles Adapter mit cron auf logstufe warn, bekomme aber trotzdem die Meldungen
                2791edf8-c88d-475f-aefd-cbfb26574b0c-image.png

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

                  @crunchip meldungen vom Host (wie da zu sehen) werden nach dem Loglevel des Hosts geloggt ... und das steht bei dir auf info also kommen die noch. Die Adapter geben selbst noch ein "starting" aus ... das wäre weg

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

                    @crunchip Naja wie ist der Log Befehl im Skript wenns fehlt?

                    crunchip 1 Reply Last reply Reply Quote 0
                    • crunchip
                      crunchip Forum Testing Most Active @apollon77 last edited by

                      @apollon77

                      var logging = true;
                      
                      var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
                      idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
                      idText = 'javascript.0.Status.Lichter.Text',
                      idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
                      idAnsage = 'javascript.0.Status.Lichter.Ansage';
                      
                      // Ab hier nix mehr ändern
                      createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                      type: 'number',
                      name: 'Anzahl aller Lichter',
                      min: 0,
                      def: 0,
                      role: 'value'
                      });
                      createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
                      type: 'number',
                      name: 'Anzahl der eingeschalteten Lichter',
                      min: 0,
                      def: 0,
                      role: 'value'
                      });
                      createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                      type: 'string',
                      name: 'Eingeschaltete Lichter',
                      desc: 'Namen der eingeschalteten Lichter',
                      def: ' ',
                      role: 'value'
                      });
                      createState(idAnsage, {
                      type: 'string',
                      name: 'Eingeschaltete Lichter (Ansage)',
                      desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
                      def: ' ',
                      role: 'value'
                      });
                      createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                      type: 'string',
                      name: 'Räume mit eingeschalteten Lichter',
                      desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                      def: ' ',
                      role: 'value'
                      });
                      
                      var cacheSelectorState = $('channel[state.id=*.STATE](functions="licht")'); // Gewerk licht
                      var cacheSelectorLevel = $('channel[state.id=*.level](functions="licht")');
                      var cacheSelectorPOWER = $('state[id=*.POWER](functions="licht")'); // Sonoff
                      var cacheSelectorSwitch = $('state[id=*.Switch](functions="licht")'); // Shelly
                      var cacheSelectorMi = $('state[id=*.state](functions=licht)'); //Mi-Light
                      
                      function checkDevices(obj) {
                      // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk licht auf 0
                      var anzahlLichterAn = 0;
                      var anzahlLichter = 0;
                      var textLichterAn = [];
                      var textRaum = [];
                      
                      if (logging) {
                      log('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }
                      cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Licht
                      var obj = getObject(id);
                      var name = getObject(id).common.name;
                      var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                      var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      
                      // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                      // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                      /*
                      if (logging) {
                      log('-------');
                      log('Kanal: ' + name);
                      log('Status: ' + status); 
                      }
                      */
                      
                      if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                      ++anzahlLichterAn; 
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      textRaum.push(raumname.enumNames); // <---- NEU
                      }
                      ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                      // } // ENDE VK-Abfrage
                      
                      });
                      
                      
                      if (logging) log('#### DIMMER ##### ');
                      cacheSelectorLevel.each(function (id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
                      var obj = getObject(id);
                      var name = getObject(id).common.name;
                      var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
                      var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                      // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                      /*
                      if (logging) {
                      log('-------');
                      log('Kanal: ' + name);
                      log('Status: ' + status + '%'); 
                      }
                      */
                      
                      if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                      ++anzahlLichterAn; 
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      textRaum.push(raumname.enumNames); // <---- NEU
                      }
                      ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                      // } // Ende Abfrage VK 
                      
                      }); 
                      
                      if (logging) {
                      log('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }
                      cacheSelectorPOWER.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
                      var obj = getObject(id);
                      var name = getObject(id).common.name;
                      var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                      var devicename = name.substring(0, name.indexOf("POWER")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      
                      // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                      // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                      /*
                      if (logging) {
                      log('-------');
                      log('Kanal: ' + name);
                      log('Status: ' + status); 
                      }
                      */
                      
                      if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                      ++anzahlLichterAn; 
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      textRaum.push(raumname.enumNames); // <---- NEU
                      }
                      ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                      // } // ENDE VK-Abfrage
                      
                      });
                      
                      if (logging) {
                      log('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }
                      cacheSelectorSwitch.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
                      var obj = getObject(id);
                      var name = getObject(id).common.name;
                      var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                      var devicename = name;
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                      // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                      /*
                      if (logging) {
                      log('-------');
                      log('Kanal: ' + name);
                      log('Status: ' + status); 
                      }
                      */
                      
                      if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                      ++anzahlLichterAn; 
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      textRaum.push(raumname.enumNames); // <---- NEU
                      }
                      ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                      // } // ENDE VK-Abfrage
                      });
                      
                      
                      
                      if (logging) {
                      log('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }
                      cacheSelectorMi.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
                      var obj = getObject(id);
                      var name = getObject(id).common.name;
                      var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                      var devicename = name.substring(0, name.indexOf(" Switch ON/OFF")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                      // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                      /*
                      if (logging) {
                      log('-------');
                      log('Kanal: ' + name);
                      log('Status: ' + status); 
                      }
                      */
                      
                      if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
                      ++anzahlLichterAn; 
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      textRaum.push(raumname.enumNames); // <---- NEU
                      }
                      ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                      // } // ENDE VK-Abfrage
                      });
                      
                      // Array mit Lichternamen sortieren
                      textLichterAn.sort();
                      textRaum.sort(); // <---- NEU
                      // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                      if (logging) log("Text: " + textLichterAn);
                      if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
                      // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                      setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                      setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                      setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                      // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
                      setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
                      }
                      
                      // Trigger
                      cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
                      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      checkDevices();
                      });
                      cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk licht
                      if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      checkDevices();
                      });
                      cacheSelectorPOWER.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
                      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      checkDevices();
                      });
                      cacheSelectorSwitch.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
                      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      checkDevices();
                      });
                      cacheSelectorMi.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
                      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      checkDevices();
                      });
                      function main() {
                      setTimeout(function(){
                      if (logging) log('Auslöser Skriptstart');
                      checkDevices();
                      }, 2000);
                      }
                      
                      main(); // Skriptstart-Auslöser
                      
                      // Aufbereitung für Ansage
                      function strip_tags(data) {
                      var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
                      return(rueckgabe);
                      }
                      
                      on(idText, function (obj) {
                      var text = obj.state.val;
                      text = (getState(idAnzahl).val > 0 ) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter ausgeschaltet';
                      setState(idAnsage, text);
                      });
                      
                      apollon77 1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @crunchip last edited by

                        @crunchip passt denke ich zum javascript issue 😉

                        crunchip 1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 last edited by

                          2.0.29 kommt jetzt demnächst ins Latest ... geht dann wieder dort weiter sobald es draussen ist ...

                          1 Reply Last reply Reply Quote 0
                          • crunchip
                            crunchip Forum Testing Most Active @apollon77 last edited by

                            @apollon77 alles klar, dann wart ich mal ab

                            ansonsten läuft nun alles zur vollen Zufriedenheit----bis jetzt😁

                            KLASSE ARBEIT👍

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

                              Hi, habe auch mal upgedatet. Alles sofort geklappt. Mir fällt nur auf, dass ich unter den Objekten welche mittels Historie oder statistics mitlogge nicht mehr deaktivieren kann. Also die Maulschlüssel öffnen ganz normal die Einstellungen.Der Haken aktiv lässt sich auch ohne weiteres deaktiviern nur beim Speichern werden Änderungen nicht übernommen.

                              Systemdaten:

                               ioBroker-Rock
                              
                                  Typ: js-controller
                                  Titel: JS controller
                                  OS: linux
                                  Verfügbar: 2.0.29
                                  Eingerichtet: 2.0.29
                                  Ereignisse: ⇥24 / ↦13
                              
                              
                              
                              ioBroker-Rock
                              
                              Betriebssystem
                                  linux
                              Architektur
                                  arm64
                              CPUs
                                  4
                              Geschwindigkeit
                                  1296 MHz
                              Modell
                                  unknown
                              RAM
                                  3.9 GB
                              System Betriebszeit
                                  2 T. 18:38:11
                              Node.js
                                  v10.16.3
                              NPM
                                  6.9.0
                              Festplatte Größe
                                  56.1 GB
                              Festplatte frei
                                  47.85 GB
                              Anzahl der Adapter
                                  293
                              Betriebszeit
                                  00:11:12
                              Aktive Instanzen
                                  22
                              Hostname
                                  ioBroker-Rock
                              

                              das hier taucht auch im log auf.Nach neustart..
                              Error 2019-10-14 17:46:22.010 warn from InMemDB: Error: Unknown Script 47ca5e051ba19850d94c45a1fc8725ff04ae868f
                              Error 2019-10-14 17:46:22.007 warn from InMemDB: Error: Unknown Script 47ca5e051ba19850d94c45a1fc8725ff04ae868f

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

                                @smartboart Die Scripts Fehler könnten kommen wenn Du verschiedene Versionen laufen hast (Master/Slave ode rso) . Kann dass sein? Ggf bitte nochmal neu starten. Ich arbeite noch an einer nächsten version die da Dinge noch fixt.

                                Das andere mit Custom ich ansehen. Ist aktuell nicht bekannt. Kann es noch jemand nachvollziehen?

                                smartboart 2 Replies Last reply Reply Quote 0
                                • smartboart
                                  smartboart @apollon77 last edited by smartboart

                                  @apollon77
                                  ja hab nen multihost system, aber beide hochgezogen...
                                  Beides neu gestartet, der Skript Fehler ist aber immernoch im log..

                                  Der tauchte auch im master bei iobroker upgrade self im Anschluss auf. Das Upgrade ging erst beim 2 mal durch.. Hatte vorher das vorletzte releas drauf 2.0.25, was ohne Probleme zu installieren war..
                                  Unbenannt.JPG

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

                                    @apollon77
                                    hallo, hatte vorher nur states auf redis..Hab jetzt auch file auf redis umgestellt. Im Anschluss waren meine oben beschriebenen Fehler beseitigt.. Falls die Info hilfreich ist. Danke für eure tolle Arbeit!

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

                                      Bei Adapter Updates habe ich folgende Gyp Fehler im Log.. oben wurde beschrieben es hat hier mit dem js controller nix zu tun . Meine Python Installation meldet bei
                                      apt-get install python-dev allerdings dass alles aktuell ist und nichts upzudaten wäre.. Die fehler haben keine Auswirkungen. mich würde trotzdem interessieren was die Ursache dafür ist...


                                      host.ioBroker-Rock 2019-10-14 19:39:11.291 info iobroker ERR! not ok
                                      host.ioBroker-Rock 2019-10-14 19:39:11.289 info iobroker gyp
                                      host.ioBroker-Rock 2019-10-14 19:39:11.277 info iobroker v3.8.0
                                      host.ioBroker-Rock 2019-10-14 19:39:11.274 info iobroker node -v v10.16.3gyp ERR! node-gyp -v
                                      host.ioBroker-Rock 2019-10-14 19:39:11.271 info iobroker cwd /opt/iobroker/node_modules/utf-8-validategyp ERR!
                                      host.ioBroker-Rock 2019-10-14 19:39:11.269 info iobroker ERR!
                                      host.ioBroker-Rock 2019-10-14 19:39:11.266 info iobroker "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp
                                      host.ioBroker-Rock 2019-10-14 19:39:11.264 info iobroker ERR! command
                                      host.ioBroker-Rock 2019-10-14 19:39:11.261 info iobroker gyp
                                      host.ioBroker-Rock 2019-10-14 19:39:11.258 info iobroker at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.Child
                                      host.ioBroker-Rock 2019-10-14 19:39:11.256 info iobroker stack
                                      host.ioBroker-Rock 2019-10-14 19:39:11.253 info iobroker ERR!
                                      host.ioBroker-Rock 2019-10-14 19:39:11.251 info iobroker Error: make failed with exit code: 2gyp
                                      host.ioBroker-Rock 2019-10-14 19:39:11.248 info iobroker stack
                                      host.ioBroker-Rock 2019-10-14 19:39:11.246 info iobroker ERR!
                                      host.ioBroker-Rock 2019-10-14 19:39:11.243 info iobroker gyp
                                      host.ioBroker-Rock 2019-10-14 19:39:11.240 info iobroker build error
                                      host.ioBroker-Rock 2019-10-14 19:39:11.238 info iobroker ERR!
                                      host.ioBroker-Rock 2019-10-14 19:39:11.236 info iobroker
                                      host.ioBroker-Rock 2019-10-14 19:39:11.233 info iobroker gyp

                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • Chaot
                                        Chaot last edited by

                                        Den ersten Härtetest hat das System heute schon hinter sich.
                                        Stromausfall und die USV war abgeschaltet 😵 weil ich den Batteriepack mit zur Arbeit hatte zum Austausch.
                                        Nach 30 Minuten fährt das System wieder hoch als wäre nichts geschehen. 😊

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

                                          @smartboart mehr log bitte

                                          smartboart 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 last edited by

                                            Hallo nochmals ich,

                                            ich habe mit das Reconnection Handling nochmal angesehen, weil es anders war wie gewollt.
                                            Die 2.0.30 auf GitHub hat das umgebaut.

                                            Ich wäre hier nochmal froh wenn Ihr checken könntet. Vor allem interessant ist das Verhalten von Slaves wenn der Master weg ist bzw. das verhalten des Gesamtsystems bei Redis-Nutzung wenn Redis weg ist.
                                            Mit der 2.0.30 wird bis zu ca. 40s versucht die Verbindung wieder herzustellen. Wenn das gelingt kommt das ganze ohne Restarts aus und auch aufgelaufene Datenänderungen (zB setState oder Infos zu State-Änderungen) werden nachgespielt.
                                            Wenn es länger braucht beenden sich die Adapter wie bisher und alles wartet das die DB wieder da ist.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            829
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller
                                            48
                                            1047
                                            253148
                                            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