Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. scripte analyse - welches script sendet viele änderungen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

scripte analyse - welches script sendet viele änderungen

Scheduled Pinned Locked Moved JavaScript
9 Posts 3 Posters 588 Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #1

    @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 }]
    

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    paul53P 1 Reply Last reply
    0
    • liv-in-skyL liv-in-sky

      @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 }]
      

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

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

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      haus-automatisierungH liv-in-skyL 2 Replies Last reply
      0
      • paul53P 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-automatisierungH Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        wrote on last edited by
        #3

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

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        paul53P 1 Reply Last reply
        0
        • haus-automatisierungH haus-automatisierung

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

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @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?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          haus-automatisierungH 1 Reply Last reply
          0
          • paul53P 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.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #5

            @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 :-)

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            paul53P 1 Reply Last reply
            0
            • paul53P paul53

              @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-automatisierungH Offline
              haus-automatisierungH Offline
              haus-automatisierung
              Developer Most Active
              wrote on last edited by
              #6

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

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              liv-in-skyL 1 Reply Last reply
              0
              • haus-automatisierungH haus-automatisierung

                @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-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                wrote on last edited by
                #7

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

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Reply Last reply
                0
                • liv-in-skyL liv-in-sky

                  @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 :-)

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

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

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  haus-automatisierungH 1 Reply Last reply
                  1
                  • paul53P 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-automatisierungH Offline
                    haus-automatisierungH Offline
                    haus-automatisierung
                    Developer Most Active
                    wrote on last edited by haus-automatisierung
                    #9

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

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    1 Reply Last reply
                    1
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    562

                    Online

                    32.7k

                    Users

                    82.4k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe