Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JavaScript Adapter startet ständig neu

    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

    JavaScript Adapter startet ständig neu

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ticaki Developer @mike2712 last edited by ticaki

      @mike2712

      ich meine sowas:

      host.iobroker
      2023-07-27 20:20:57.514	error	instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
      host.iobroker
      2023-07-27 20:20:57.514	error	Caught by controller[1]: State "bal" not found
      host.iobroker
      2023-07-27 20:20:57.513	error	Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
      
      javascript.0
      2023-07-27 20:20:57.470	info	terminating
      
      javascript.0
      2023-07-27 20:20:56.976	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
      
      javascript.0
      2023-07-27 20:20:56.976	info	terminating
      
      javascript.0
      

      hab ihn abstürzen lassen

      Mir ist bekannt das du den Adapter mit

      await systemfunction(baue mist)
      while
      for
      

      zum "Absturz" bringen kannst, überprüfe mal deine Skripte... Aber da sollte doch überall ne Fehlermeldung kommen

      M 1 Reply Last reply Reply Quote 0
      • M
        mike2712 @arteck last edited by

        @ticaki
        @arteck schade, diesen Beitrag mit dem angepassten Wert auf 300 hatte ich erst jetzt gelesen, denke ich habe das Script mit Hilfe von flowchart Aufzeichnungen lokalisiert, der folgende Trend der stark schwankend ist, ist von der 2. Instanz, in der dann letztendlich nur noch 4 kleine Scripts liefen, diese dann einzeln pausiert kommt das unten aufgeführte Blocky als Verursacher zum tragen, Warum? Was habe ich dort falsch gemacht, verstanden oder falsch kopiert?
        7b9cbb46-6519-46e3-b0fc-c94fae6ebff9-image.png

        f38120cb-adb6-4d8b-8804-08b58d8f7d45-image.png

        T 1 Reply Last reply Reply Quote 0
        • T
          ticaki Developer @mike2712 last edited by ticaki

          @mike2712
          poste es bitte auch als Javascript, dann sehe ich was i ist

          M 1 Reply Last reply Reply Quote 0
          • M
            mike2712 @ticaki last edited by

            @ticaki beim Absturz selbst wird nichts im Log geschrieben, das Script was ich jetzt aufgrund der CPU Last (Vorheriger Beitrag) im Verdacht habe zeigt keinen Fehler beim Starten. Das komische ist, obwohl im Host stand "terminated by request oft the instance itself.... wird nicht alleine neugestartet, ist es aber immer wieder, der Apadter war rot, startete nach einger Zeit aber neu.

            13:44:21.224	info	javascript.0 (6892) Stop script script.js.Allgemein.Functions.CounterBeleuchtungDeko
            13:44:21.900	info	javascript.1 (5510) Start javascript script.js.Allgemein.Functions.CounterBeleuchtungDeko
            13:44:22.101	info	javascript.1 (5510) script.js.Allgemein.Functions.CounterBeleuchtungDeko: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            20:12:35.000	info	javascript.1 (5510) Stop script script.js.Allgemein.Functions.CounterBeleuchtungDeko
            20:15:41.839	info	javascript.1 (5510) Start javascript script.js.Allgemein.Functions.CounterBeleuchtungDeko
            20:15:41.893	info	javascript.1 (5510) script.js.Allgemein.Functions.CounterBeleuchtungDeko: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            20:19:34.906	info	javascript.1 (5510) Stop script script.js.Allgemein.Functions.CounterBeleuchtungDeko
            20:29:00.867	info	javascript.1 (5510) Start javascript script.js.Allgemein.Functions.CounterBeleuchtungDeko
            20:29:00.948	info	javascript.1 (5510) script.js.Allgemein.Functions.CounterBeleuchtungDeko: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            
            1 Reply Last reply Reply Quote 0
            • M
              mike2712 @ticaki last edited by

              @ticaki
              hier als Javascript

              var x, i;
              
              
              // Script.CounterBeleuchtungDeko
              createState('Script.CounterBeleuchtungDeko', 0, JSON.parse('{"type":"number","unit":"","min":0,"max":100}'), async () => {
                // Beleuchtung Deko zählen
                on({ id: [].concat(Array.prototype.slice.apply($('state[id=*](functions=BeleuchtungDeko)'))), change: 'ne'  }, async (obj) => {
                  let value = obj.state.val;
                  let oldValue = obj.oldState.val;
                  x = 0;
                  var i_list = Array.prototype.slice.apply($('state[id=*STATE](functions=BeleuchtungDeko)'));
                  for (var i_index in i_list) {
                    i = i_list[i_index];
                    if (getState(i).val) {
                      x = (typeof x === 'number' ? x : 0) + 1;
                    }
                  }
                  var i_list2 = Array.prototype.slice.apply($('state[id=*state](functions=BeleuchtungDeko)'));
                  for (var i_index2 in i_list2) {
                    i = i_list2[i_index2];
                    if (getState(i).val) {
                      x = (typeof x === 'number' ? x : 0) + 1;
                    }
                  }
                  var i_list3 = Array.prototype.slice.apply($('state[id=*LEVEL](functions=BeleuchtungDeko)'));
                  for (var i_index3 in i_list3) {
                    i = i_list3[i_index3];
                    if (getState(i).val) {
                      x = (typeof x === 'number' ? x : 0) + 1;
                    }
                  }
                  var i_list4 = Array.prototype.slice.apply($('state[id=*POWER](functions=BeleuchtungDeko)'));
                  for (var i_index4 in i_list4) {
                    i = i_list4[i_index4];
                    if (getState(i).val) {
                      x = (typeof x === 'number' ? x : 0) + 1;
                    }
                  }
                  setStateDelayed('Script.CounterBeleuchtungDeko', x, false, parseInt(((0) || '').toString(), 10), false);
                });
              });
              
              //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyKGhIcl9hZTRuQXlxa0NsJTJGUVgqdyUyMiUzRXglM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjI5c2wlNDAlN0JWUSUyRmFtcmR+WlRCJTdEZSUyRk8lMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJKJTI0JTJCNVdEUGw4VWxONVlLQjZQd3ElMjIlMjB4JTNEJTIyLTE4NyUyMiUyMHklM0QlMjItOTg4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVNjcmlwdC5Db3VudGVyQmVsZXVjaHR1bmdEZWtvJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY3JlYXRlJTIyJTIwaWQlM0QlMjJhaHglMkNZTGUlMkY3VGFYViUyQnVBVyU3QiEtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRVNjcmlwdC5Db3VudGVyQmVsZXVjaHR1bmdEZWtvJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJiYyUzRHJzdyUyQkVSRU0lM0JpLmF2cDYoViUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJDT01NT04lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJxJTdEJTNEb3haNCUzRFpESlYlNUUzUSUzQiUzRjMqZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlN0IlMjJ0eXBlJTIyJTNBJTIybnVtYmVyJTIyJTJDJTIydW5pdCUyMiUzQSUyMiUyMiUyQyUyMm1pbiUyMiUzQTAlMkMlMjJtYXglMjIlM0ExMDAlN0QlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyJTIzITJULXJDQSUyRmJUSW1DJTNBMnVsM3MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFQmVsZXVjaHR1bmclMjBEZWtvJTIweiVDMyVBNGhsZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMlBwY1BIdSUyQkNBJTNGcGUlNURwLUElM0IlN0MlMkNuJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMjApMHNwJTI0STFjY2ZtJTI1NFNkZS1tVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWRlZmF1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNlbGVjdG9yJTIyJTIwaWQlM0QlMjJ1ekMlN0J0JTNBVFJKRGhJKXNzJTYwcmMlMjQlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRColNUQoZnVuY3Rpb25zJTNEQmVsZXVjaHR1bmdEZWtvKSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJRMU4lNDBVM350NDRhKTFQKjJrZyU1Qk8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMihoSHJfYWU0bkF5cWtDbCUyRlFYKnclMjIlM0V4JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJTJTVFQlI2LkxOajN4KEwlMjNWYXF3ajYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMnVjYiUzQXNONFhGS0NlSiUyNHMqKmtzMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOXNsJTQwJTdCVlElMkZhbXJkflpUQiU3RGUlMkZPJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTElTVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNlbGVjdG9yJTIyJTIwaWQlM0QlMjJsJTNBOUFjZSU1Qi5HM2RSUDl1OFYwRlIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCpTVEFURSU1RChmdW5jdGlvbnMlM0RCZWxldWNodHVuZ0Rla28pJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMk00RSU1RFBLJTQwMyUyRkxfSFY1OVklMkNOWW4lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjItUld3JTNEVyUyM1Rfek1aRChsLkM4dCElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIySi4lMkN1Q0QlNURUcSUzQm1vOVVUQkdiJTNGJTdEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyOXAlMkI5TlZ6M3JGJTNBU1RsNTMlMjVpJTYwMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOXNsJTQwJTdCVlElMkZhbXJkflpUQiU3RGUlMkZPJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9jaGFuZ2UlMjIlMjBpZCUzRCUyMiUzRDQlM0EqbyUzQWVoNS1FVTZJWGRFZGNJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIoaEhyX2FlNG5BeXFrQ2wlMkZRWCp3JTIyJTNFeCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUyQ20lN0JyQWI0alglMjMyN0hzRU9EZjYlMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfZm9yRWFjaCUyMiUyMGlkJTNEJTIyYzRCcmZuRSklN0IlN0N3JTYwSCUyM0poJTdDQVF5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5c2wlNDAlN0JWUSUyRmFtcmR+WlRCJTdEZSUyRk8lMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMjElM0YlM0QzQV8pdzMlM0RHQ08tUHFYMy43JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0Qqc3RhdGUlNUQoZnVuY3Rpb25zJTNEQmVsZXVjaHR1bmdEZWtvKSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJuRE5VOVVtKTclN0RtWTg2U0VTck5KJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyRjUpTk5BQ1RrJTI0JTI0cWVIZjdxaVVNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzRlVkJTVCUiUyQiUyNVEqMTUlNUVVZyFoTUMzQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiU3QlltVnpGa0RfJTI1JTVEJTNGUlAlMkIyNkolM0JTJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5c2wlNDAlN0JWUSUyRmFtcmR+WlRCJTdEZSUyRk8lMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2NoYW5nZSUyMiUyMGlkJTNEJTIyWVdtJTIzdlU2N3JfJTdDQ1QwN0p1NSo3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIoaEhyX2FlNG5BeXFrQ2wlMkZRWCp3JTIyJTNFeCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnhuU0Y2YiUyNVklNjA3JTYwQ1dCJTNEIUUlM0RVSyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJlJTNCLkIuNjhPRVZpOUglMjNFcE9waEclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjlzbCU0MCU3QlZRJTJGYW1yZH5aVEIlN0RlJTJGTyUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZWxlY3RvciUyMiUyMGlkJTNEJTIyTiUzQXpqKHMyeldmbyUyQyUyRnQpcnZNYUglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCpMRVZFTCU1RChmdW5jdGlvbnMlM0RCZWxldWNodHVuZ0Rla28pJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMmZsMmlnLSUyQmdESSU3RHdqRighJTdDU3BwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyV0tzeGJ1JTJDRVF0cGNVMk0wRzBJbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJiNiUyNCU1RCU1Qk04JTNBJTI1JTVFQnFtT0ElN0Q3dSU3QyU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiU2MFglMkNQZGNhRmZrV3g3bEJIRGFoXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOXNsJTQwJTdCVlElMkZhbXJkflpUQiU3RGUlMkZPJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9jaGFuZ2UlMjIlMjBpZCUzRCUyMlViSS5aU0VNIVUlM0IlNjAqJTVCQyUyNDJHa2YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMihoSHJfYWU0bkF5cWtDbCUyRlFYKnclMjIlM0V4JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxUQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyOSUzRDRsX1pZd2QlNjA3JTVEdDFjJTNGJTI1dndXJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMiU0MG8tejJhTFI0JTJDdm8oMUklMkMpJTIzLTglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjlzbCU0MCU3QlZRJTJGYW1yZH5aVEIlN0RlJTJGTyUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZWxlY3RvciUyMiUyMGlkJTNEJTIyT2xRJTJCblElMkMlNURRRjRFJTNBRH42QWhqOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VzdGF0ZSU1QmlkJTNEKlBPV0VSJTVEKGZ1bmN0aW9ucyUzREJlbGV1Y2h0dW5nRGVrbyklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIycTVaJTdEYyUyQlVYeTJFNlFBJTI1JTdDJTIzTEI3JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIySSU3RCUzRGktTEglNUJGTEFlNCUyM0QqSFB2dSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJtKSUyRkElNUI1eCU0MCFUend3dUxiZWJ4OCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmdoViUyRkMqWDcuKFYhMElGZGklNDBHeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOXNsJTQwJTdCVlElMkZhbXJkflpUQiU3RGUlMkZPJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9jaGFuZ2UlMjIlMjBpZCUzRCUyMn4lN0JGSiUzQjQlM0FOJTJGJTJDbkQlNUJyd3dTMnNMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIoaEhyX2FlNG5BeXFrQ2wlMkZRWCp3JTIyJTNFeCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMk4lMkNQUSUyM09BTSElN0RsT0NuQWElMkZFaCU2MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sX2V4JTIyJTIwaWQlM0QlMjIlN0J+Qi1kWUshLTBFJTJDMDchdGl+SW4lMjIlMjBpbmxpbmUlM0QlMjJ0cnVlJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMjglNDBDaWRVJTJDaVpKWSU1QiU3Q3g5JTJCWmU0dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRU9iamVjdCUyMElEJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJiJTNBQjAlNUUwJTVEaE1nbzFnWCUzQW15U1RpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNjcmlwdC5Db3VudGVyQmVsZXVjaHR1bmdEZWtvJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTIzJTI0NlglN0RHeC0lM0ElMjQoUUlDYnBEJTNBeC4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyckxncyUyM3IlMkJKMWU0U1gqdCUzQnolM0RnRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyKGhIcl9hZTRuQXlxa0NsJTJGUVgqdyUyMiUzRXglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTVCT3NWMCUyMzBXJTIzfiUyQkFvT0NBcyUzRCU0MHIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
              
              T 1 Reply Last reply Reply Quote 0
              • T
                ticaki Developer @mike2712 last edited by ticaki

                @mike2712
                Danke

                gehe ich recht in der Annahme das die Funktion BeleuchtungDeko dem ganzen Objektbaum unterhalb des jeweiligen geräts zu gewiesen wurde?

                Wenn das zutrifft sollte das hier abhilfe schaffen:

                Bildschirmfoto 2023-07-27 um 20.45.27.png

                Diese beiden Timeout bausteine entprellen deine Lampen und es gibt nicht mehr schreib vorgänge als max 1 pro Sekunde. Falls die jedoch nie zu ruhe kommen, wird garnichts geschrieben.

                M 1 Reply Last reply Reply Quote 0
                • M
                  mike2712 @ticaki last edited by mike2712

                  @ticaki
                  Folgende Geräte habe ich in die Funktion gezogen denke gerade drüber nach ob das überhaupt richtig ist, hätte ich das in einer Aufzählung anstatt Funktion machen müssen? Es ist aber nicht der ganze Objektbaum. Schreibvorgänge auf die Lampe gibt es doch gar nicht, eigentlich wollte ich nur zählen wieviele an sind, zum schalten habe ich dann ein anderes Script aus dem Netz was bei Trigger alles in der aufgelistetetn Funktion ausschaltet.

                  0de53126-2029-4f82-8776-7f6387402ac7-image.png

                  // -----------------------------------------------
                  // Variable
                  // -----------------------------------------------
                  
                  createState('Script.BeleuchtungDekoAus',false);
                  
                  var idTrigger = 'javascript.0.Script.BeleuchtungDekoAus'/*Licht-Aus*/;
                  
                  // -----------------------------------------------
                  // Trigger
                  // -----------------------------------------------
                  on(
                      {
                      id: idTrigger,
                      val: true
                      }, 
                  
                  // -----------------------------------------------
                  // Aktion
                  // -----------------------------------------------    
                      function (obj) 
                      {
                          var idx = 0;
                          var interval = 300;
                          
                          $('channel[state.id=*.STATE](functions=BeleuchtungDeko)').each(function(id,i) {
                              if (getState(id).val) setStateDelayed(id, false, (idx++) * interval); 
                          });
                           
                          $('channel[state.id=*.state](functions=BeleuchtungDeko)').each(function(id,i) {
                              if (getState(id).val) setStateDelayed(id, false, (idx++) * interval); 
                          });   
                          
                          $('channel[state.id=*.LEVEL](functions=BeleuchtungDeko)').each(function(id,i) {
                              if (getState(id).val > 0) setStateDelayed(id, 0, (idx++) * interval);
                          });
                      
                          $('channel[state.id=*.POWER](functions=BeleuchtungDeko)').each(function(id,i) {
                              if (getState(id).val > 0) setStateDelayed(id, 0, (idx++) * interval);
                          });
                      
                  
                  
                          setTimeout(function () {
                              setState(idTrigger, false, true);
                          }, 2000);
                          
                          log('Alle Schalter und Dimmer abgeschaltet');
                      }
                  );
                  
                  1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer last edited by

                    @mike2712 sagte in JavaScript Adapter startet ständig neu:

                    @ticaki
                    Folgende Geräte habe ich in die Funktion gezogen denke gerade drüber nach ob das überhaupt richtig ist, hätte ich das in einer Aufzählung anstatt Funktion machen müssen?

                    Aufzählung würde aber dann nie aktuell sein.

                    Das Problem ist das für jeden Wert, der sich in einer dieser Lampen ändert das Skript triggert, also auch für "Online seit" und "Volt" 🙂

                    Kopiere lieber die Zählselektoren und hefte sie an den Triggerblock, dann reagiert das Skript nur noch bei an/aus. Kannst den Triggerblock vergrößen so das mehr dran passt.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      mike2712 @ticaki last edited by mike2712

                      @ticaki meinst du das so?

                      Aber dann wäre der ganze Vorteil der Funktion weg, dann müsste ich jeweils an die Trigger anpassen wenn ich etwas in den Aufzählungen ändere, wenn steckdose 36 oder was auch immer zu DekoBeleuchtung gehören soll.

                      44c5d0b5-4844-4487-ae32-bc77294a5200-image.png

                      Update
                      so meinst du es, oder ?
                      a35c32d8-71ae-4257-8566-c42e4dd5c022-image.png

                      1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer last edited by ticaki

                        1. Version ja, genau

                        Edit: wenn du aber was an der Beleuchtungsdeko änderst musst du das Skript neustartet. Die listen aktualisieren sich nicht wärend des betriebs

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          mike2712 @ticaki last edited by

                          @ticaki super danke, ja das funktioniert auch, CPU Last bleibt nahezu konstant, puh ob man dann daran denkt das script neuzustarten, okay, wenns nicht funktioniert wird es mir bestimmt einfallen 🙂

                          Noch 2 kurze Fragen, bin gerade dabei alles ein wenig zu optimieren, weil iobroker meine QNAP CPU schon massiv auslastet mittlerweile, es ist ja in den Jahren auch immer mehr und mehr dazugekommen. aber alleine dieses fehlerhafte Script hatte schon massive auswirkungen auf den QNAP, ist das normal, vermutlich ja.

                          • ist es sinnvoller die scripte in 2 Instanzen aufzuteilen oder ist das Resourcen mässig ehr vom Nachteil, für die Fehlersuche war es jetzt hilfreich
                          • ich habe extrem viele anlage Werte (Stromverbrauch, PV Werte, Batterieladung / Batterentladung, etc.) die als Trigger benutzt werden zum Teil der selbe Datenpunkt an vielen verschiedenen Trigger, weil das Aufgeteilt ist zum Beispiel in verschiedenen Gruppen, PV-Erzeugung, Eigenverbrauch, Netzrückspeisung, da wird als Beispiel immer die aktuelle PV leistung benötigt, wie auch immer, kann man wie bei Aufzeichnungen eine Art Blockzeit mit angeben wie z.B. für die Trends? Oder welche Möglichkeiten der Optimierung gäbe an dieser Stelle, denke das benötigt schon viel Leistung aktuell in meinem System.

                          41669f2b-4e1e-4ecc-a80d-1a4c24e2b9d9-image.png

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @mike2712 last edited by ticaki

                            @mike2712
                            Wenn du terminal zugriff auf das QNAP hast und darauf linux läuft installiere dir htop und schaue es dir an

                            Bildschirmfoto 2023-07-27 um 22.03.22.png

                            Bei mir hat der shelly adapter rund das 4-fache der CPUzeit belegt im bezug auf den rest und der redis 4 mal mehr als shelly. 🙂 optimierungen an Skripten bringen nicht soviel, ausser bei einem wie diesem.

                            Ich würde Lesbarkeit der Optimierung vorziehen.

                            Du könntest dir über eine simple Javascriptfunktion ein Blockly bauen das dir Skripte restartet

                            startScript(varname)
                            

                            und bevor die Funktion aufrufst schreibst du den Skriptnamen in die Variable varname, die du zuvor angelegt hast

                            M 2 Replies Last reply Reply Quote 0
                            • M
                              mike2712 @ticaki last edited by

                              @ticaki danke, aber so tief stecke ich nicht in der Materie, bin eigentlich nur froh das alles doch relativ gut läuft bei den Mengen an Geräten, Adaptern und scripten. QNAP analysiere ich nur ein wenig wie folgen screenshot.
                              Aktuell läuft es auch wieder deutlich besser, nur sind in der CPU Last extreme Schwankungen, von 40 -> 98 ohne für mich ersichtlichen Grund, ich beobachte das dann erstal weiter. Ja Lesbarkeit ist schon wichtig, ich habe eihentlich auch in allen Scripten Kommentare, von Beruf bin ich SPS Automatisierer, aus diesem Grund achte ich auch schon auf so etwas. Vielen dank für die Hilfe, der Übeltäter wurde ja schnell gefunden und entsprechend abgeändert.

                              d5b0c01c-d259-4d88-bfa6-49c5a46fd6be-image.png

                              1 Reply Last reply Reply Quote 0
                              • M
                                mike2712 @ticaki last edited by

                                @ticaki sagte in JavaScript Adapter startet ständig neu:

                                @mike2712

                                Du könntest dir über eine simple Javascriptfunktion ein Blockly bauen das dir Skripte restartet

                                startScript(varname)
                                

                                und bevor die Funktion aufrufst schreibst du den Skriptnamen in die Variable varname, die du zuvor angelegt hast

                                Du meintest so was, ja das habe ich schon mit meinen problem Adaptern gemacht, sieht anders aus als bei Dir, aber denke das war gemeint,oder?

                                1a189982-ff0d-485e-bedf-a17439288aed-image.png
                                ac87c1c3-721d-4966-997f-baa97464d9de-image.png

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  ticaki Developer @mike2712 last edited by ticaki

                                  @mike2712
                                  Für Adapter muss man mit Objekten spielen, für ein Script gibts fertige Befehle.

                                  btw. lt. deiner Grafik könntest du mit vielen Optimierungen wohl 1% CPU leistung sparen... geh die Zeit lieber arbeiten und kauf dir von dem Geld ne schneller NAS 😂 IMHO lohnt nicht.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    mike2712 @ticaki last edited by

                                    @ticaki okay, ja mit den Gedanken hatte ich auch schon gespielt, habe ein 453a, hatte auch schon mal ein wenig geschaut was in Frage kommen könnte, weil auch Kameras mit eingebunden werden sollen, aber noch nicht so intensiv. Danke

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer @mike2712 last edited by

                                      @mike2712
                                      war mehr ein Joke, weil es sich nicht wirklich lohn wegen 3%

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      418
                                      Online

                                      31.8k
                                      Users

                                      80.0k
                                      Topics

                                      1.3m
                                      Posts

                                      javascript monitoring
                                      3
                                      24
                                      605
                                      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