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. Script - Info über Datenpunkte sammeln

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Script - Info über Datenpunkte sammeln

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
291 Beiträge 11 Kommentatoren 38.3k Aufrufe 17 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 liv-in-sky

    @sigi234 ja genau

    oder du rufst es so auf: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html -- direct im browser eingeben - ohne vis

    8082 ist der port des webadapters !

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #6

    @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

    @sigi234 ja genau

    oder du rufst es so auf: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html -- direct im browser eingeben - ohne vis

    8082 ist der port des webadapters !

    Geht Super!

    VIS:
    Screenshot (296).png

    WEB:

    Screenshot (297)_LI.jpg

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    sigi234S 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

      @sigi234 ja genau

      oder du rufst es so auf: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html -- direct im browser eingeben - ohne vis

      8082 ist der port des webadapters !

      Geht Super!

      VIS:
      Screenshot (296).png

      WEB:

      Screenshot (297)_LI.jpg

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von sigi234
      #7

      @sigi234 sagte in Script - Info über Datenpunkte sammeln:

      @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

      @sigi234 ja genau

      oder du rufst es so auf: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html -- direct im browser eingeben - ohne vis

      8082 ist der port des webadapters !

      Geht Super!

      WEB:

      Screenshot (297)_LI.jpg

      Interessant ist der ID-Ohne Wert:

      Nehmen wir mal die 2:

      javascript.0.Status.ioBroker.Adapterüberwachung.Text   missing  
      javascript.0.Status.ioBroker.Adapterüberwachung.Störung   missing

      Bei diesen weis ich das ich sie noch brauche weil ja erst jeweils die Werte kommen wenn eine Störung vorliegt.
      Da wäre ein Filter mit : noch nie oder seit xx-Tagen - Monate oder Datum ein Wert geschrieben wurde.

      Also:

      javascript.0.Status.ioBroker.Adapterüberwachung.Störung   missing seit 90 Tagen

      Und genau solche sehe ich mir dann an.

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      liv-in-skyL 1 Antwort Letzte Antwort
      0
      • sigi234S sigi234

        @sigi234 sagte in Script - Info über Datenpunkte sammeln:

        @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

        @sigi234 ja genau

        oder du rufst es so auf: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html -- direct im browser eingeben - ohne vis

        8082 ist der port des webadapters !

        Geht Super!

        WEB:

        Screenshot (297)_LI.jpg

        Interessant ist der ID-Ohne Wert:

        Nehmen wir mal die 2:

        javascript.0.Status.ioBroker.Adapterüberwachung.Text   missing  
        javascript.0.Status.ioBroker.Adapterüberwachung.Störung   missing

        Bei diesen weis ich das ich sie noch brauche weil ja erst jeweils die Werte kommen wenn eine Störung vorliegt.
        Da wäre ein Filter mit : noch nie oder seit xx-Tagen - Monate oder Datum ein Wert geschrieben wurde.

        Also:

        javascript.0.Status.ioBroker.Adapterüberwachung.Störung   missing seit 90 Tagen

        Und genau solche sehe ich mir dann an.

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #8

        @sigi234

        teste mal das - nur der teil ab "AB HIER NCHTS ÄNDERN" im script ersetzen

        //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
        
        
        
        const versionNr = "15102019-1.0"
        
        var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
        var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
        const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
        const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
        const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
        //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
        const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
        var allInstArr=[];
        const dpPrefix = "javascript."+ instance +".";
        var mylogs=false;
        var htmlDP=[];
        var htmlMSG=[];
        var counterAll=0;
        
        var htmlHelper="";
        
        createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
        createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
        createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
        createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
        createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
        createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
        
        //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
        function countDP(idb){
           var counter4=0;
        
           $(idb).each(function(id, i) {
           counter4++; })
        
        mylog(idb+counter4);
        htmlDP.unshift(idb);
        htmlMSG.unshift(counter4.toString());
        counterAll=counterAll+counter4;
        
        }
        //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
        
        function instanzCount(){
        
           var counter=0; var counter2=0;var counter3=0; 
        $('system.adapter.*.alive').each(function(id, i) {
        
        
            var ida = id.split('.');
             allInstArr.push(ida[2]+"."+ida[3]+".*");
           
           if(!id.includes("vis")){
           
        
           counter++;
        
           if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
              htmlDP.push(ida[2]+"."+ida[3]);
              htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
           if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
              htmlDP.push(ida[2]+"."+ida[3]);
              htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
           }
        });
        mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
        htmlDP.push("");
        htmlMSG.push("");
        htmlDP.push("Anzahl Instanzen");
        htmlMSG.push(counter.toString());
        
        mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
        htmlDP.push("Instanzen ohne Werte");
        htmlMSG.push(counter2.toString());
        htmlDP.push("Instanzen nicht aktiviert");
        htmlMSG.push(counter3.toString());
        
        
        
        }
        
        
        //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
        
        function checkTypes(select) {
           var counter=0; 
           htmlMSG.push("");
           htmlDP.push("");
        
           mylog(select)
           $(select).each(function (id, i) {
               counter++
               
           if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
               
               if (!JSON.stringify(getObject(id)).includes("type")) {
                     console.log("no"+id);
                     htmlDP.push(id+": "+valType);
                     htmlMSG.push("<b>missing TYPE !!</b>" );}
               
                else{ var dpType = getObject(id).common.type;
                      var valType = typeof getState(id).val;
                      if(dpType != "mixed" ) {
                      if(dpType !== valType && !(dpType == 'array' && valType == 'object')) {
                         mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                         htmlDP.push(id+": "+valType);
        
                         htmlMSG.push(dpType );}
               }}
             /*
               if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                   log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                   htmlDP.push(dpType);
                   htmlMSG.push(valType);
               }*/
           }
           });
           htmlDP.push("ID+IST WERT");
           htmlMSG.push("SOLL WERT");
           htmlDP.push("<b><i>geprüfte Instanz</i></b>");
           htmlMSG.push("<b>"+select+"</b>");
           mylog("fertg" + counter.toString())
          
        }
        
        //------------------------------------------CHECK  WERTE--------------------------------------------------------
        
        function checkWerte(select) {
           mylog("bin in check Werte");
           var counter=0; 
        
           mylog(select);
           $(select).each(function (id, i) {
               counter++
               
           if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('alexa') /* && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
             //  var dpType = getObject(id).common.type;
               var valType =  getState(id).val;
               //if(dpType != "mixed" ) {}
        
                   if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                       htmlDP.push(id);
                       var ddd = new Date().getTime()-getObject(id).ts;
                       htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                      }
               
            
           }
           });
         
            mylog("bin raus aus check Werte");
          
        }
        //---------------------------------------------------------------------------------------------------------------------
        
        
        function mylog(message) {
          if(mylogs)
              console.log(message);
        }
        //---------------------------------------------------------------------------------------------------------------------
        
        
        
        
        //-----------------------------------------------SCHALTER MAIN------------------------------------------------
        on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
           let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
           let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
           let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
           setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
           htmlHelper="";
           setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
           writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
           htmlHelper="";
        
        setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
        
        htmlDP=[];
        htmlMSG=[];
        
        instanzCount();
        htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
        mylog(instanzArr.length+"==================="+instanzArr.toString());
        
        
        if (monster) instanzArr=allInstArr;  //ACHTUNG MONSTERSEARCH
        
        
        for(let name in instanzArr){
           checkWerte(instanzArr[name]+".*")
           mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
        
            if (instanzAnzahl){
                  htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                  for(let name in allInstArr){
                  countDP(allInstArr[name]);}
                  htmlDP.unshift("<b><i>Gesamt Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                  //console.log("=============: "+counterAll);}
        
        if (java) checkWerte('javascript.*');
        
        
         htmlDP.push("<b><i>ID ohne WERT</i></b>");
         htmlMSG.push("");
        
        for(let name in instanzArr){
           checkTypes(instanzArr[name]+".*")
           mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
             htmlDP.push("<b><i>ID falscher TYPE</i></b>");
         htmlMSG.push("");
        
         if (java) checkTypes('javascript.*');
        
        for(var i= htmlDP.length-1; i>-1; i--) {
          htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
        
        }
           if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
        
        
           if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
        
          if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
           
           if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
            if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
        
           endehtml="";
           setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
        
        
        });
        

        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

        sigi234S 1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @sigi234

          teste mal das - nur der teil ab "AB HIER NCHTS ÄNDERN" im script ersetzen

          //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
          
          
          
          const versionNr = "15102019-1.0"
          
          var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
          var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
          const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
          const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
          const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
          //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
          const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
          var allInstArr=[];
          const dpPrefix = "javascript."+ instance +".";
          var mylogs=false;
          var htmlDP=[];
          var htmlMSG=[];
          var counterAll=0;
          
          var htmlHelper="";
          
          createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
          
          //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
          function countDP(idb){
             var counter4=0;
          
             $(idb).each(function(id, i) {
             counter4++; })
          
          mylog(idb+counter4);
          htmlDP.unshift(idb);
          htmlMSG.unshift(counter4.toString());
          counterAll=counterAll+counter4;
          
          }
          //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
          
          function instanzCount(){
          
             var counter=0; var counter2=0;var counter3=0; 
          $('system.adapter.*.alive').each(function(id, i) {
          
          
              var ida = id.split('.');
               allInstArr.push(ida[2]+"."+ida[3]+".*");
             
             if(!id.includes("vis")){
             
          
             counter++;
          
             if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                htmlDP.push(ida[2]+"."+ida[3]);
                htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
             if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                htmlDP.push(ida[2]+"."+ida[3]);
                htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
             }
          });
          mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
          htmlDP.push("");
          htmlMSG.push("");
          htmlDP.push("Anzahl Instanzen");
          htmlMSG.push(counter.toString());
          
          mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
          htmlDP.push("Instanzen ohne Werte");
          htmlMSG.push(counter2.toString());
          htmlDP.push("Instanzen nicht aktiviert");
          htmlMSG.push(counter3.toString());
          
          
          
          }
          
          
          //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
          
          function checkTypes(select) {
             var counter=0; 
             htmlMSG.push("");
             htmlDP.push("");
          
             mylog(select)
             $(select).each(function (id, i) {
                 counter++
                 
             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                 
                 if (!JSON.stringify(getObject(id)).includes("type")) {
                       console.log("no"+id);
                       htmlDP.push(id+": "+valType);
                       htmlMSG.push("<b>missing TYPE !!</b>" );}
                 
                  else{ var dpType = getObject(id).common.type;
                        var valType = typeof getState(id).val;
                        if(dpType != "mixed" ) {
                        if(dpType !== valType && !(dpType == 'array' && valType == 'object')) {
                           mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                           htmlDP.push(id+": "+valType);
          
                           htmlMSG.push(dpType );}
                 }}
               /*
                 if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                     log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                     htmlDP.push(dpType);
                     htmlMSG.push(valType);
                 }*/
             }
             });
             htmlDP.push("ID+IST WERT");
             htmlMSG.push("SOLL WERT");
             htmlDP.push("<b><i>geprüfte Instanz</i></b>");
             htmlMSG.push("<b>"+select+"</b>");
             mylog("fertg" + counter.toString())
            
          }
          
          //------------------------------------------CHECK  WERTE--------------------------------------------------------
          
          function checkWerte(select) {
             mylog("bin in check Werte");
             var counter=0; 
          
             mylog(select);
             $(select).each(function (id, i) {
                 counter++
                 
             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('alexa') /* && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
               //  var dpType = getObject(id).common.type;
                 var valType =  getState(id).val;
                 //if(dpType != "mixed" ) {}
          
                     if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                         htmlDP.push(id);
                         var ddd = new Date().getTime()-getObject(id).ts;
                         htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                        }
                 
              
             }
             });
           
              mylog("bin raus aus check Werte");
            
          }
          //---------------------------------------------------------------------------------------------------------------------
          
          
          function mylog(message) {
            if(mylogs)
                console.log(message);
          }
          //---------------------------------------------------------------------------------------------------------------------
          
          
          
          
          //-----------------------------------------------SCHALTER MAIN------------------------------------------------
          on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
             let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
             let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
             let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
             setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
             htmlHelper="";
             setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
             writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
             htmlHelper="";
          
          setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
          
          htmlDP=[];
          htmlMSG=[];
          
          instanzCount();
          htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
          mylog(instanzArr.length+"==================="+instanzArr.toString());
          
          
          if (monster) instanzArr=allInstArr;  //ACHTUNG MONSTERSEARCH
          
          
          for(let name in instanzArr){
             checkWerte(instanzArr[name]+".*")
             mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
          
              if (instanzAnzahl){
                    htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                    for(let name in allInstArr){
                    countDP(allInstArr[name]);}
                    htmlDP.unshift("<b><i>Gesamt Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                    //console.log("=============: "+counterAll);}
          
          if (java) checkWerte('javascript.*');
          
          
           htmlDP.push("<b><i>ID ohne WERT</i></b>");
           htmlMSG.push("");
          
          for(let name in instanzArr){
             checkTypes(instanzArr[name]+".*")
             mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
               htmlDP.push("<b><i>ID falscher TYPE</i></b>");
           htmlMSG.push("");
          
           if (java) checkTypes('javascript.*');
          
          for(var i= htmlDP.length-1; i>-1; i--) {
            htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
          
          }
             if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
          
          
             if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
          
            if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
             
             if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
              if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
          
             endehtml="";
             setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
          
          
          });
          

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von sigi234
          #9

          @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

          @sigi234

          teste mal das - nur der teil ab "AB HIER NCHTS ÄNDERN" im script ersetzen

          //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
          
          
          
          const versionNr = "15102019-1.0"
          
          var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
          var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
          const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
          const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
          const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
          //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
          const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
          var allInstArr=[];
          const dpPrefix = "javascript."+ instance +".";
          var mylogs=false;
          var htmlDP=[];
          var htmlMSG=[];
          var counterAll=0;
          
          var htmlHelper="";
          
          createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
          createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
          
          //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
          function countDP(idb){
             var counter4=0;
          
             $(idb).each(function(id, i) {
             counter4++; })
          
          mylog(idb+counter4);
          htmlDP.unshift(idb);
          htmlMSG.unshift(counter4.toString());
          counterAll=counterAll+counter4;
          
          }
          //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
          
          function instanzCount(){
          
             var counter=0; var counter2=0;var counter3=0; 
          $('system.adapter.*.alive').each(function(id, i) {
          
          
              var ida = id.split('.');
               allInstArr.push(ida[2]+"."+ida[3]+".*");
             
             if(!id.includes("vis")){
             
          
             counter++;
          
             if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                htmlDP.push(ida[2]+"."+ida[3]);
                htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
             if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                htmlDP.push(ida[2]+"."+ida[3]);
                htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
             }
          });
          mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
          htmlDP.push("");
          htmlMSG.push("");
          htmlDP.push("Anzahl Instanzen");
          htmlMSG.push(counter.toString());
          
          mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
          htmlDP.push("Instanzen ohne Werte");
          htmlMSG.push(counter2.toString());
          htmlDP.push("Instanzen nicht aktiviert");
          htmlMSG.push(counter3.toString());
          
          
          
          }
          
          
          //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
          
          function checkTypes(select) {
             var counter=0; 
             htmlMSG.push("");
             htmlDP.push("");
          
             mylog(select)
             $(select).each(function (id, i) {
                 counter++
                 
             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                 
                 if (!JSON.stringify(getObject(id)).includes("type")) {
                       console.log("no"+id);
                       htmlDP.push(id+": "+valType);
                       htmlMSG.push("<b>missing TYPE !!</b>" );}
                 
                  else{ var dpType = getObject(id).common.type;
                        var valType = typeof getState(id).val;
                        if(dpType != "mixed" ) {
                        if(dpType !== valType && !(dpType == 'array' && valType == 'object')) {
                           mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                           htmlDP.push(id+": "+valType);
          
                           htmlMSG.push(dpType );}
                 }}
               /*
                 if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                     log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                     htmlDP.push(dpType);
                     htmlMSG.push(valType);
                 }*/
             }
             });
             htmlDP.push("ID+IST WERT");
             htmlMSG.push("SOLL WERT");
             htmlDP.push("<b><i>geprüfte Instanz</i></b>");
             htmlMSG.push("<b>"+select+"</b>");
             mylog("fertg" + counter.toString())
            
          }
          
          //------------------------------------------CHECK  WERTE--------------------------------------------------------
          
          function checkWerte(select) {
             mylog("bin in check Werte");
             var counter=0; 
          
             mylog(select);
             $(select).each(function (id, i) {
                 counter++
                 
             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('alexa') /* && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
               //  var dpType = getObject(id).common.type;
                 var valType =  getState(id).val;
                 //if(dpType != "mixed" ) {}
          
                     if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                         htmlDP.push(id);
                         var ddd = new Date().getTime()-getObject(id).ts;
                         htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                        }
                 
              
             }
             });
           
              mylog("bin raus aus check Werte");
            
          }
          //---------------------------------------------------------------------------------------------------------------------
          
          
          function mylog(message) {
            if(mylogs)
                console.log(message);
          }
          //---------------------------------------------------------------------------------------------------------------------
          
          
          
          
          //-----------------------------------------------SCHALTER MAIN------------------------------------------------
          on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
             let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
             let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
             let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
             setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
             htmlHelper="";
             setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
             writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
             htmlHelper="";
          
          setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
          
          htmlDP=[];
          htmlMSG=[];
          
          instanzCount();
          htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
          mylog(instanzArr.length+"==================="+instanzArr.toString());
          
          
          if (monster) instanzArr=allInstArr;  //ACHTUNG MONSTERSEARCH
          
          
          for(let name in instanzArr){
             checkWerte(instanzArr[name]+".*")
             mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
          
              if (instanzAnzahl){
                    htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                    for(let name in allInstArr){
                    countDP(allInstArr[name]);}
                    htmlDP.unshift("<b><i>Gesamt Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                    //console.log("=============: "+counterAll);}
          
          if (java) checkWerte('javascript.*');
          
          
           htmlDP.push("<b><i>ID ohne WERT</i></b>");
           htmlMSG.push("");
          
          for(let name in instanzArr){
             checkTypes(instanzArr[name]+".*")
             mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
               htmlDP.push("<b><i>ID falscher TYPE</i></b>");
           htmlMSG.push("");
          
           if (java) checkTypes('javascript.*');
          
          for(var i= htmlDP.length-1; i>-1; i--) {
            htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
          
          }
             if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
          
          
             if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
          
            if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
             
             if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
              if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
          
             endehtml="";
             setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
          
          
          });
          

          Getestet, wann macht er ein File update?
          Aha, musste auf runskript gehen und auf true setzen, dachte es geht bei skript neustart.

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          liv-in-skyL 2 Antworten Letzte Antwort
          0
          • sigi234S sigi234

            @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

            @sigi234

            teste mal das - nur der teil ab "AB HIER NCHTS ÄNDERN" im script ersetzen

            //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
            
            
            
            const versionNr = "15102019-1.0"
            
            var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
            var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
            const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
            const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
            const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
            //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
            const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
            var allInstArr=[];
            const dpPrefix = "javascript."+ instance +".";
            var mylogs=false;
            var htmlDP=[];
            var htmlMSG=[];
            var counterAll=0;
            
            var htmlHelper="";
            
            createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
            createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
            createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
            createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
            createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
            createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
            
            //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
            function countDP(idb){
               var counter4=0;
            
               $(idb).each(function(id, i) {
               counter4++; })
            
            mylog(idb+counter4);
            htmlDP.unshift(idb);
            htmlMSG.unshift(counter4.toString());
            counterAll=counterAll+counter4;
            
            }
            //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
            
            function instanzCount(){
            
               var counter=0; var counter2=0;var counter3=0; 
            $('system.adapter.*.alive').each(function(id, i) {
            
            
                var ida = id.split('.');
                 allInstArr.push(ida[2]+"."+ida[3]+".*");
               
               if(!id.includes("vis")){
               
            
               counter++;
            
               if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                  htmlDP.push(ida[2]+"."+ida[3]);
                  htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
               if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                  htmlDP.push(ida[2]+"."+ida[3]);
                  htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
               }
            });
            mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
            htmlDP.push("");
            htmlMSG.push("");
            htmlDP.push("Anzahl Instanzen");
            htmlMSG.push(counter.toString());
            
            mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
            htmlDP.push("Instanzen ohne Werte");
            htmlMSG.push(counter2.toString());
            htmlDP.push("Instanzen nicht aktiviert");
            htmlMSG.push(counter3.toString());
            
            
            
            }
            
            
            //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
            
            function checkTypes(select) {
               var counter=0; 
               htmlMSG.push("");
               htmlDP.push("");
            
               mylog(select)
               $(select).each(function (id, i) {
                   counter++
                   
               if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                   
                   if (!JSON.stringify(getObject(id)).includes("type")) {
                         console.log("no"+id);
                         htmlDP.push(id+": "+valType);
                         htmlMSG.push("<b>missing TYPE !!</b>" );}
                   
                    else{ var dpType = getObject(id).common.type;
                          var valType = typeof getState(id).val;
                          if(dpType != "mixed" ) {
                          if(dpType !== valType && !(dpType == 'array' && valType == 'object')) {
                             mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                             htmlDP.push(id+": "+valType);
            
                             htmlMSG.push(dpType );}
                   }}
                 /*
                   if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                       log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                       htmlDP.push(dpType);
                       htmlMSG.push(valType);
                   }*/
               }
               });
               htmlDP.push("ID+IST WERT");
               htmlMSG.push("SOLL WERT");
               htmlDP.push("<b><i>geprüfte Instanz</i></b>");
               htmlMSG.push("<b>"+select+"</b>");
               mylog("fertg" + counter.toString())
              
            }
            
            //------------------------------------------CHECK  WERTE--------------------------------------------------------
            
            function checkWerte(select) {
               mylog("bin in check Werte");
               var counter=0; 
            
               mylog(select);
               $(select).each(function (id, i) {
                   counter++
                   
               if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('alexa') /* && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                 //  var dpType = getObject(id).common.type;
                   var valType =  getState(id).val;
                   //if(dpType != "mixed" ) {}
            
                       if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                           htmlDP.push(id);
                           var ddd = new Date().getTime()-getObject(id).ts;
                           htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                          }
                   
                
               }
               });
             
                mylog("bin raus aus check Werte");
              
            }
            //---------------------------------------------------------------------------------------------------------------------
            
            
            function mylog(message) {
              if(mylogs)
                  console.log(message);
            }
            //---------------------------------------------------------------------------------------------------------------------
            
            
            
            
            //-----------------------------------------------SCHALTER MAIN------------------------------------------------
            on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
               let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
               let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
               let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
               setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
               htmlHelper="";
               setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
               writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
               htmlHelper="";
            
            setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
            
            htmlDP=[];
            htmlMSG=[];
            
            instanzCount();
            htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
            mylog(instanzArr.length+"==================="+instanzArr.toString());
            
            
            if (monster) instanzArr=allInstArr;  //ACHTUNG MONSTERSEARCH
            
            
            for(let name in instanzArr){
               checkWerte(instanzArr[name]+".*")
               mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
            
                if (instanzAnzahl){
                      htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                      for(let name in allInstArr){
                      countDP(allInstArr[name]);}
                      htmlDP.unshift("<b><i>Gesamt Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                      //console.log("=============: "+counterAll);}
            
            if (java) checkWerte('javascript.*');
            
            
             htmlDP.push("<b><i>ID ohne WERT</i></b>");
             htmlMSG.push("");
            
            for(let name in instanzArr){
               checkTypes(instanzArr[name]+".*")
               mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
                 htmlDP.push("<b><i>ID falscher TYPE</i></b>");
             htmlMSG.push("");
            
             if (java) checkTypes('javascript.*');
            
            for(var i= htmlDP.length-1; i>-1; i--) {
              htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
            
            }
               if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                         endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
            
            
               if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                         endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
            
              if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                         endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
               
               if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
                if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
            
               endehtml="";
               setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
            
            
            });
            

            Getestet, wann macht er ein File update?
            Aha, musste auf runskript gehen und auf true setzen, dachte es geht bei skript neustart.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #10

            @sigi234 jedes mal, wenn der datenpunkt RunScript auf true gesetzt wird

            das war eine sicherheitsangabe - damit ich weiß, dass er durch das script durchgelaufen ist und nicht vor dem schreibvorgang einen scriptfehler hatte

            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
            • sigi234S sigi234

              @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

              @sigi234

              teste mal das - nur der teil ab "AB HIER NCHTS ÄNDERN" im script ersetzen

              //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
              
              
              
              const versionNr = "15102019-1.0"
              
              var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
              var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
              const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
              const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
              const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
              //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
              const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
              var allInstArr=[];
              const dpPrefix = "javascript."+ instance +".";
              var mylogs=false;
              var htmlDP=[];
              var htmlMSG=[];
              var counterAll=0;
              
              var htmlHelper="";
              
              createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
              createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
              createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
              createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
              createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
              createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
              
              //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
              function countDP(idb){
                 var counter4=0;
              
                 $(idb).each(function(id, i) {
                 counter4++; })
              
              mylog(idb+counter4);
              htmlDP.unshift(idb);
              htmlMSG.unshift(counter4.toString());
              counterAll=counterAll+counter4;
              
              }
              //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
              
              function instanzCount(){
              
                 var counter=0; var counter2=0;var counter3=0; 
              $('system.adapter.*.alive').each(function(id, i) {
              
              
                  var ida = id.split('.');
                   allInstArr.push(ida[2]+"."+ida[3]+".*");
                 
                 if(!id.includes("vis")){
                 
              
                 counter++;
              
                 if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                    htmlDP.push(ida[2]+"."+ida[3]);
                    htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
                 if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                    htmlDP.push(ida[2]+"."+ida[3]);
                    htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
                 }
              });
              mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
              htmlDP.push("");
              htmlMSG.push("");
              htmlDP.push("Anzahl Instanzen");
              htmlMSG.push(counter.toString());
              
              mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
              htmlDP.push("Instanzen ohne Werte");
              htmlMSG.push(counter2.toString());
              htmlDP.push("Instanzen nicht aktiviert");
              htmlMSG.push(counter3.toString());
              
              
              
              }
              
              
              //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
              
              function checkTypes(select) {
                 var counter=0; 
                 htmlMSG.push("");
                 htmlDP.push("");
              
                 mylog(select)
                 $(select).each(function (id, i) {
                     counter++
                     
                 if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                     
                     if (!JSON.stringify(getObject(id)).includes("type")) {
                           console.log("no"+id);
                           htmlDP.push(id+": "+valType);
                           htmlMSG.push("<b>missing TYPE !!</b>" );}
                     
                      else{ var dpType = getObject(id).common.type;
                            var valType = typeof getState(id).val;
                            if(dpType != "mixed" ) {
                            if(dpType !== valType && !(dpType == 'array' && valType == 'object')) {
                               mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                               htmlDP.push(id+": "+valType);
              
                               htmlMSG.push(dpType );}
                     }}
                   /*
                     if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                         log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                         htmlDP.push(dpType);
                         htmlMSG.push(valType);
                     }*/
                 }
                 });
                 htmlDP.push("ID+IST WERT");
                 htmlMSG.push("SOLL WERT");
                 htmlDP.push("<b><i>geprüfte Instanz</i></b>");
                 htmlMSG.push("<b>"+select+"</b>");
                 mylog("fertg" + counter.toString())
                
              }
              
              //------------------------------------------CHECK  WERTE--------------------------------------------------------
              
              function checkWerte(select) {
                 mylog("bin in check Werte");
                 var counter=0; 
              
                 mylog(select);
                 $(select).each(function (id, i) {
                     counter++
                     
                 if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('alexa') /* && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                   //  var dpType = getObject(id).common.type;
                     var valType =  getState(id).val;
                     //if(dpType != "mixed" ) {}
              
                         if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                             htmlDP.push(id);
                             var ddd = new Date().getTime()-getObject(id).ts;
                             htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                            }
                     
                  
                 }
                 });
               
                  mylog("bin raus aus check Werte");
                
              }
              //---------------------------------------------------------------------------------------------------------------------
              
              
              function mylog(message) {
                if(mylogs)
                    console.log(message);
              }
              //---------------------------------------------------------------------------------------------------------------------
              
              
              
              
              //-----------------------------------------------SCHALTER MAIN------------------------------------------------
              on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
                 let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                 let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                 let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                 setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                 htmlHelper="";
                 setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                 writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                 htmlHelper="";
              
              setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
              
              htmlDP=[];
              htmlMSG=[];
              
              instanzCount();
              htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
              mylog(instanzArr.length+"==================="+instanzArr.toString());
              
              
              if (monster) instanzArr=allInstArr;  //ACHTUNG MONSTERSEARCH
              
              
              for(let name in instanzArr){
                 checkWerte(instanzArr[name]+".*")
                 mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
              
                  if (instanzAnzahl){
                        htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                        for(let name in allInstArr){
                        countDP(allInstArr[name]);}
                        htmlDP.unshift("<b><i>Gesamt Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                        //console.log("=============: "+counterAll);}
              
              if (java) checkWerte('javascript.*');
              
              
               htmlDP.push("<b><i>ID ohne WERT</i></b>");
               htmlMSG.push("");
              
              for(let name in instanzArr){
                 checkTypes(instanzArr[name]+".*")
                 mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArr[name])};
                   htmlDP.push("<b><i>ID falscher TYPE</i></b>");
               htmlMSG.push("");
              
               if (java) checkTypes('javascript.*');
              
              for(var i= htmlDP.length-1; i>-1; i--) {
                htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
              
              }
                 if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                           endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
              
              
                 if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                           endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
              
                if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                           endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
                 
                 if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
                  if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
              
                 endehtml="";
                 setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
              
              
              });
              

              Getestet, wann macht er ein File update?
              Aha, musste auf runskript gehen und auf true setzen, dachte es geht bei skript neustart.

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #11

              @sigi234 sind die missing angaben so ok ?

              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

              sigi234S 1 Antwort Letzte Antwort
              1
              • liv-in-skyL liv-in-sky

                @sigi234 sind die missing angaben so ok ?

                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von sigi234
                #12

                @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                @sigi234 sind die missing angaben so ok ?

                Sehe es mir gerade an, die Html im Web wird nicht aktualisiert?
                In Vis schon. Bei einigen DP bin ich mir nicht sicher ob die Tage stimmen, muss ich nachsehen. 500 Tage sind schon lange.

                javascript.0.Wertstofftonne  	missing seit 509d 1h 20m 
                
                Gesamt Objekte in Instanzen  	53330  ?
                

                Habe nur 21000

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • sigi234S sigi234

                  @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                  @sigi234 sind die missing angaben so ok ?

                  Sehe es mir gerade an, die Html im Web wird nicht aktualisiert?
                  In Vis schon. Bei einigen DP bin ich mir nicht sicher ob die Tage stimmen, muss ich nachsehen. 500 Tage sind schon lange.

                  javascript.0.Wertstofftonne  	missing seit 509d 1h 20m 
                  
                  Gesamt Objekte in Instanzen  	53330  ?
                  

                  Habe nur 21000

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #13

                  @sigi234

                  wie sehen die einzelnen zähler aus - also bei mir kommt es ungefähr hin mit 10000

                  53300 ist sehr viel - fällt die in der übersicht bei dir was auf ?

                  Image 2.png

                  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

                  sigi234S 1 Antwort Letzte Antwort
                  0
                  • liv-in-skyL liv-in-sky

                    @sigi234

                    wie sehen die einzelnen zähler aus - also bei mir kommt es ungefähr hin mit 10000

                    53300 ist sehr viel - fällt die in der übersicht bei dir was auf ?

                    Image 2.png

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von sigi234
                    #14

                    @liv-in-sky

                    So jetzt sind es 17000 kommt so ungefähr hin.
                    Hatte kurz mal einen Nachricht: Skript hat Fehler
                    Web geht noch nicht.

                    Letztes File Update: 20:28:35 (gestern)

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky
                      • suche tester, anregungen

                      • dieses script soll u.a. zum auffinden falsch beschriebener oder leerer datenpunkte dienen. es kann für scripter helfen, eigene script- oder adpater datenpunkte zu überprüfen

                      • unter umständen kann es dabei viele daten geben und deshalb wird zu einem datenpunkt (html formatiert für html widget-vis) eine webseite erzeugt um einen besseren überblick zu bekommen

                      • das script wird mit einem boolean wert ausgeführt (RunScript=true) - so wird nach der aktivierung des scripts nichts zu sehen sein

                      was geht sonst noch:

                      feature to do
                      datenpunkte per instanz zählen kann über dp abgeschalten werden (setzen: javascript.0.ProofingDatapoints.ObjectAnzahlCheck)
                      Alias Kontrolle der neue controllerv2 hat aliase - diese werden auf fehlende datenpunktzuweisung überprüft
                      letzte Änderung DP es kann die "letze Änderung" von datenpunkte angezeigt werden mit taage einstellung über "LatestChangeDP_Factor" 1 ist 1 Tag
                      nur spezielle ornder abfragen es können auch nur einzelne ordner abgefragt werden - z.b. "javascript.2.WLANUnifi"
                      eigene instanzen definieren z.b für die eignenDatenpunkte - muss vor scriptausführung angepaßt werden (const instanzArr im script)
                      standard javascript.* disable scripte legen datenpunkte unter javascript ab -. daher standard (kann über dp abgeschalten werden)(setzen: javascript.0.ProofingDatapoints.JavaInstanzCheck)
                      eigene webseite erreichbar: http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html - zur leichteren auswertung/übersicht. dabei ist 8082 der port des web-adapters
                      eigene farben definieren für webseite bei variable definition im script
                      monster-search es gibt einen dp (javascript.0.ProofingDatapoints.MonsterSearch), mit dem kann man eine suche durch alle instanzen machen. nach dessen durchlauf wird der datenpunkt wieder automatisch auf false gestellt - es wird auch kein htm-datenpunkt geschrieben, sondern nur die webseite erstellt - das system wird stark belastet !!! in dieser suche werden die Eigenendatenpunkte nicht berücksichtigt (keine verwendung von const instanzArr).
                      directSearch es gibt einen datenpunkt "directSearch - damit kann man direkt einen pfad zu einem ordner eingeben. in der vis mit dem input-widget realisiert
                      blacklist es können einzelen datenpunkte oder ganze breiche ausgeschlossen werden
                      Smart Devices es können die smarthome devices geprüft werden - im raw des dp unter "common.smartName" definiert - z.b um doppelte einträge zu finden
                      • wer das script von mic nutzt (logfile auswertung) sollte es bei einer "monstersuche" deaktivieren
                      • beim aufsuchen der datenpunkte kann es zu vielen warnungen im log kommen - ist nicht verhinderbar
                      • script kann auch abbrechen durch error - wird dann angezeigt

                      beispiel vis:

                      Image 10.png

                      beispiel "directSearch"
                      Image 5.png

                      beispiel webseite:

                      Image 3.png

                      script für export:

                      version 1.0: ProofingDatapoints16-10-19.txt
                      version 1.1: ProofingDatapoints18-10-19.txt bitte alles unter const instanzArr=... ersetzen
                      version 1.2: ProofingDatapoints22-10-19.txt bitte alles unter "const instanzArr=..." ersetzen - multistates check hinzugefügt
                      version 1.5: ProofingDatapoints26-10-19.txt bitte alles unter "const instanzArr=..." ersetzen und auch die datenpunkte des scripts löschen - letzte Änderung DP checken, Aliase (controllerv2) check
                      version 1.6: ProofingDatapoints1-11-19.txt
                      version 1.7: ProofingDatapoints7-11-19.txt
                      version 1.8 ProofingDatapoints9-11-19.txt
                      version 1.9 ProofingDatapoints10-11-19.txt
                      version 2.0 ProofingDatapoints12-11-19.txt
                      version 2.1 ProofingDatapoints13-11-19.txt
                      version 2.3 ProofingDatapoints15-11-19.txt mit smart devices
                      version 2.4 ProofingDatapoints17-11-19.txt mit history devices

                      widgets export( 15.11.2019):

                      [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.ProofingDatapoints.HTMLTable}"},"style":{"left":"939px","top":"189px","color":"#20f824 ","width":"744px","height":"797px","font-size":"12px","overflow-y":"scroll","border-width":"1px","border-radius":"15px","border-style":"solid","border-color":"#20f824 ","background-color":"","background":"{val:javascript.0.ProofingDatapoints.RunSuccessful; val == \"true\"  ?   \"#000000\":  \"#3E3B3B\"}"},"widgetSet":"basic"},{"tpl":"tplBulbOnOffCtrl","data":{"oid":"javascript.0.ProofingDatapoints.RunScript","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","icon_off":"/vis.0/armin/img/play.png","icon_on":"/vis.0/armin/img/ADAPTER/javascript.png","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"min":"false","max":"true","class":"{val:controll-own.0.mount.CPULuefter;val==\"true\"? \"anime\":  \"\"}"},"style":{"left":"1325px","top":"131px","width":"42px","height":"42px","z-index":1},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.JavaInstanzCheck","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1406px","top":"54px","z-index":"115","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.ObjectAnzahlCheck","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1407px","top":"82px","z-index":"115","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>DP Zählen</b>"},"style":{"left":"1232px","top":"83px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>mit js-instanz</b>"},"style":{"left":"1232px","top":"54px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.MonsterSearch","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1635px","top":"30px","z-index":"115"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>Monster Suche</b>"},"style":{"left":"1461px","top":"30px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#15931f","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>ohne gesamt Instanz Anzeige</b>"},"style":{"left":"1155px","top":"31px","font-size":"smaller","width":"232px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.ohneInstanzAnzeige","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1405px","top":"30px","z-index":"115","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplJquiInputSet","data":{"oid":"javascript.0.ProofingDatapoints.OrdnerCheck","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"buttontext":"DirectSearch","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"class":"menuown","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","title":""},"style":{"left":"946px","top":"140px","width":"293px","height":"25px","font-size":"small","background-color":"#000000","z-index":"20","background":"","border-radius":"15px"},"widgetSet":"jqui"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.RunSuccessful","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1635px","top":"144px","z-index":"115"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>Successful</b>"},"style":{"left":"1511px","top":"144px","font-size":"smaller","width":"111px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.LatestChangeDP","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1635px","top":"82px","z-index":"115","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>letzte Änderung DPs</b>&ensp;&ensp;>&ensp;","html_append":"{javascript.0.ProofingDatapoints.LatestChangeDP_Factor}&ensp;&ensp;days"},"style":{"left":"1467px","top":"82px","font-size":"smaller","width":"152px","height":"41px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>Alias Prüfung</b>","html_append":""},"style":{"left":"949px","top":"108px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.CheckAliase","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1116px","top":"107px","z-index":"115","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>RUN</b>"},"style":{"left":"1363px","top":"144px","font-size":"smaller","width":"70px","height":"24px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#63f2e2","line-height":"1.2","text-align":"center"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"title":"","title_color":"white","title_top":"-2","title_left":"2","header_height":"0","header_color":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"939px","top":"10px","z-index":"0","width":"744px","height":"168px","border-color":"#20f824 ","border-radius":"15px","border-width":"1px","background-color":"#414e43","font-size":"small","background":""},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.WertAnalyse","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1116px","top":"25px","z-index":"115"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.TypeAnalyse","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1116px","top":"55px","z-index":"115"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>mit Type-analyse</b>"},"style":{"left":"949px","top":"54px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"21","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>mit Wert-Analyse</b>"},"style":{"left":"949px","top":"29px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueList","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"<b>SmartName Prüfung</b>","html_append":""},"style":{"left":"949px","top":"83px","font-size":"smaller","width":"152px","height":"19px","font-style":"normal","font-family":"\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif","z-index":"5","color":"#20f824 ","line-height":"1.2","text-align":"right"},"widgetSet":"basic"},{"tpl":"tplValueBoolCheckbox","data":{"oid":"javascript.0.ProofingDatapoints.SmartHomeAnalyse","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1117px","top":"82px","z-index":"115","text-align":"right"},"widgetSet":"basic"}]
                      

                      • bisher erfolgreich bei adaptern angewandt
                      adapter beispiel
                      alexa2 datenpunkt fehler - state existierte - aber kein datenpunkt-object
                      plex falsche datenpunkt-type-definition, da adapter datenpunktdefinition von plex automatisch übernahm
                      pi-hole falsche datenpunkt-type-definition
                      DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      schrieb am zuletzt editiert von
                      #15

                      @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                      beim aufsuchen der datenpunkte kann es zu vielen warnungen im log kommen - ist nicht verhinderbar

                      koenntest dus eventuell mit nem

                      try {
                         hier der code
                      }
                      

                      abfangen

                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • sigi234S sigi234

                        @liv-in-sky

                        So jetzt sind es 17000 kommt so ungefähr hin.
                        Hatte kurz mal einen Nachricht: Skript hat Fehler
                        Web geht noch nicht.

                        Letztes File Update: 20:28:35 (gestern)

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #16

                        @sigi234

                        ich hab noch einen fehler bei der berechnung der anzahl der objekte entdeckt - werd ich checken - "hängt mit monstersearch zusammen"

                        normal läuft es so - bei script start (runscript=true) wird eine datei geschrieben in der steht, dass es einen fehler gibt - läuft das script erfolgreich durch wird das file wieder überschrieben mit den ausgewerteten angaben. das bedeutet: für den durchlauf des scripts (millisekunden) gibt es eine webseite, die einen fehler anzeigt - wird aber am ende überschrieben - das ganze gilt auch für den datenpunkt für die vis

                        folgendes kann vorkommen:

                        • script startet - webseite mit fehler wird erstellt
                        • script bricht wegen fehler ab - in webseite steht auf fehler meldung
                        • script läuft durch - webseite mit fehlermeldung wird überschrieben - daten stehen in webseite

                        wenn, wie bei dir, die webseite nicht geschrieben wird , die daten für die vis schon, dann müßte der writeFile-befehl nicht mehr funktionieren, den zumindest müßte einmal ein webseite (wenn auch mit fehlermeldung) erzeugt werden

                        wenn ich ehrlich bin - mir fällt dazu nichts wirklich gutes ein - außer das ganze script nochmal zu ersetzen

                        nutze mal das ganze script hier: aber ersetze die var instanzArr mit deinen werten (ganz am anfang)

                        // @Liv-in-sky Okt.  2019
                        
                        
                        
                        
                                                                  // WICHTIG
                        const instanzArr=[ "controll-own.0", "alexa2.0"];      // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                                  // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",];
                        
                        var color_in_table="black"    //Farbe text in webseite
                        let schriftart="Helvetica";  //möglich: Helvetica,Serif
                        var color_gradient1="#819FF7"  // Hintergrund webseite     
                        
                        //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                        
                        
                        
                        const versionNr = "15102019-1.0"
                        
                        var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                        var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                        const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
                        const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
                        const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
                        //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
                        const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
                        var allInstArr=[];
                        var  instanzArrHelp=[];
                        const dpPrefix = "javascript."+ instance +".";
                        var mylogs=false;
                        var htmlDP=[];
                        var htmlMSG=[];
                        var counterAll=0;
                        
                        
                        var htmlHelper="";
                        
                        createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
                        createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
                        createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
                        createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                        createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                        createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
                        
                        
                        //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                        
                        function instanzCount(){
                        
                           var counter=0; var counter2=0;var counter3=0; 
                        $('system.adapter.*.alive').each(function(id, i) {
                        
                        
                            var ida = id.split('.');
                             allInstArr.push(ida[2]+"."+ida[3]);
                           
                           if(!id.includes("vis")){
                           
                        
                           counter++;
                        
                           if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                              htmlDP.push(ida[2]+"."+ida[3]);
                              htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
                           if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                              htmlDP.push(ida[2]+"."+ida[3]);
                              htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
                           }
                        });
                        mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
                        htmlDP.push("");
                        htmlMSG.push("");
                        htmlDP.push("Anzahl Instanzen");
                        htmlMSG.push(counter.toString());
                        
                        mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
                        htmlDP.push("Instanzen ohne Werte");
                        htmlMSG.push(counter2.toString());
                        htmlDP.push("Instanzen nicht aktiviert");
                        htmlMSG.push(counter3.toString());
                        
                        
                        
                        }
                        
                        
                        //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
                        
                        function checkTypes(select) {
                           var counter=0; 
                           htmlMSG.push("");
                           htmlDP.push("");
                        console.log(typeof getState( "javascript.2.WLANUnifi.APInfo.AP-Light").val)
                           mylog(select)
                           $(select).each(function (id, i) {
                               counter++
                                  
                           if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                               
                               if (!JSON.stringify(getObject(id)).includes("type")) {
                                     mylog("no"+id);
                                     htmlDP.push(id+": "+valType);
                                     htmlMSG.push("<b>missing TYPE !!</b>" );}
                               
                                else{ var dpType = getObject(id).common.type;
                                      var valType = typeof getState(id).val;
                                      if(dpType != "mixed" ) {
                                      if(dpType !== valType && !(dpType == 'array' && valType == 'object') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                         mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                         htmlDP.push(id+": "+valType);
                                         htmlMSG.push(dpType );}
                                       
                               }}
                             /*
                               if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                   log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                   htmlDP.push(dpType);
                                   htmlMSG.push(valType);
                               }*/
                           }
                           });
                           htmlDP.push("ID+IST WERT");
                           htmlMSG.push("SOLL WERT");
                           htmlDP.push("<b><i>geprüfte Instanz</i></b>");
                           htmlMSG.push("<b>"+select+"</b>");
                           mylog("fertg" + counter.toString())
                          
                        }
                        
                        //------------------------------------------CHECK  WERTE--------------------------------------------------------
                        
                        function checkWerte(select) {
                           mylog("bin in check Werte");
                           var counter=0; 
                        
                           mylog(select);
                           $(select).each(function (id, i) {
                               counter++
                               
                           if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /* )  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                             //  var dpType = getObject(id).common.type;
                               var valType =  getState(id).val;
                               //if(dpType != "mixed" ) {}
                        
                                   if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                                       htmlDP.push(id);
                                       var ddd = new Date().getTime()-getObject(id).ts;
                                       htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                                      }
                               
                            
                           }
                           });
                         
                            mylog("bin raus aus check Werte");
                          
                        }
                        //---------------------------------------------------------------------------------------------------------------------
                        
                        
                        function mylog(message) {
                          if(mylogs)
                              console.log(message);
                        }
                        
                        //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
                        function countDP(idb){
                           mylog("bin richtig in count");
                           var counter4=0;
                        
                           $(idb+".*").each(function(id, i) {
                           counter4++; })
                        
                        console.log(idb+counter4);
                        htmlDP.unshift(idb);
                        htmlMSG.unshift(counter4.toString());
                        counterAll=counterAll+counter4;
                        mylog("bin raus aus count");
                        }
                        
                        
                        //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                        on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
                           let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                           let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                           let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                           setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                           htmlHelper="";
                           setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                           writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                           htmlHelper="";
                           counterAll=0;
                           instanzArrHelp=[];
                           allInstArr=[];
                        
                        
                        setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                        
                        htmlDP=[];
                        htmlMSG=[];
                        
                        instanzCount();  //überprüft instanzen und stellt allInstArr her
                        
                        htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                        mylog(instanzArr.length+"==================="+instanzArr.toString());
                        
                        
                        if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                        
                        
                        for(let name in instanzArrHelp){
                           checkWerte(instanzArrHelp[name]+".*")                   //checkt alle werte in intanzArr
                          mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name]);}
                        
                            if (instanzAnzahl){
                                  htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                                   
                                  for(let name in instanzArrHelp){
                                    countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                  htmlDP.unshift("<b><i>Gesamt geprüfte Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                                  mylog("=============: "+counterAll);
                        
                        if (java && !monster) checkWerte('javascript.*');                //checkt alle javainstanzen
                        
                        
                         htmlDP.push("<b><i>ID ohne WERT</i></b>");
                         htmlMSG.push("");
                        
                        for(let name in instanzArrHelp){
                           checkTypes(instanzArrHelp[name]+".*")
                           mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                             htmlDP.push("<b><i>ID falscher TYPE</i></b>");
                             htmlMSG.push("");
                        
                         if (java && !monster) checkTypes('javascript.*');
                        
                        for(var i= htmlDP.length-1; i>-1; i--) {
                          htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
                        
                        }
                           if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
                        
                        
                           if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                        
                          if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                     endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
                           
                           if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
                            if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
                        
                           endehtml="";
                           setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                        
                        
                        });
                        
                        

                        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

                        sigi234S 2 Antworten Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @sigi234

                          ich hab noch einen fehler bei der berechnung der anzahl der objekte entdeckt - werd ich checken - "hängt mit monstersearch zusammen"

                          normal läuft es so - bei script start (runscript=true) wird eine datei geschrieben in der steht, dass es einen fehler gibt - läuft das script erfolgreich durch wird das file wieder überschrieben mit den ausgewerteten angaben. das bedeutet: für den durchlauf des scripts (millisekunden) gibt es eine webseite, die einen fehler anzeigt - wird aber am ende überschrieben - das ganze gilt auch für den datenpunkt für die vis

                          folgendes kann vorkommen:

                          • script startet - webseite mit fehler wird erstellt
                          • script bricht wegen fehler ab - in webseite steht auf fehler meldung
                          • script läuft durch - webseite mit fehlermeldung wird überschrieben - daten stehen in webseite

                          wenn, wie bei dir, die webseite nicht geschrieben wird , die daten für die vis schon, dann müßte der writeFile-befehl nicht mehr funktionieren, den zumindest müßte einmal ein webseite (wenn auch mit fehlermeldung) erzeugt werden

                          wenn ich ehrlich bin - mir fällt dazu nichts wirklich gutes ein - außer das ganze script nochmal zu ersetzen

                          nutze mal das ganze script hier: aber ersetze die var instanzArr mit deinen werten (ganz am anfang)

                          // @Liv-in-sky Okt.  2019
                          
                          
                          
                          
                                                                    // WICHTIG
                          const instanzArr=[ "controll-own.0", "alexa2.0"];      // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                                    // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",];
                          
                          var color_in_table="black"    //Farbe text in webseite
                          let schriftart="Helvetica";  //möglich: Helvetica,Serif
                          var color_gradient1="#819FF7"  // Hintergrund webseite     
                          
                          //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                          
                          
                          
                          const versionNr = "15102019-1.0"
                          
                          var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                          var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                          const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
                          const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
                          const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
                          //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
                          const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
                          var allInstArr=[];
                          var  instanzArrHelp=[];
                          const dpPrefix = "javascript."+ instance +".";
                          var mylogs=false;
                          var htmlDP=[];
                          var htmlMSG=[];
                          var counterAll=0;
                          
                          
                          var htmlHelper="";
                          
                          createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
                          createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
                          createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
                          createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                          createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                          createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
                          
                          
                          //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                          
                          function instanzCount(){
                          
                             var counter=0; var counter2=0;var counter3=0; 
                          $('system.adapter.*.alive').each(function(id, i) {
                          
                          
                              var ida = id.split('.');
                               allInstArr.push(ida[2]+"."+ida[3]);
                             
                             if(!id.includes("vis")){
                             
                          
                             counter++;
                          
                             if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                                htmlDP.push(ida[2]+"."+ida[3]);
                                htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
                             if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                                htmlDP.push(ida[2]+"."+ida[3]);
                                htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
                             }
                          });
                          mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
                          htmlDP.push("");
                          htmlMSG.push("");
                          htmlDP.push("Anzahl Instanzen");
                          htmlMSG.push(counter.toString());
                          
                          mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
                          htmlDP.push("Instanzen ohne Werte");
                          htmlMSG.push(counter2.toString());
                          htmlDP.push("Instanzen nicht aktiviert");
                          htmlMSG.push(counter3.toString());
                          
                          
                          
                          }
                          
                          
                          //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
                          
                          function checkTypes(select) {
                             var counter=0; 
                             htmlMSG.push("");
                             htmlDP.push("");
                          console.log(typeof getState( "javascript.2.WLANUnifi.APInfo.AP-Light").val)
                             mylog(select)
                             $(select).each(function (id, i) {
                                 counter++
                                    
                             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                 
                                 if (!JSON.stringify(getObject(id)).includes("type")) {
                                       mylog("no"+id);
                                       htmlDP.push(id+": "+valType);
                                       htmlMSG.push("<b>missing TYPE !!</b>" );}
                                 
                                  else{ var dpType = getObject(id).common.type;
                                        var valType = typeof getState(id).val;
                                        if(dpType != "mixed" ) {
                                        if(dpType !== valType && !(dpType == 'array' && valType == 'object') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                           mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                           htmlDP.push(id+": "+valType);
                                           htmlMSG.push(dpType );}
                                         
                                 }}
                               /*
                                 if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                     log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                     htmlDP.push(dpType);
                                     htmlMSG.push(valType);
                                 }*/
                             }
                             });
                             htmlDP.push("ID+IST WERT");
                             htmlMSG.push("SOLL WERT");
                             htmlDP.push("<b><i>geprüfte Instanz</i></b>");
                             htmlMSG.push("<b>"+select+"</b>");
                             mylog("fertg" + counter.toString())
                            
                          }
                          
                          //------------------------------------------CHECK  WERTE--------------------------------------------------------
                          
                          function checkWerte(select) {
                             mylog("bin in check Werte");
                             var counter=0; 
                          
                             mylog(select);
                             $(select).each(function (id, i) {
                                 counter++
                                 
                             if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /* )  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                               //  var dpType = getObject(id).common.type;
                                 var valType =  getState(id).val;
                                 //if(dpType != "mixed" ) {}
                          
                                     if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                                         htmlDP.push(id);
                                         var ddd = new Date().getTime()-getObject(id).ts;
                                         htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                                        }
                                 
                              
                             }
                             });
                           
                              mylog("bin raus aus check Werte");
                            
                          }
                          //---------------------------------------------------------------------------------------------------------------------
                          
                          
                          function mylog(message) {
                            if(mylogs)
                                console.log(message);
                          }
                          
                          //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
                          function countDP(idb){
                             mylog("bin richtig in count");
                             var counter4=0;
                          
                             $(idb+".*").each(function(id, i) {
                             counter4++; })
                          
                          console.log(idb+counter4);
                          htmlDP.unshift(idb);
                          htmlMSG.unshift(counter4.toString());
                          counterAll=counterAll+counter4;
                          mylog("bin raus aus count");
                          }
                          
                          
                          //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                          on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
                             let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                             let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                             let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                             setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                             htmlHelper="";
                             setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                             writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                             htmlHelper="";
                             counterAll=0;
                             instanzArrHelp=[];
                             allInstArr=[];
                          
                          
                          setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                          
                          htmlDP=[];
                          htmlMSG=[];
                          
                          instanzCount();  //überprüft instanzen und stellt allInstArr her
                          
                          htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                          mylog(instanzArr.length+"==================="+instanzArr.toString());
                          
                          
                          if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                          
                          
                          for(let name in instanzArrHelp){
                             checkWerte(instanzArrHelp[name]+".*")                   //checkt alle werte in intanzArr
                            mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name]);}
                          
                              if (instanzAnzahl){
                                    htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                                     
                                    for(let name in instanzArrHelp){
                                      countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                    htmlDP.unshift("<b><i>Gesamt geprüfte Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                                    mylog("=============: "+counterAll);
                          
                          if (java && !monster) checkWerte('javascript.*');                //checkt alle javainstanzen
                          
                          
                           htmlDP.push("<b><i>ID ohne WERT</i></b>");
                           htmlMSG.push("");
                          
                          for(let name in instanzArrHelp){
                             checkTypes(instanzArrHelp[name]+".*")
                             mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                               htmlDP.push("<b><i>ID falscher TYPE</i></b>");
                               htmlMSG.push("");
                          
                           if (java && !monster) checkTypes('javascript.*');
                          
                          for(var i= htmlDP.length-1; i>-1; i--) {
                            htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
                          
                          }
                             if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
                          
                          
                             if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                          
                            if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                       endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
                             
                             if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
                              if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
                          
                             endehtml="";
                             setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                          
                          
                          });
                          
                          

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von sigi234
                          #17

                          @liv-in-sky

                          Super arbeit, funktioniert. Jetzt werden nur die Objekte gezählt die angegeben sind.

                          Objekte in Instanz  	Anzahl  
                          Eigene_datenpunkte.0  	0  
                          alexa2.0  	2040  
                          Gesamt geprüfte Objekte in Instanzen  	2040  
                          

                          Vergleich mit ioBroker Ansicht : 2455

                          Info 2:

                          ical.3  	nicht aktiviert  
                          ical.2  	nicht aktiviert  
                          ical.1  	nicht aktiviert  
                          ical.0  	nicht aktiviert  
                          

                          Diese Instanzen sind zwar aktiviert ( Grün) , gehe davon aus weil sie erst bei einen Cron starten sind sie bei dir als nicht aktiviert gekennzeichnet.Sind nur Beispiele , da gibt es mehrere.

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • sigi234S sigi234

                            @liv-in-sky

                            Super arbeit, funktioniert. Jetzt werden nur die Objekte gezählt die angegeben sind.

                            Objekte in Instanz  	Anzahl  
                            Eigene_datenpunkte.0  	0  
                            alexa2.0  	2040  
                            Gesamt geprüfte Objekte in Instanzen  	2040  
                            

                            Vergleich mit ioBroker Ansicht : 2455

                            Info 2:

                            ical.3  	nicht aktiviert  
                            ical.2  	nicht aktiviert  
                            ical.1  	nicht aktiviert  
                            ical.0  	nicht aktiviert  
                            

                            Diese Instanzen sind zwar aktiviert ( Grün) , gehe davon aus weil sie erst bei einen Cron starten sind sie bei dir als nicht aktiviert gekennzeichnet.Sind nur Beispiele , da gibt es mehrere.

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #18

                            @sigi234 die webseite funktioniert auch wieder ?

                            wegen der ical beispiele

                            ich verstehe das script folgendermaßen:

                            es läuft nicht immer, sondern nur bei bedarf, um mal zu sehen, wie es um die datenpunkte steht - besonders für die eigenen datenpunkte und die unter javascript.

                            • z.b habe ich einige leere dp gefunden, welche ich auch löschen kann, weil sie nicht mehr in benutzung sind - das gilt nicht für adapter (da kann ich ja die datenpunkte nicht definieren)
                            • oder nachdem ich mal alle datenpunkte einer instanz gelöscht habe (daswetter.com) bin ich von 1400 auf 900 datenpunkte gekommen - alle diese punkte müssen ja irgendwo/wie verwaltet werden und benötigin resourcen dafür - es kann also nicht schaden, die datenpunkte zu minimieren
                            • entwickler können checken, ob alle datenpunkte richtig deklariert worden sind und nur den gewünschen adapter zu überwachen
                            • entwickler können einzelne ordner in der struktut überwachen - also nicht eine ganze instanz, sondern nur die ordner (siehe bild) , die ich gerade bearbeite durch ein script (ist noch in entwicklung)

                            Image 5.png

                            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

                            sigi234S 1 Antwort Letzte Antwort
                            0
                            • liv-in-skyL liv-in-sky

                              @sigi234 die webseite funktioniert auch wieder ?

                              wegen der ical beispiele

                              ich verstehe das script folgendermaßen:

                              es läuft nicht immer, sondern nur bei bedarf, um mal zu sehen, wie es um die datenpunkte steht - besonders für die eigenen datenpunkte und die unter javascript.

                              • z.b habe ich einige leere dp gefunden, welche ich auch löschen kann, weil sie nicht mehr in benutzung sind - das gilt nicht für adapter (da kann ich ja die datenpunkte nicht definieren)
                              • oder nachdem ich mal alle datenpunkte einer instanz gelöscht habe (daswetter.com) bin ich von 1400 auf 900 datenpunkte gekommen - alle diese punkte müssen ja irgendwo/wie verwaltet werden und benötigin resourcen dafür - es kann also nicht schaden, die datenpunkte zu minimieren
                              • entwickler können checken, ob alle datenpunkte richtig deklariert worden sind und nur den gewünschen adapter zu überwachen
                              • entwickler können einzelne ordner in der struktut überwachen - also nicht eine ganze instanz, sondern nur die ordner (siehe bild) , die ich gerade bearbeite durch ein script (ist noch in entwicklung)

                              Image 5.png

                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #19

                              @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                              die webseite funktioniert auch wieder ?

                              JA:+1:

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              1 Antwort Letzte Antwort
                              0
                              • DutchmanD Dutchman

                                @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                                beim aufsuchen der datenpunkte kann es zu vielen warnungen im log kommen - ist nicht verhinderbar

                                koenntest dus eventuell mit nem

                                try {
                                   hier der code
                                }
                                

                                abfangen

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #20

                                @Dutchman sagte in Script - Info über Datenpunkte sammeln:

                                @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                                beim aufsuchen der datenpunkte kann es zu vielen warnungen im log kommen - ist nicht verhinderbar

                                koenntest dus eventuell mit nem

                                try {
                                   hier der code
                                }
                                

                                abfangen

                                moin - hast du da mehr kenntnisse?

                                viele warnungen kommen bei der abfrage ob ein wert vorhanden ist

                                var valType =  getState(id).val;
                                

                                wenn ich nun das versuche, ändert sich nichts - die warnungen kommen - es wird kein error ausgegeben

                                 try {
                                        var valType =  getState(id).val;
                                        } catch (e) {console.log("------------ERROR: "+e)}
                                

                                ich glaube, dass man das nicht verhindern kann

                                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 Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von liv-in-sky
                                  #21

                                  es gibt ein update - u.a gibt es jetzt eine directSearch ! mehrim ersten post

                                  wünsche - anregungen werden gerne angenommen

                                  bitte alles unter const instanzArr=... ersetzen

                                  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

                                  sigi234S 1 Antwort Letzte Antwort
                                  0
                                  • liv-in-skyL liv-in-sky

                                    es gibt ein update - u.a gibt es jetzt eine directSearch ! mehrim ersten post

                                    wünsche - anregungen werden gerne angenommen

                                    bitte alles unter const instanzArr=... ersetzen

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von sigi234
                                    #22

                                    @liv-in-sky

                                    <p style="color:red;font-family:Helvetica;"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>undefined<p style="color:red;font-family:Helvetica;"><i>Script hat Fehler - bitte Log checken !!!</i></p>
                                    

                                    Skript:

                                    // @Liv-in-sky Okt.  2019
                                    
                                    
                                    
                                    
                                                                               // WICHTIG
                                                                               // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                                               //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi"
                                    const instanzArr=[ "Eigene_Datenpunkte.0", "ping.0"];       
                                                                               // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0", "javascript.2.WLANUnifi"];
                                    
                                    
                                    var color_in_table="black"         // Farbe text in webseite
                                    let schriftart="Helvetica";        // möglich: Helvetica,Serif
                                    var color_gradient1="#819FF7";     // Hintergrund webseite 
                                    var colorHeadlines="darkblue";     // Farbe Überschriften in der VIS Anzeige
                                    var colorHeadlinesDP="#36d5ec ";   // Farbe Überschriften in der WebSeite Anzeige     
                                    var warnFarbe = "#36d5ec";         //Farbe für Warnungen in vis und Webseite
                                    
                                    
                                    javascript.0	2019-10-18 15:29:46.244	info	(12524) script.js.System.Objekte: ================================schreibe file
                                    javascript.0	2019-10-18 15:29:46.242	info	(12524) script.js.System.Objekte: ----------select: ping.0.*
                                    javascript.0	2019-10-18 15:29:46.242	info	(12524) script.js.System.Objekte: ---------: *
                                    javascript.0	2019-10-18 15:29:46.241	info	(12524) script.js.System.Objekte: ----------select: Eigene_Datenpunkte.0.*
                                    javascript.0	2019-10-18 15:29:46.241	info	(12524) script.js.System.Objekte: ---------: *
                                    javascript.0	2019-10-18 15:29:26.841	info	(12524) script.js.System.Objekte: registered 2 subscriptions and 0 schedules
                                    javascript.0	2019-10-18 15:29:26.838	info	(12524) Start javascript script.js.System.Objekte
                                    javascript.0	2019-10-18 15:29:26.835	info	(12524) Stop script script.js.System.Objekte
                                    javascript.0	2019-10-18 15:29:02.734	info	(12524) script.js.System.Objekte: registered 2 subscriptions and 0 schedules
                                    javascript.0	2019-10-18 15:29:02.728	info	(12524) Start javascript script.js.System.Objekte
                                    

                                    Schaut jetzt besser aus:
                                    Im DP OrdnerCheck war ein true drinnen

                                    Screenshot (327).png

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    liv-in-skyL 1 Antwort Letzte Antwort
                                    0
                                    • liv-in-skyL liv-in-sky

                                      @sigi234

                                      ich hab noch einen fehler bei der berechnung der anzahl der objekte entdeckt - werd ich checken - "hängt mit monstersearch zusammen"

                                      normal läuft es so - bei script start (runscript=true) wird eine datei geschrieben in der steht, dass es einen fehler gibt - läuft das script erfolgreich durch wird das file wieder überschrieben mit den ausgewerteten angaben. das bedeutet: für den durchlauf des scripts (millisekunden) gibt es eine webseite, die einen fehler anzeigt - wird aber am ende überschrieben - das ganze gilt auch für den datenpunkt für die vis

                                      folgendes kann vorkommen:

                                      • script startet - webseite mit fehler wird erstellt
                                      • script bricht wegen fehler ab - in webseite steht auf fehler meldung
                                      • script läuft durch - webseite mit fehlermeldung wird überschrieben - daten stehen in webseite

                                      wenn, wie bei dir, die webseite nicht geschrieben wird , die daten für die vis schon, dann müßte der writeFile-befehl nicht mehr funktionieren, den zumindest müßte einmal ein webseite (wenn auch mit fehlermeldung) erzeugt werden

                                      wenn ich ehrlich bin - mir fällt dazu nichts wirklich gutes ein - außer das ganze script nochmal zu ersetzen

                                      nutze mal das ganze script hier: aber ersetze die var instanzArr mit deinen werten (ganz am anfang)

                                      // @Liv-in-sky Okt.  2019
                                      
                                      
                                      
                                      
                                                                                // WICHTIG
                                      const instanzArr=[ "controll-own.0", "alexa2.0"];      // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                                                // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",];
                                      
                                      var color_in_table="black"    //Farbe text in webseite
                                      let schriftart="Helvetica";  //möglich: Helvetica,Serif
                                      var color_gradient1="#819FF7"  // Hintergrund webseite     
                                      
                                      //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                                      
                                      
                                      
                                      const versionNr = "15102019-1.0"
                                      
                                      var endehtml=   "<p style=\"color:"+color_in_table+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                      var endehtmlDP=   "<p style=\"color:red; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                      const format = "<!DOCTYPE html><html lang=\"de\"><head><title>Putzer</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body>";
                                      const htmlTable="<table style=\"color:"+color_in_table+";text-align:left; font-family:"+schriftart+";background-image: linear-gradient(67deg,transparent,"+color_gradient1+");\">";
                                      const htmlReset="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"
                                      //  var htmlOhneAnzahl="<p style=\"color:red;font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"
                                      const htmlError="<p style=\"color:red;font-family:"+schriftart+";\"><i>Script hat Fehler - bitte Log checken !!!</i></p>"
                                      var allInstArr=[];
                                      var  instanzArrHelp=[];
                                      const dpPrefix = "javascript."+ instance +".";
                                      var mylogs=false;
                                      var htmlDP=[];
                                      var htmlMSG=[];
                                      var counterAll=0;
                                      
                                      
                                      var htmlHelper="";
                                      
                                      createState(dpPrefix + "ProofingDatapoints.HTMLTable", { name: 'HTMLTable',  type: 'string', read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.ScriptVersion", versionNr,{ name: 'ScriptVersion',  type: 'string', read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.RunScript", { name: 'RunScript',  type: 'boolean', role:"switch", read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck", true,{ name: 'JavaInstanzCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck", true,{ name: 'ObjectAnzahlCheck',  type: 'boolean', role:"switch", read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.MonsterSearch", false,{ name: 'MonsterSearch',  type: 'boolean', role:"switch", read:  true,  write: true,});
                                      
                                      
                                      //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                                      
                                      function instanzCount(){
                                      
                                         var counter=0; var counter2=0;var counter3=0; 
                                      $('system.adapter.*.alive').each(function(id, i) {
                                      
                                      
                                          var ida = id.split('.');
                                           allInstArr.push(ida[2]+"."+ida[3]);
                                         
                                         if(!id.includes("vis")){
                                         
                                      
                                         counter++;
                                      
                                         if (getState(id).val==null) {;counter2++; mylog(ida[2]+ida[3]+"--------------------der hier wurde nie gestartet"); 
                                            htmlDP.push(ida[2]+"."+ida[3]);
                                            htmlMSG.push("Instanzen ohne Werte");} //else{instanzArr.push(ida[2]+"."+ida[3])}
                                         if (getState(id).val==false) {counter3++;mylog(ida[2]+ida[3]+"-----------------------der hier ist ausgeschalten"); 
                                            htmlDP.push(ida[2]+"."+ida[3]);
                                            htmlMSG.push("nicht aktiviert");} /*else{instanzArr.push(ida[2]+"."+ida[3])}*/
                                         }
                                      });
                                      mylog("______________________________________________Anzahl Instanzen: " + counter.toString());
                                      htmlDP.push("");
                                      htmlMSG.push("");
                                      htmlDP.push("Anzahl Instanzen");
                                      htmlMSG.push(counter.toString());
                                      
                                      mylog("______________________________________________Anzahl gestoppter Instanzen ohne Werte: " + counter2.toString())
                                      htmlDP.push("Instanzen ohne Werte");
                                      htmlMSG.push(counter2.toString());
                                      htmlDP.push("Instanzen nicht aktiviert");
                                      htmlMSG.push(counter3.toString());
                                      
                                      
                                      
                                      }
                                      
                                      
                                      //------------------------------------------CHECK ZUORDNUNG--------------------------------------------------------
                                      
                                      function checkTypes(select) {
                                         var counter=0; 
                                         htmlMSG.push("");
                                         htmlDP.push("");
                                      console.log(typeof getState( "javascript.2.WLANUnifi.APInfo.AP-Light").val)
                                         mylog(select)
                                         $(select).each(function (id, i) {
                                             counter++
                                                
                                         if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                             
                                             if (!JSON.stringify(getObject(id)).includes("type")) {
                                                   mylog("no"+id);
                                                   htmlDP.push(id+": "+valType);
                                                   htmlMSG.push("<b>missing TYPE !!</b>" );}
                                             
                                              else{ var dpType = getObject(id).common.type;
                                                    var valType = typeof getState(id).val;
                                                    if(dpType != "mixed" ) {
                                                    if(dpType !== valType && !(dpType == 'array' && valType == 'object') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                                       mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                                       htmlDP.push(id+": "+valType);
                                                       htmlMSG.push(dpType );}
                                                     
                                             }}
                                           /*
                                             if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                                 log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                                 htmlDP.push(dpType);
                                                 htmlMSG.push(valType);
                                             }*/
                                         }
                                         });
                                         htmlDP.push("ID+IST WERT");
                                         htmlMSG.push("SOLL WERT");
                                         htmlDP.push("<b><i>geprüfte Instanz</i></b>");
                                         htmlMSG.push("<b>"+select+"</b>");
                                         mylog("fertg" + counter.toString())
                                        
                                      }
                                      
                                      //------------------------------------------CHECK  WERTE--------------------------------------------------------
                                      
                                      function checkWerte(select) {
                                         mylog("bin in check Werte");
                                         var counter=0; 
                                      
                                         mylog(select);
                                         $(select).each(function (id, i) {
                                             counter++
                                             
                                         if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /* )  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                           //  var dpType = getObject(id).common.type;
                                             var valType =  getState(id).val;
                                             //if(dpType != "mixed" ) {}
                                      
                                                 if(valType === null) {mylog(id + ': Datenpunkttyp: ' /*+ dpType */+ ", Wert: "+valType);
                                                     htmlDP.push(id);
                                                     var ddd = new Date().getTime()-getObject(id).ts;
                                                     htmlMSG.push("missing seit " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m ");
                                                    }
                                             
                                          
                                         }
                                         });
                                       
                                          mylog("bin raus aus check Werte");
                                        
                                      }
                                      //---------------------------------------------------------------------------------------------------------------------
                                      
                                      
                                      function mylog(message) {
                                        if(mylogs)
                                            console.log(message);
                                      }
                                      
                                      //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
                                      function countDP(idb){
                                         mylog("bin richtig in count");
                                         var counter4=0;
                                      
                                         $(idb+".*").each(function(id, i) {
                                         counter4++; })
                                      
                                      console.log(idb+counter4);
                                      htmlDP.unshift(idb);
                                      htmlMSG.unshift(counter4.toString());
                                      counterAll=counterAll+counter4;
                                      mylog("bin raus aus count");
                                      }
                                      
                                      
                                      //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                                      on({id:dpPrefix + "ProofingDatapoints.RunScript",  val: true}, function (obj) { 
                                         let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                                         let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                                         let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                                         setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                                         htmlHelper="";
                                         setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                                         writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                                         htmlHelper="";
                                         counterAll=0;
                                         instanzArrHelp=[];
                                         allInstArr=[];
                                      
                                      
                                      setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                                      
                                      htmlDP=[];
                                      htmlMSG=[];
                                      
                                      instanzCount();  //überprüft instanzen und stellt allInstArr her
                                      
                                      htmlDP.push("<b><i>INSTANZ INFO</i></b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                                      mylog(instanzArr.length+"==================="+instanzArr.toString());
                                      
                                      
                                      if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                                      
                                      
                                      for(let name in instanzArrHelp){
                                         checkWerte(instanzArrHelp[name]+".*")                   //checkt alle werte in intanzArr
                                        mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name]);}
                                      
                                          if (instanzAnzahl){
                                                htmlDP.unshift(""); htmlMSG.unshift("");htmlDP.unshift("<b><i>Objekte in Instanz</i></b>"); htmlMSG.unshift("Anzahl"); 
                                                 
                                                for(let name in instanzArrHelp){
                                                  countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                                htmlDP.unshift("<b><i>Gesamt geprüfte Objekte in Instanzen</i></b>"); htmlMSG.unshift("<b>"+counterAll.toString()+"</b>"); }
                                                mylog("=============: "+counterAll);
                                      
                                      if (java && !monster) checkWerte('javascript.*');                //checkt alle javainstanzen
                                      
                                      
                                       htmlDP.push("<b><i>ID ohne WERT</i></b>");
                                       htmlMSG.push("");
                                      
                                      for(let name in instanzArrHelp){
                                         checkTypes(instanzArrHelp[name]+".*")
                                         mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                           htmlDP.push("<b><i>ID falscher TYPE</i></b>");
                                           htmlMSG.push("");
                                      
                                       if (java && !monster) checkTypes('javascript.*');
                                      
                                      for(var i= htmlDP.length-1; i>-1; i--) {
                                        htmlHelper= htmlHelper+"<tr><td>"+htmlDP[i]+"&ensp;&ensp;</td><td>"+htmlMSG[i]+"&ensp;&ensp;</td></tr>"
                                      
                                      }
                                         if (monster){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                                   endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!!  Monster Suche wird automatisch  deaktiviert !!! Bericht nur über WebSeite</i></p>"+endehtmlDP;}
                                      
                                      
                                         if (!instanzAnzahl){endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                                   endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                                      
                                        if (!java){ endehtml="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                                   endehtmlDP="<p style=\"color:red; font-family:"+schriftart+";\"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtmlDP;}
                                         
                                         if(!monster) { setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP+"<table>"+htmlHelper,900);} else{setStateDelayed(dpPrefix + "ProofingDatapoints.HTMLTable",endehtmlDP,900);}
                                          if(true)  writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelper+"</table></body>", function (error) { mylog('file written'); });
                                      
                                         endehtml="";
                                         setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                                      
                                      
                                      });
                                      
                                      

                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von sigi234
                                      #23

                                      @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                                      zumindest müßte einmal ein webseite (wenn auch mit fehlermeldung) erzeugt werden

                                      Ja, aber wenn ich die instanzArr ändere wir keine Webseite geschrieben? Sollte doch sein.

                                      Ich habe die Webadresse zu den Favoriten hinzugefügt und rufe diese dann auf. Vielleicht setzt er da einen Cookie und aktualisiert nicht?

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @liv-in-sky

                                        <p style="color:red;font-family:Helvetica;"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>undefined<p style="color:red;font-family:Helvetica;"><i>Script hat Fehler - bitte Log checken !!!</i></p>
                                        

                                        Skript:

                                        // @Liv-in-sky Okt.  2019
                                        
                                        
                                        
                                        
                                                                                   // WICHTIG
                                                                                   // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                                                   //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi"
                                        const instanzArr=[ "Eigene_Datenpunkte.0", "ping.0"];       
                                                                                   // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0", "javascript.2.WLANUnifi"];
                                        
                                        
                                        var color_in_table="black"         // Farbe text in webseite
                                        let schriftart="Helvetica";        // möglich: Helvetica,Serif
                                        var color_gradient1="#819FF7";     // Hintergrund webseite 
                                        var colorHeadlines="darkblue";     // Farbe Überschriften in der VIS Anzeige
                                        var colorHeadlinesDP="#36d5ec ";   // Farbe Überschriften in der WebSeite Anzeige     
                                        var warnFarbe = "#36d5ec";         //Farbe für Warnungen in vis und Webseite
                                        
                                        
                                        javascript.0	2019-10-18 15:29:46.244	info	(12524) script.js.System.Objekte: ================================schreibe file
                                        javascript.0	2019-10-18 15:29:46.242	info	(12524) script.js.System.Objekte: ----------select: ping.0.*
                                        javascript.0	2019-10-18 15:29:46.242	info	(12524) script.js.System.Objekte: ---------: *
                                        javascript.0	2019-10-18 15:29:46.241	info	(12524) script.js.System.Objekte: ----------select: Eigene_Datenpunkte.0.*
                                        javascript.0	2019-10-18 15:29:46.241	info	(12524) script.js.System.Objekte: ---------: *
                                        javascript.0	2019-10-18 15:29:26.841	info	(12524) script.js.System.Objekte: registered 2 subscriptions and 0 schedules
                                        javascript.0	2019-10-18 15:29:26.838	info	(12524) Start javascript script.js.System.Objekte
                                        javascript.0	2019-10-18 15:29:26.835	info	(12524) Stop script script.js.System.Objekte
                                        javascript.0	2019-10-18 15:29:02.734	info	(12524) script.js.System.Objekte: registered 2 subscriptions and 0 schedules
                                        javascript.0	2019-10-18 15:29:02.728	info	(12524) Start javascript script.js.System.Objekte
                                        

                                        Schaut jetzt besser aus:
                                        Im DP OrdnerCheck war ein true drinnen

                                        Screenshot (327).png

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #24

                                        @sigi234

                                        hast du das ganze script ersetzt - hatte ich vergessen zu erwähnen - es gibt auch eine änderung über ab hier nichts mehr ändern

                                        nur const instanzArr kannst du später wieder reinkopieren

                                        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

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @sigi234

                                          hast du das ganze script ersetzt - hatte ich vergessen zu erwähnen - es gibt auch eine änderung über ab hier nichts mehr ändern

                                          nur const instanzArr kannst du später wieder reinkopieren

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #25

                                          @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:

                                          hast du das ganze script ersetzt

                                          Ja

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          liv-in-skyL 3 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          825

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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