Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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
    14
    1
    216

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

scripte analyse - welches script sendet viele änderungen

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 3 Kommentatoren 565 Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
      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 Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 Online
              haus-automatisierungH Online
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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 Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    1
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    789

                    Online

                    32.5k

                    Benutzer

                    81.9k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe