Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. scripte analyse - welches script sendet viele änderungen

    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

    scripte analyse - welches script sendet viele änderungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky last edited by

      @paul53
      du hast hier ein script gepostet ( häufig sendende scripte)

      https://forum.iobroker.net/post/1178745

      const ids = $('javascript.0.scriptEnabled.*');
      const scripts = [];
      const objects = [];
      
      ids.each(function(id) {
         const script = id.replace('javascript.0.scriptEnabled.', 'script.js.');
         scripts.push(script);
         const obj = {script: script.replace('script.js.', ''), cnt: 0};
         objects.push(obj);
      });
      
      on({id: /.*/, from: 'system.adapter.javascript.0'}, function(dp) {
         const script = dp.state.c;
         if(script) {
             const idx = scripts.indexOf(script);
             if(idx >= 0) objects[idx].cnt++;
         }
      }); 
      
      schedule('*/15 * * * * *', function() {
         setTimeout(function() {
             const sorted = [];
             for(let i = 0; i < objects.length; i++) {
                 sorted[i] = objects[i];
             }
             sorted.sort(function(a,b) { 
                 return b.cnt - a.cnt;
             });
             sorted.length = 4;
             log(sorted);
         }, 100);
      });
      
      

      ich finde das ist ein tolles script und habe schon einige übeltäter entdeckt -

      meine frage: was bedeutet "undefined" wenn ich hier loge, zeile 13

      script = dp.state.c; log(script);
      

      
      javascript.0
      2024-07-15 10:25:20.435	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.LEDuLUEFTERuLAMPE.LEDsSteuern
      
      javascript.0
      2024-07-15 10:25:20.023	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.common.HighestProccess
      
      javascript.0
      2024-07-15 10:25:20.022	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.common.HighestProccess
      
      javascript.0
      2024-07-15 10:25:19.308	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.MATRIX.MATRIX
      
      javascript.0
      2024-07-15 10:25:18.713	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.712	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.711	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.710	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: undefined
      
      javascript.0
      2024-07-15 10:25:18.657	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.LEDuLUEFTERuLAMPE.LuxAufMatrix
      
      javascript.0
      2024-07-15 10:25:18.433	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.LEDuLUEFTERuLAMPE.LEDsSteuern
      
      javascript.0
      2024-07-15 10:25:18.433	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.LEDuLUEFTERuLAMPE.LEDsSteuern
      
      javascript.0
      2024-07-15 10:25:18.433	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.ALLERLEI.TemperaturWidget
      
      javascript.0
      2024-07-15 10:25:15.658	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: script.js.MYSTUFF.MATRIX.MATRIX
      
      javascript.0
      2024-07-15 10:25:15.100	info	script.js.MYSTUFF.ALIAS.checkScriptHaeufigkeit: [ { script: 'MYSTUFF.MATRIX.MATRIX', cnt: 52 }, { script: 'common.HighestProccess', cnt: 38 }, { script: 'MYSTUFF.LEDuLUEFTERuLAMPE.LuxAufMatrix', cnt: 33 }, { script: 'MYSTUFF.FUTRO.GetSwap', cnt: 30 }, { script: 'MYSTUFF.ALEXA.ALEXAEinkauf3Spalten', cnt: 28 }, { script: 'MYSTUFF.ALEXA.ALEXAToDo3Spalten', cnt: 28 }]
      

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @liv-in-sky last edited by paul53

        @liv-in-sky sagte: was bedeutet "undefined" wenn ich hier loge, zeile 13

        Das habe ich auch festgestellt und deshalb die Prüfung if(script) (Zeile 14) eingebaut. Offenbar liefern nicht alle DP den Skriptnamen unter dp.state.c.

        haus-automatisierung liv-in-sky 2 Replies Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @paul53 last edited by

          @paul53 sagte in scripte analyse - welches script sendet viele änderungen:

          Offenbar liefern nicht alle DP den Skriptnamen unter dp.state.c.

          Der Kommentar (ScriptName) wird immer geschrieben, wenn der JavaScript-Adapter einen State schreibt.

          Wird dieser aber z.B. unbestätigt geschrieben und dann von einem Adapter bestätigt, ist der Kommentar (logischerweise) weg.

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @haus-automatisierung last edited by

            @haus-automatisierung: dann von einem Adapter bestätigt, ist der Kommentar (logischerweise) weg.

            Bei Adapter-Bestätigung dürfte from: 'system.adapter.javascript.0' nicht erfüllt sein?

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @paul53 last edited by

              @paul53

              danke - ok also wohl nix schlimmes

              mal angenommen, das script würde dauernd laufen und einmal am tag resettet und evtl alle 15 minuten in einen dp ausgegeben - wäre das ein problem - überlege gerade, was ich damit genau anfangen werde

              habe z.b 2 scripte entdeckt, wo ich vergessen hatte, das schedule wieder größer zurück zu setzen - nach einem test - so könnte ich das besser im auge behalten 🙂

              paul53 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @paul53 last edited by

                @paul53 sagte in scripte analyse - welches script sendet viele änderungen:

                Bei Adapter-Bestätigung dürfte from: 'system.adapter.javascript.0' nicht erfüllt sein?

                Ah richtig, hatte das Script oben nicht genau angeschaut.

                Aber es gibt ja auch noch States, welche der Adapter auch schreibt (z.B. variables.dayTime, die Astro states usw.). Diese werden ja nicht von Scripts geschrieben und damit ist der Kommentar dann auch leer.

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @haus-automatisierung last edited by

                  @haus-automatisierung
                  wäre das keine idee - einen dp zu haben, den der adapter schreibt mit den z.b. 10 meist-sendenden scripten ?

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @liv-in-sky last edited by paul53

                    @liv-in-sky sagte: in einen dp ausgegeben - wäre das ein problem

                    Dann sollte der Name des Testskriptes ausgefiltert werden.

                       if(script && script != scriptName) {
                    

                    @haus-automatisierung sagte in scripte analyse - welches script sendet viele änderungen:

                    States, welche der Adapter auch schreibt

                    An diese DP hatte ich nicht gedacht. Anscheinend werden diese dann per if(script) ausgefiltert.

                    haus-automatisierung 1 Reply Last reply Reply Quote 1
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @paul53 last edited by haus-automatisierung

                      @paul53 sagte in scripte analyse - welches script sendet viele änderungen:

                      Anscheinend werden diese dann per if(script) ausgefiltert.

                      Ja genau, weil state.c dann undefined ist.

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      969
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      273
                      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