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.5k

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

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

Script - Info über Datenpunkte sammeln

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
291 Beiträge 11 Kommentatoren 38.1k 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 Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #46

    @nis

    habe mal die prüfung für multistate eingeführt - wahrscheinlich hast du gerade keine solchen datenpunkte -, wenn doch, bitte testen, wenn du zeit hast

    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

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

      @sigi234 hi sigi

      könntest du nochmal testen

      ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst

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

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

      @sigi234 hi sigi

      könntest du nochmal testen

      ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst

      So, gerade getestet nur mit eigenen DP

      Funktioniert, Html erstellt.

      Screenshot (365).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
      • sigi234S sigi234

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

        @sigi234 hi sigi

        könntest du nochmal testen

        ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst

        So, gerade getestet nur mit eigenen DP

        Funktioniert, Html erstellt.

        Screenshot (365).png

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

        @sigi234 und gleich fehler gefunden

        javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?

        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 und gleich fehler gefunden

          javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?

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

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

          @sigi234 und gleich fehler gefunden

          javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?

          {
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1569269166953,
            "common": {
              "name": "Termine heute, morgen oder bis einschließlich übermorgen",
              "type": "boolean",
              "min": 1,
              "max": 3,
              "states": "1:heute;2:morgen;3:übermorgen",
              "role": "state"
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "javascript.0.Ansage.Terminvorschau",
            "type": "state"
          }
          

          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 und gleich fehler gefunden

            javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?

            {
              "from": "system.adapter.javascript.0",
              "user": "system.user.admin",
              "ts": 1569269166953,
              "common": {
                "name": "Termine heute, morgen oder bis einschließlich übermorgen",
                "type": "boolean",
                "min": 1,
                "max": 3,
                "states": "1:heute;2:morgen;3:übermorgen",
                "role": "state"
              },
              "native": {},
              "acl": {
                "object": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator",
                "state": 1636
              },
              "_id": "javascript.0.Ansage.Terminvorschau",
              "type": "state"
            }
            
            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #50

            @sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte

            der common.type müßte hier number sein

            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 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte

              der common.type müßte hier number sein

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

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

              @sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte

              der common.type müßte hier number sein

              Ok, DP wurde von einen Skript automatisch erstellt.

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

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

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

                @sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte

                der common.type müßte hier number sein

                Ok, DP wurde von einen Skript automatisch erstellt.

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

                @sigi234 ist halt nicht standard - paul hat mir das so erklärt - wahrscheinlich funktioniert es - aber u.U. kann ein anderer adapter (evtl. iqontrol) dann probleme haben

                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 ist halt nicht standard - paul hat mir das so erklärt - wahrscheinlich funktioniert es - aber u.U. kann ein anderer adapter (evtl. iqontrol) dann probleme haben

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

                  @liv-in-sky

                  So habe weitere instanzArr hinzufügefügt.
                  Kommt sofort die Fehlermeldung.

                  javascript.0	2019-10-23 18:46:59.473	error	(2400) at tryOnImmediate (timers.js:676:5)
                  javascript.0	2019-10-23 18:46:59.473	error	(2400) at runCallback (timers.js:705:18)
                  javascript.0	2019-10-23 18:46:59.473	error	(2400) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41)
                  javascript.0	2019-10-23 18:46:59.473	error	(2400) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.<anonymous> (script.js.System.Objekte:288:5)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at checkWerte (script.js.System.Objekte:170:15)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29)
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) at script.js.System.Objekte:185:26
                  javascript.0	2019-10-23 18:46:59.472	error	(2400) Error in callback: TypeError: Cannot read property 'common' of null
                  
                  // @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=[ "alexa2.0", "Eigene_Datenpunkte", "ping.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 
                  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
                  

                  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 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte

                    der common.type müßte hier number sein

                    Ok, DP wurde von einen Skript automatisch erstellt.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #54

                    @sigi234 sagte:

                    DP wurde von einen Skript automatisch erstellt.

                    Was nicht bedeutet, dass es richtig sein muss. Es sind 3 Zustände (Multistate), also muss common.type "number" sein.

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

                    1 Antwort Letzte Antwort
                    0
                    • sigi234S sigi234

                      @liv-in-sky

                      So habe weitere instanzArr hinzufügefügt.
                      Kommt sofort die Fehlermeldung.

                      javascript.0	2019-10-23 18:46:59.473	error	(2400) at tryOnImmediate (timers.js:676:5)
                      javascript.0	2019-10-23 18:46:59.473	error	(2400) at runCallback (timers.js:705:18)
                      javascript.0	2019-10-23 18:46:59.473	error	(2400) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41)
                      javascript.0	2019-10-23 18:46:59.473	error	(2400) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.<anonymous> (script.js.System.Objekte:288:5)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at checkWerte (script.js.System.Objekte:170:15)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29)
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) at script.js.System.Objekte:185:26
                      javascript.0	2019-10-23 18:46:59.472	error	(2400) Error in callback: TypeError: Cannot read property 'common' of null
                      
                      // @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=[ "alexa2.0", "Eigene_Datenpunkte", "ping.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 
                      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
                      
                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von liv-in-sky
                      #55

                      @sigi234

                      im datenpunkt ordnerCheck kannst du einzelne ordner durchsuchen

                      probier darin mal "alexa2.0" und anschliessend "ping.0" - sobald der wert drin ist, läuft das script los und durchsucht nur diesen ordner

                      eins davon sollte durchlaufen

                      es scheint du hast einen state, der keinen datenpunkt hat (vermute ich mal) zumindest lt zeile, wo der fehler auftritt

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

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

                        @sigi234

                        im datenpunkt ordnerCheck kannst du einzelne ordner durchsuchen

                        probier darin mal "alexa2.0" und anschliessend "ping.0" - sobald der wert drin ist, läuft das script los und durchsucht nur diesen ordner

                        eins davon sollte durchlaufen

                        es scheint du hast einen state, der keinen datenpunkt hat (vermute ich mal) zumindest lt zeile, wo der fehler auftritt

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #56

                        @liv-in-sky sagte:

                        es scheint du hast einen state, der keinen datenpunkt hat

                        Ja, es sieht danach aus.

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

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

                          @sigi234

                          im datenpunkt ordnerCheck kannst du einzelne ordner durchsuchen

                          probier darin mal "alexa2.0" und anschliessend "ping.0" - sobald der wert drin ist, läuft das script los und durchsucht nur diesen ordner

                          eins davon sollte durchlaufen

                          es scheint du hast einen state, der keinen datenpunkt hat (vermute ich mal) zumindest lt zeile, wo der fehler auftritt

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

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

                          ping.0

                          Geht aber keine HTML:

                          Screenshot (367).png

                          alexa2.0 geht 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

                            So habe weitere instanzArr hinzufügefügt.
                            Kommt sofort die Fehlermeldung.

                            javascript.0	2019-10-23 18:46:59.473	error	(2400) at tryOnImmediate (timers.js:676:5)
                            javascript.0	2019-10-23 18:46:59.473	error	(2400) at runCallback (timers.js:705:18)
                            javascript.0	2019-10-23 18:46:59.473	error	(2400) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41)
                            javascript.0	2019-10-23 18:46:59.473	error	(2400) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.<anonymous> (script.js.System.Objekte:288:5)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at checkWerte (script.js.System.Objekte:170:15)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29)
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) at script.js.System.Objekte:185:26
                            javascript.0	2019-10-23 18:46:59.472	error	(2400) Error in callback: TypeError: Cannot read property 'common' of null
                            
                            // @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=[ "alexa2.0", "Eigene_Datenpunkte", "ping.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 
                            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
                            
                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von liv-in-sky
                            #58

                            @sigi234

                            ich versuch mal den fehler abzufangen und einen fehler mit mehr info im iobroker log auszugeben

                            du kanns tauch gerne mal dieses script versuchen - ist nur der teil unterm setting

                            //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                            
                            
                            
                            const versionNr = "15102019-1.2"
                            const warnColor = warnFarbe ;
                            
                            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>"
                            const htmlHeaders = "style=\"color:"+colorHeadlines+";\""; 
                            const htmlHeadersDP = "style=\"color:"+colorHeadlinesDP+";\""; 
                            
                            //  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 directSearch=false;
                            var switchOn=false;
                            var helplogs=false;
                            
                            
                            var htmlHelper="";
                            var htmlHelperFile="";
                            
                            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",false, { 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,});
                            createState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige", false,{ name: 'ohneInstanzAnzeige',  type: 'boolean', role:"switch", read:  true,  write: true,});
                            createState(dpPrefix + "ProofingDatapoints.OrdnerCheck", "", { name: 'OrdnerCheck',  type: 'string', read:  true,  write: true,});
                            createState(dpPrefix + "ProofingDatapoints.RunSuccessful", false, { name: 'RunSuccessful',  type: 'boolean', role:"state", read:  true,  write: false,});
                            
                            
                            //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                            
                            function instanzCount(){
                              var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                              
                               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 (!ohneInstanz && !directSearch) {
                               
                               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])}*/
                               }}
                            });
                             if (!ohneInstanz) {
                            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) {
                                helplog("bin in check types");
                               var counter=0; 
                               htmlMSG.push("");
                               htmlDP.push("");
                               var sub= select.substring(select.length-1, select.length); log("---------: "+sub);//console.log("----------select: "+select);
                               mylog(select)
                               $(select).each(function (id, i) {
                                   counter++
                            
                                 //  console.log("===============id vor null - kein value zu:  "+id);
                                      
                               if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                   //console.log("===============id vor null - kein value zu:  "+id);
                                  //console.log("status0-checkType");
                                   if (getState(id).val==null) console.log("===============nullwert - kein value zu:  "+id);
                                  
                                  //console.log("status1-checkType");
                                   if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") /*&& !JSON.stringify(getObject(id)).includes("meta")*/ ) {
                                  //console.log("===============id nach stringify - kein value zu:  "+id);
                                        var valType = typeof getState(id).val;
                                         htmlDP.push(id+": "+valType);
                                         htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                   
                                    else{ 
                                     //console.log("status2-checkType");
                                        var dpType = getObject(id).common.type;
                                          var valType = typeof getState(id).val;
                                          if(dpType != "mixed" ) {
                                          if(dpType !== valType && !(dpType == 'array' && valType == 'object' &&  dpType == 'meta.user') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                             mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                             htmlDP.push(id+": "+valType);
                                             htmlMSG.push(dpType );
                            
                                             /* später testing)
                                             console.log("======1=============no type: "+id +"object: "+JSON.stringify(getObject(id)));
                                             if(!getObject(id).common.hasOwnProperty("type")) console.log("--------------kein TYPE: "+id) ;
                                             console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common));
                                           */
                                             
                                             }
                                           
                                   }}
                                 /*
                                   if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                       log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                       htmlDP.push(dpType);
                                       htmlMSG.push(valType);
                                   }*/
                               }
                               });
                               htmlDP.push("<i>ID + IST-WERT</i>");
                               htmlMSG.push("<i>SOLL-WERT</i>");
                             //  htmlDP.push("<b>geprüfte Instanz</b>");
                              // htmlMSG.push("<i><b>"+select+"</b></i>");
                                htmlDP.push("-col-<b>geprüfte Instanz</b>");
                               htmlMSG.push("-col-<i><b>"+select+"</b></i>");
                               helplog("fertg in checkType mit:" + counter.toString()+ " Durchläufen")
                              
                            }
                            
                            //------------------------------------------CHECK  WERTE--------------------------------------------------------
                            
                            function checkWerte(select) {
                               helplog("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;
                                   
                                 
                                        if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") ) { //CHECK MISSING OBJECT))
                                         try{
                                         valType = typeof getState(id).val;
                                         } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); }
                                         htmlDP.push(id+": "+valType);
                                         htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                            
                                         else {
                            
                                   var valType =  getState(id).val;
                            
                                  // if(dpType != "mixed" ) {}
                                  //console.log("status1");
                                       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 ");
                                       } 
                                          //console.log("status2");
                                    if(getObject(id).common.hasOwnProperty("states") /*&& JSON.stringify(getObject(id).common.states)!=null && JSON.stringify(getObject(id).common.states)!=undefined */){
                                       // console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common.states));
                                       //console.log("der hier: " +id);
                                       try{
                                       var helpStates= Object.keys(getObject(id).common.states);
                                       } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); extendObject(id, {common: {states:{"0":"script"}}})}
                                       var helpType= getObject(id).common.type;
                                      
                                     
                                     //  console.log(helpType);
                                    //console.log(helpStates.toString());
                                   // console.log(helpStates[0] + helpStates[1] );
                                    if (helpType=="number" || helpType=="boolean") {
                                               var alarmString=false;var alarmString2=false;
                                               for (var i=0;  i  < helpStates.length ;i++){
                                                  //  console.log( helpStates[i]);
                                                    mylog(isNaN(helpStates[i]).toString())  ;
                                                    if (isNaN(helpStates[i]) && helpType=="number") alarmString=true; //type number - stehen da nummern drin
                                                    var helpTypeBool= helpStates[i].toString()  + helpType;
                                                    if  (helpType=="boolean") {if (helpTypeBool !="falseboolean" && helpTypeBool != "trueboolean")  alarmString2=true;} //type boolean - stehen da booleans
                                               }
                                               if (alarmString){  htmlDP.push(id);
                                                                  htmlMSG.push("-col-<b>ACHTUNG Multstate must be number</b>")}
                                               if (alarmString2){ htmlDP.push(id);
                                                                  htmlMSG.push("-col-<b>ACHTUNG Multstate must be boolean</b>")}
                                               } else {htmlDP.push(id);
                                                       htmlMSG.push("-col-<b>ACHTUNG Multstate wrong Def.</b>")}
                                    
                                    } //ende states check
                                   /* else {            htmlDP.push(id);
                                                       htmlMSG.push("ACHTUNG Multstate wrong Def.")}*/
                               } //ende check missing object
                               } // ende script enabled check
                               }); // ende selct.each
                             
                                helplog("bin raus aus check Werte");
                              
                            }
                            //---------------------------------------------------------------------------------------------------------------------
                            
                            
                            function mylog(message) {
                              if(mylogs)
                                  console.log(message);
                            }function helplog(message) {
                              if(helplogs)
                                  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++; })
                            
                            mylog(idb+counter4);
                            htmlDP.unshift(idb);
                            htmlMSG.unshift(counter4.toString());
                            counterAll=counterAll+counter4;
                            mylog("bin raus aus count");
                            }
                            
                            //----------------------------------------------Direct Suchen
                            
                            on({id:dpPrefix + "ProofingDatapoints.OrdnerCheck", ack: false, change: "any"}, function (obj) {
                             
                                directSearch=true;
                                 instanzArrHelp=[];
                                setState(dpPrefix + "ProofingDatapoints.RunScript",true);
                            
                               
                                });
                            
                            //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                            on({id:dpPrefix + "ProofingDatapoints.RunScript", ack: false, val: true}, function (obj) { 
                               setState(dpPrefix + "ProofingDatapoints.RunSuccessful",false); 
                               let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                               let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                               let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                               var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                               var endehtmlConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                               var endehtmlDPConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                               setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                               htmlHelper="";
                               htmlHelperFile="";
                               setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                               writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                              
                               counterAll=0;
                               instanzArrHelp=[];
                               allInstArr=[];
                            
                            
                            setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                            
                            htmlDP=[];
                            htmlMSG=[];
                            
                            instanzCount();  //überprüft instanzen und stellt allInstArr her
                            
                            htmlDP.push("-col-<b>INSTANZ INFO</b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                            mylog(instanzArr.length+"==================="+instanzArr.toString());
                            
                            
                            if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                            if (directSearch) {instanzArrHelp=[]; instanzArrHelp.push(getState(dpPrefix + "ProofingDatapoints.OrdnerCheck").val);}
                            
                            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>OBJECTE IN INSTANZ</b>"); htmlMSG.unshift("Anzahl"); 
                                       
                                      for(let name in instanzArrHelp){
                                        countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                        if (java && !monster) countDP("javascript")
                                      htmlDP.unshift("-col-<b>GESAMT GEPRÜFTE OBJECTE IN INSTANZEN</b>"); htmlMSG.unshift("-col-<b>"+counterAll.toString()+"</b>"); 
                                      
                                      }
                                      mylog("=============: "+counterAll);
                            
                            if (java && !monster && !ohneInstanz && !directSearch) checkWerte('javascript.*');                //checkt alle javainstanzen
                            
                            
                             htmlDP.push("-col-<b>ID's OHNE WERT:</b>");
                             htmlMSG.push("");
                            
                            for(let name in instanzArrHelp){
                               checkTypes(instanzArrHelp[name]+".*")
                               mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                 htmlDP.push("");
                                 htmlMSG.push("");
                                 htmlDP.push("-col-<b>IDs MIT FALSCHEN TYPE:</b>");
                                 htmlMSG.push("");
                            
                            
                             if (java && !monster && !ohneInstanz && !directSearch ) checkTypes('javascript.*');
                            
                             //console.log(htmlMSG.length+"--"+htmlDP.length)
                            for(var i= htmlDP.length-1; i>-1; i--) {
                               //console.log(htmlDP[i]+"anerer :"+htmlMSG[i]);
                                 //  if (htmlMSG[i].includes("-col-")) console.log(htmlMSG[i]);
                                   let htmlDPVis; let htmlDPFile;let htmlMSGVis;let htmlMSGFile;
                                   if(htmlDP[i].includes("-col-")) {htmlDPVis=htmlDP[i].replace("-col-", (htmlHeadersDP+">"));  htmlDPVis=" "+htmlDPVis } else {htmlDPVis=">"+htmlDP[i]}
                                   if(htmlMSG[i].includes("-col-")) {htmlMSGVis=htmlMSG[i].replace("-col-", (htmlHeadersDP+">"));htmlMSGVis=" "+htmlMSGVis } else {htmlMSGVis=">"+htmlMSG[i]}
                                   htmlHelper= htmlHelper+"<tr><td"+htmlDPVis+"&ensp;&ensp;</td><td"+htmlMSGVis+"&ensp;&ensp;</td></tr>"
                            
                                //  if(htmlDP[i].includes("-col-")) {htmlDP[i]=htmlDP[i].replace("-col-", (htmlHeaders+">")); htmlDPFile=htmlDP[i]; htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                   if(htmlDP[i].includes("-col-")) {htmlDPFile=htmlDP[i].replace("-col-", (htmlHeaders+">"));  htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                   if(htmlMSG[i].includes("-col-")) {htmlMSGFile=htmlMSG[i].replace("-col-", (htmlHeaders+">")); htmlMSGFile=" "+htmlMSGFile; } else {htmlMSGFile=">"+htmlMSG[i]}    
                                   htmlHelperFile= htmlHelperFile+"<tr><td"+htmlDPFile+"&ensp;&ensp;</td><td"+htmlMSGFile+"&ensp;&ensp;</td></tr>"
                            }
                               var   endehtml=endehtmlConst;
                               var   endehtmlDP=endehtmlDPConst;                       
                                
                            
                               if (monster){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                         endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! ACHTUNG: SYSTEM WIRD BELASTET !!! </br></br>!!! Monster Suche wird automatisch  deaktiviert !!! </br></br> BERICHT/AUSWERTUNG NUR ÜBER WEBSEITE</i></p>"+endehtmlDP;}
                            
                            
                               if (!instanzAnzahl){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                         endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                            
                               if (!java){ endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                         endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung 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);}
                              
                               mylog("================================schreibe file")  ; 
                               writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelperFile+"</table></body>", function (error) { mylog('file written'); });
                            
                              // endehtml=endehtmlConst;
                              // endehtmlDP=endehtmlDPConst;
                            
                               setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                               directSearch=false;
                                setState(dpPrefix + "ProofingDatapoints.RunSuccessful",true); 
                            });
                            
                            

                            mit etwas glück kommt damit eine fehlermeldung mit der id !

                            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 versuch mal den fehler abzufangen und einen fehler mit mehr info im iobroker log auszugeben

                              du kanns tauch gerne mal dieses script versuchen - ist nur der teil unterm setting

                              //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                              
                              
                              
                              const versionNr = "15102019-1.2"
                              const warnColor = warnFarbe ;
                              
                              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>"
                              const htmlHeaders = "style=\"color:"+colorHeadlines+";\""; 
                              const htmlHeadersDP = "style=\"color:"+colorHeadlinesDP+";\""; 
                              
                              //  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 directSearch=false;
                              var switchOn=false;
                              var helplogs=false;
                              
                              
                              var htmlHelper="";
                              var htmlHelperFile="";
                              
                              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",false, { 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,});
                              createState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige", false,{ name: 'ohneInstanzAnzeige',  type: 'boolean', role:"switch", read:  true,  write: true,});
                              createState(dpPrefix + "ProofingDatapoints.OrdnerCheck", "", { name: 'OrdnerCheck',  type: 'string', read:  true,  write: true,});
                              createState(dpPrefix + "ProofingDatapoints.RunSuccessful", false, { name: 'RunSuccessful',  type: 'boolean', role:"state", read:  true,  write: false,});
                              
                              
                              //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                              
                              function instanzCount(){
                                var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                
                                 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 (!ohneInstanz && !directSearch) {
                                 
                                 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])}*/
                                 }}
                              });
                               if (!ohneInstanz) {
                              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) {
                                  helplog("bin in check types");
                                 var counter=0; 
                                 htmlMSG.push("");
                                 htmlDP.push("");
                                 var sub= select.substring(select.length-1, select.length); log("---------: "+sub);//console.log("----------select: "+select);
                                 mylog(select)
                                 $(select).each(function (id, i) {
                                     counter++
                              
                                   //  console.log("===============id vor null - kein value zu:  "+id);
                                        
                                 if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                     //console.log("===============id vor null - kein value zu:  "+id);
                                    //console.log("status0-checkType");
                                     if (getState(id).val==null) console.log("===============nullwert - kein value zu:  "+id);
                                    
                                    //console.log("status1-checkType");
                                     if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") /*&& !JSON.stringify(getObject(id)).includes("meta")*/ ) {
                                    //console.log("===============id nach stringify - kein value zu:  "+id);
                                          var valType = typeof getState(id).val;
                                           htmlDP.push(id+": "+valType);
                                           htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                     
                                      else{ 
                                       //console.log("status2-checkType");
                                          var dpType = getObject(id).common.type;
                                            var valType = typeof getState(id).val;
                                            if(dpType != "mixed" ) {
                                            if(dpType !== valType && !(dpType == 'array' && valType == 'object' &&  dpType == 'meta.user') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                               mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                               htmlDP.push(id+": "+valType);
                                               htmlMSG.push(dpType );
                              
                                               /* später testing)
                                               console.log("======1=============no type: "+id +"object: "+JSON.stringify(getObject(id)));
                                               if(!getObject(id).common.hasOwnProperty("type")) console.log("--------------kein TYPE: "+id) ;
                                               console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common));
                                             */
                                               
                                               }
                                             
                                     }}
                                   /*
                                     if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                         log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                         htmlDP.push(dpType);
                                         htmlMSG.push(valType);
                                     }*/
                                 }
                                 });
                                 htmlDP.push("<i>ID + IST-WERT</i>");
                                 htmlMSG.push("<i>SOLL-WERT</i>");
                               //  htmlDP.push("<b>geprüfte Instanz</b>");
                                // htmlMSG.push("<i><b>"+select+"</b></i>");
                                  htmlDP.push("-col-<b>geprüfte Instanz</b>");
                                 htmlMSG.push("-col-<i><b>"+select+"</b></i>");
                                 helplog("fertg in checkType mit:" + counter.toString()+ " Durchläufen")
                                
                              }
                              
                              //------------------------------------------CHECK  WERTE--------------------------------------------------------
                              
                              function checkWerte(select) {
                                 helplog("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;
                                     
                                   
                                          if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") ) { //CHECK MISSING OBJECT))
                                           try{
                                           valType = typeof getState(id).val;
                                           } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); }
                                           htmlDP.push(id+": "+valType);
                                           htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                              
                                           else {
                              
                                     var valType =  getState(id).val;
                              
                                    // if(dpType != "mixed" ) {}
                                    //console.log("status1");
                                         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 ");
                                         } 
                                            //console.log("status2");
                                      if(getObject(id).common.hasOwnProperty("states") /*&& JSON.stringify(getObject(id).common.states)!=null && JSON.stringify(getObject(id).common.states)!=undefined */){
                                         // console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common.states));
                                         //console.log("der hier: " +id);
                                         try{
                                         var helpStates= Object.keys(getObject(id).common.states);
                                         } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); extendObject(id, {common: {states:{"0":"script"}}})}
                                         var helpType= getObject(id).common.type;
                                        
                                       
                                       //  console.log(helpType);
                                      //console.log(helpStates.toString());
                                     // console.log(helpStates[0] + helpStates[1] );
                                      if (helpType=="number" || helpType=="boolean") {
                                                 var alarmString=false;var alarmString2=false;
                                                 for (var i=0;  i  < helpStates.length ;i++){
                                                    //  console.log( helpStates[i]);
                                                      mylog(isNaN(helpStates[i]).toString())  ;
                                                      if (isNaN(helpStates[i]) && helpType=="number") alarmString=true; //type number - stehen da nummern drin
                                                      var helpTypeBool= helpStates[i].toString()  + helpType;
                                                      if  (helpType=="boolean") {if (helpTypeBool !="falseboolean" && helpTypeBool != "trueboolean")  alarmString2=true;} //type boolean - stehen da booleans
                                                 }
                                                 if (alarmString){  htmlDP.push(id);
                                                                    htmlMSG.push("-col-<b>ACHTUNG Multstate must be number</b>")}
                                                 if (alarmString2){ htmlDP.push(id);
                                                                    htmlMSG.push("-col-<b>ACHTUNG Multstate must be boolean</b>")}
                                                 } else {htmlDP.push(id);
                                                         htmlMSG.push("-col-<b>ACHTUNG Multstate wrong Def.</b>")}
                                      
                                      } //ende states check
                                     /* else {            htmlDP.push(id);
                                                         htmlMSG.push("ACHTUNG Multstate wrong Def.")}*/
                                 } //ende check missing object
                                 } // ende script enabled check
                                 }); // ende selct.each
                               
                                  helplog("bin raus aus check Werte");
                                
                              }
                              //---------------------------------------------------------------------------------------------------------------------
                              
                              
                              function mylog(message) {
                                if(mylogs)
                                    console.log(message);
                              }function helplog(message) {
                                if(helplogs)
                                    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++; })
                              
                              mylog(idb+counter4);
                              htmlDP.unshift(idb);
                              htmlMSG.unshift(counter4.toString());
                              counterAll=counterAll+counter4;
                              mylog("bin raus aus count");
                              }
                              
                              //----------------------------------------------Direct Suchen
                              
                              on({id:dpPrefix + "ProofingDatapoints.OrdnerCheck", ack: false, change: "any"}, function (obj) {
                               
                                  directSearch=true;
                                   instanzArrHelp=[];
                                  setState(dpPrefix + "ProofingDatapoints.RunScript",true);
                              
                                 
                                  });
                              
                              //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                              on({id:dpPrefix + "ProofingDatapoints.RunScript", ack: false, val: true}, function (obj) { 
                                 setState(dpPrefix + "ProofingDatapoints.RunSuccessful",false); 
                                 let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                                 let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                                 let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                                 var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                 var endehtmlConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                 var endehtmlDPConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                 setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                                 htmlHelper="";
                                 htmlHelperFile="";
                                 setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                                 writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                                
                                 counterAll=0;
                                 instanzArrHelp=[];
                                 allInstArr=[];
                              
                              
                              setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                              
                              htmlDP=[];
                              htmlMSG=[];
                              
                              instanzCount();  //überprüft instanzen und stellt allInstArr her
                              
                              htmlDP.push("-col-<b>INSTANZ INFO</b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                              mylog(instanzArr.length+"==================="+instanzArr.toString());
                              
                              
                              if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                              if (directSearch) {instanzArrHelp=[]; instanzArrHelp.push(getState(dpPrefix + "ProofingDatapoints.OrdnerCheck").val);}
                              
                              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>OBJECTE IN INSTANZ</b>"); htmlMSG.unshift("Anzahl"); 
                                         
                                        for(let name in instanzArrHelp){
                                          countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                          if (java && !monster) countDP("javascript")
                                        htmlDP.unshift("-col-<b>GESAMT GEPRÜFTE OBJECTE IN INSTANZEN</b>"); htmlMSG.unshift("-col-<b>"+counterAll.toString()+"</b>"); 
                                        
                                        }
                                        mylog("=============: "+counterAll);
                              
                              if (java && !monster && !ohneInstanz && !directSearch) checkWerte('javascript.*');                //checkt alle javainstanzen
                              
                              
                               htmlDP.push("-col-<b>ID's OHNE WERT:</b>");
                               htmlMSG.push("");
                              
                              for(let name in instanzArrHelp){
                                 checkTypes(instanzArrHelp[name]+".*")
                                 mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                   htmlDP.push("");
                                   htmlMSG.push("");
                                   htmlDP.push("-col-<b>IDs MIT FALSCHEN TYPE:</b>");
                                   htmlMSG.push("");
                              
                              
                               if (java && !monster && !ohneInstanz && !directSearch ) checkTypes('javascript.*');
                              
                               //console.log(htmlMSG.length+"--"+htmlDP.length)
                              for(var i= htmlDP.length-1; i>-1; i--) {
                                 //console.log(htmlDP[i]+"anerer :"+htmlMSG[i]);
                                   //  if (htmlMSG[i].includes("-col-")) console.log(htmlMSG[i]);
                                     let htmlDPVis; let htmlDPFile;let htmlMSGVis;let htmlMSGFile;
                                     if(htmlDP[i].includes("-col-")) {htmlDPVis=htmlDP[i].replace("-col-", (htmlHeadersDP+">"));  htmlDPVis=" "+htmlDPVis } else {htmlDPVis=">"+htmlDP[i]}
                                     if(htmlMSG[i].includes("-col-")) {htmlMSGVis=htmlMSG[i].replace("-col-", (htmlHeadersDP+">"));htmlMSGVis=" "+htmlMSGVis } else {htmlMSGVis=">"+htmlMSG[i]}
                                     htmlHelper= htmlHelper+"<tr><td"+htmlDPVis+"&ensp;&ensp;</td><td"+htmlMSGVis+"&ensp;&ensp;</td></tr>"
                              
                                  //  if(htmlDP[i].includes("-col-")) {htmlDP[i]=htmlDP[i].replace("-col-", (htmlHeaders+">")); htmlDPFile=htmlDP[i]; htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                     if(htmlDP[i].includes("-col-")) {htmlDPFile=htmlDP[i].replace("-col-", (htmlHeaders+">"));  htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                     if(htmlMSG[i].includes("-col-")) {htmlMSGFile=htmlMSG[i].replace("-col-", (htmlHeaders+">")); htmlMSGFile=" "+htmlMSGFile; } else {htmlMSGFile=">"+htmlMSG[i]}    
                                     htmlHelperFile= htmlHelperFile+"<tr><td"+htmlDPFile+"&ensp;&ensp;</td><td"+htmlMSGFile+"&ensp;&ensp;</td></tr>"
                              }
                                 var   endehtml=endehtmlConst;
                                 var   endehtmlDP=endehtmlDPConst;                       
                                  
                              
                                 if (monster){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                           endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! ACHTUNG: SYSTEM WIRD BELASTET !!! </br></br>!!! Monster Suche wird automatisch  deaktiviert !!! </br></br> BERICHT/AUSWERTUNG NUR ÜBER WEBSEITE</i></p>"+endehtmlDP;}
                              
                              
                                 if (!instanzAnzahl){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                           endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                              
                                 if (!java){ endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                           endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung 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);}
                                
                                 mylog("================================schreibe file")  ; 
                                 writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelperFile+"</table></body>", function (error) { mylog('file written'); });
                              
                                // endehtml=endehtmlConst;
                                // endehtmlDP=endehtmlDPConst;
                              
                                 setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                                 directSearch=false;
                                  setState(dpPrefix + "ProofingDatapoints.RunSuccessful",true); 
                              });
                              
                              

                              mit etwas glück kommt damit eine fehlermeldung mit der id !

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

                              @liv-in-sky

                              Hmm, irgendetwas stimmt nicht.

                              Skript Grün, aber angezeigt wird Instanz ist deaktiviert. Das dauert so 2-5 Minuten dann geht die Meldung weg.

                              Screenshot (371).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 versuch mal den fehler abzufangen und einen fehler mit mehr info im iobroker log auszugeben

                                du kanns tauch gerne mal dieses script versuchen - ist nur der teil unterm setting

                                //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                                
                                
                                
                                const versionNr = "15102019-1.2"
                                const warnColor = warnFarbe ;
                                
                                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>"
                                const htmlHeaders = "style=\"color:"+colorHeadlines+";\""; 
                                const htmlHeadersDP = "style=\"color:"+colorHeadlinesDP+";\""; 
                                
                                //  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 directSearch=false;
                                var switchOn=false;
                                var helplogs=false;
                                
                                
                                var htmlHelper="";
                                var htmlHelperFile="";
                                
                                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",false, { 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,});
                                createState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige", false,{ name: 'ohneInstanzAnzeige',  type: 'boolean', role:"switch", read:  true,  write: true,});
                                createState(dpPrefix + "ProofingDatapoints.OrdnerCheck", "", { name: 'OrdnerCheck',  type: 'string', read:  true,  write: true,});
                                createState(dpPrefix + "ProofingDatapoints.RunSuccessful", false, { name: 'RunSuccessful',  type: 'boolean', role:"state", read:  true,  write: false,});
                                
                                
                                //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                                
                                function instanzCount(){
                                  var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                  
                                   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 (!ohneInstanz && !directSearch) {
                                   
                                   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])}*/
                                   }}
                                });
                                 if (!ohneInstanz) {
                                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) {
                                    helplog("bin in check types");
                                   var counter=0; 
                                   htmlMSG.push("");
                                   htmlDP.push("");
                                   var sub= select.substring(select.length-1, select.length); log("---------: "+sub);//console.log("----------select: "+select);
                                   mylog(select)
                                   $(select).each(function (id, i) {
                                       counter++
                                
                                     //  console.log("===============id vor null - kein value zu:  "+id);
                                          
                                   if (!id.includes('scriptEnabled') && !id.includes('scriptProblem')  && getState(id).val !== null /*&& !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS')*/ ){
                                       //console.log("===============id vor null - kein value zu:  "+id);
                                      //console.log("status0-checkType");
                                       if (getState(id).val==null) console.log("===============nullwert - kein value zu:  "+id);
                                      
                                      //console.log("status1-checkType");
                                       if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") /*&& !JSON.stringify(getObject(id)).includes("meta")*/ ) {
                                      //console.log("===============id nach stringify - kein value zu:  "+id);
                                            var valType = typeof getState(id).val;
                                             htmlDP.push(id+": "+valType);
                                             htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                       
                                        else{ 
                                         //console.log("status2-checkType");
                                            var dpType = getObject(id).common.type;
                                              var valType = typeof getState(id).val;
                                              if(dpType != "mixed" ) {
                                              if(dpType !== valType && !(dpType == 'array' && valType == 'object' &&  dpType == 'meta.user') /*&& !(dpType =='text' && valType=='string') && !(dpType =='string' && valType=='text')*/ ) {
                                                 mylog(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                                 htmlDP.push(id+": "+valType);
                                                 htmlMSG.push(dpType );
                                
                                                 /* später testing)
                                                 console.log("======1=============no type: "+id +"object: "+JSON.stringify(getObject(id)));
                                                 if(!getObject(id).common.hasOwnProperty("type")) console.log("--------------kein TYPE: "+id) ;
                                                 console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common));
                                               */
                                                 
                                                 }
                                               
                                       }}
                                     /*
                                       if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                                           log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                                           htmlDP.push(dpType);
                                           htmlMSG.push(valType);
                                       }*/
                                   }
                                   });
                                   htmlDP.push("<i>ID + IST-WERT</i>");
                                   htmlMSG.push("<i>SOLL-WERT</i>");
                                 //  htmlDP.push("<b>geprüfte Instanz</b>");
                                  // htmlMSG.push("<i><b>"+select+"</b></i>");
                                    htmlDP.push("-col-<b>geprüfte Instanz</b>");
                                   htmlMSG.push("-col-<i><b>"+select+"</b></i>");
                                   helplog("fertg in checkType mit:" + counter.toString()+ " Durchläufen")
                                  
                                }
                                
                                //------------------------------------------CHECK  WERTE--------------------------------------------------------
                                
                                function checkWerte(select) {
                                   helplog("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;
                                       
                                     
                                            if (!JSON.stringify(getObject(id)).includes("type") && !JSON.stringify(getObject(id)).includes("name") ) { //CHECK MISSING OBJECT))
                                             try{
                                             valType = typeof getState(id).val;
                                             } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); }
                                             htmlDP.push(id+": "+valType);
                                             htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                
                                             else {
                                
                                       var valType =  getState(id).val;
                                
                                      // if(dpType != "mixed" ) {}
                                      //console.log("status1");
                                           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 ");
                                           } 
                                              //console.log("status2");
                                        if(getObject(id).common.hasOwnProperty("states") /*&& JSON.stringify(getObject(id).common.states)!=null && JSON.stringify(getObject(id).common.states)!=undefined */){
                                           // console.log("======2=============no type: "+id +"object: "+JSON.stringify(getObject(id).common.states));
                                           //console.log("der hier: " +id);
                                           try{
                                           var helpStates= Object.keys(getObject(id).common.states);
                                           } catch (e) {console.log("------------ERROR: "+e + "bei id: " + id); extendObject(id, {common: {states:{"0":"script"}}})}
                                           var helpType= getObject(id).common.type;
                                          
                                         
                                         //  console.log(helpType);
                                        //console.log(helpStates.toString());
                                       // console.log(helpStates[0] + helpStates[1] );
                                        if (helpType=="number" || helpType=="boolean") {
                                                   var alarmString=false;var alarmString2=false;
                                                   for (var i=0;  i  < helpStates.length ;i++){
                                                      //  console.log( helpStates[i]);
                                                        mylog(isNaN(helpStates[i]).toString())  ;
                                                        if (isNaN(helpStates[i]) && helpType=="number") alarmString=true; //type number - stehen da nummern drin
                                                        var helpTypeBool= helpStates[i].toString()  + helpType;
                                                        if  (helpType=="boolean") {if (helpTypeBool !="falseboolean" && helpTypeBool != "trueboolean")  alarmString2=true;} //type boolean - stehen da booleans
                                                   }
                                                   if (alarmString){  htmlDP.push(id);
                                                                      htmlMSG.push("-col-<b>ACHTUNG Multstate must be number</b>")}
                                                   if (alarmString2){ htmlDP.push(id);
                                                                      htmlMSG.push("-col-<b>ACHTUNG Multstate must be boolean</b>")}
                                                   } else {htmlDP.push(id);
                                                           htmlMSG.push("-col-<b>ACHTUNG Multstate wrong Def.</b>")}
                                        
                                        } //ende states check
                                       /* else {            htmlDP.push(id);
                                                           htmlMSG.push("ACHTUNG Multstate wrong Def.")}*/
                                   } //ende check missing object
                                   } // ende script enabled check
                                   }); // ende selct.each
                                 
                                    helplog("bin raus aus check Werte");
                                  
                                }
                                //---------------------------------------------------------------------------------------------------------------------
                                
                                
                                function mylog(message) {
                                  if(mylogs)
                                      console.log(message);
                                }function helplog(message) {
                                  if(helplogs)
                                      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++; })
                                
                                mylog(idb+counter4);
                                htmlDP.unshift(idb);
                                htmlMSG.unshift(counter4.toString());
                                counterAll=counterAll+counter4;
                                mylog("bin raus aus count");
                                }
                                
                                //----------------------------------------------Direct Suchen
                                
                                on({id:dpPrefix + "ProofingDatapoints.OrdnerCheck", ack: false, change: "any"}, function (obj) {
                                 
                                    directSearch=true;
                                     instanzArrHelp=[];
                                    setState(dpPrefix + "ProofingDatapoints.RunScript",true);
                                
                                   
                                    });
                                
                                //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                                on({id:dpPrefix + "ProofingDatapoints.RunScript", ack: false, val: true}, function (obj) { 
                                   setState(dpPrefix + "ProofingDatapoints.RunSuccessful",false); 
                                   let java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                                   let instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                                   let monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                                   var ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                   var endehtmlConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                   var endehtmlDPConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes Table Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                   setState(dpPrefix + "ProofingDatapoints.ScriptVersion",versionNr);
                                   htmlHelper="";
                                   htmlHelperFile="";
                                   setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                                   writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                                  
                                   counterAll=0;
                                   instanzArrHelp=[];
                                   allInstArr=[];
                                
                                
                                setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);
                                
                                htmlDP=[];
                                htmlMSG=[];
                                
                                instanzCount();  //überprüft instanzen und stellt allInstArr her
                                
                                htmlDP.push("-col-<b>INSTANZ INFO</b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                                mylog(instanzArr.length+"==================="+instanzArr.toString());
                                
                                
                                if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                                if (directSearch) {instanzArrHelp=[]; instanzArrHelp.push(getState(dpPrefix + "ProofingDatapoints.OrdnerCheck").val);}
                                
                                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>OBJECTE IN INSTANZ</b>"); htmlMSG.unshift("Anzahl"); 
                                           
                                          for(let name in instanzArrHelp){
                                            countDP(instanzArrHelp[name]);mylog("bin in zhlen");}
                                            if (java && !monster) countDP("javascript")
                                          htmlDP.unshift("-col-<b>GESAMT GEPRÜFTE OBJECTE IN INSTANZEN</b>"); htmlMSG.unshift("-col-<b>"+counterAll.toString()+"</b>"); 
                                          
                                          }
                                          mylog("=============: "+counterAll);
                                
                                if (java && !monster && !ohneInstanz && !directSearch) checkWerte('javascript.*');                //checkt alle javainstanzen
                                
                                
                                 htmlDP.push("-col-<b>ID's OHNE WERT:</b>");
                                 htmlMSG.push("");
                                
                                for(let name in instanzArrHelp){
                                   checkTypes(instanzArrHelp[name]+".*")
                                   mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                     htmlDP.push("");
                                     htmlMSG.push("");
                                     htmlDP.push("-col-<b>IDs MIT FALSCHEN TYPE:</b>");
                                     htmlMSG.push("");
                                
                                
                                 if (java && !monster && !ohneInstanz && !directSearch ) checkTypes('javascript.*');
                                
                                 //console.log(htmlMSG.length+"--"+htmlDP.length)
                                for(var i= htmlDP.length-1; i>-1; i--) {
                                   //console.log(htmlDP[i]+"anerer :"+htmlMSG[i]);
                                     //  if (htmlMSG[i].includes("-col-")) console.log(htmlMSG[i]);
                                       let htmlDPVis; let htmlDPFile;let htmlMSGVis;let htmlMSGFile;
                                       if(htmlDP[i].includes("-col-")) {htmlDPVis=htmlDP[i].replace("-col-", (htmlHeadersDP+">"));  htmlDPVis=" "+htmlDPVis } else {htmlDPVis=">"+htmlDP[i]}
                                       if(htmlMSG[i].includes("-col-")) {htmlMSGVis=htmlMSG[i].replace("-col-", (htmlHeadersDP+">"));htmlMSGVis=" "+htmlMSGVis } else {htmlMSGVis=">"+htmlMSG[i]}
                                       htmlHelper= htmlHelper+"<tr><td"+htmlDPVis+"&ensp;&ensp;</td><td"+htmlMSGVis+"&ensp;&ensp;</td></tr>"
                                
                                    //  if(htmlDP[i].includes("-col-")) {htmlDP[i]=htmlDP[i].replace("-col-", (htmlHeaders+">")); htmlDPFile=htmlDP[i]; htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                       if(htmlDP[i].includes("-col-")) {htmlDPFile=htmlDP[i].replace("-col-", (htmlHeaders+">"));  htmlDPFile= " "+htmlDPFile ; } else {htmlDPFile=">"+htmlDP[i]}
                                       if(htmlMSG[i].includes("-col-")) {htmlMSGFile=htmlMSG[i].replace("-col-", (htmlHeaders+">")); htmlMSGFile=" "+htmlMSGFile; } else {htmlMSGFile=">"+htmlMSG[i]}    
                                       htmlHelperFile= htmlHelperFile+"<tr><td"+htmlDPFile+"&ensp;&ensp;</td><td"+htmlMSGFile+"&ensp;&ensp;</td></tr>"
                                }
                                   var   endehtml=endehtmlConst;
                                   var   endehtmlDP=endehtmlDPConst;                       
                                    
                                
                                   if (monster){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Monster Suche wird automatisch  deaktiviert !!!</i></p>"+endehtml;
                                             endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! ACHTUNG: SYSTEM WIRD BELASTET !!! </br></br>!!! Monster Suche wird automatisch  deaktiviert !!! </br></br> BERICHT/AUSWERTUNG NUR ÜBER WEBSEITE</i></p>"+endehtmlDP;}
                                
                                
                                   if (!instanzAnzahl){endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtml;
                                             endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne DatenpunktZählung !!! kann enabled werden</i></p>"+endehtmlDP;}
                                
                                   if (!java){ endehtml="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung ohne Javascript Instanzen !!! kann enabled werden</i></p>"+endehtml;
                                             endehtmlDP="<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\"><i>!!! Auswertung 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);}
                                  
                                   mylog("================================schreibe file")  ; 
                                   writeFile(null, "/ProofingDatapoints/htmlputz.html" ,format+endehtml+htmlTable+htmlHelperFile+"</table></body>", function (error) { mylog('file written'); });
                                
                                  // endehtml=endehtmlConst;
                                  // endehtmlDP=endehtmlDPConst;
                                
                                   setState(dpPrefix + "ProofingDatapoints.MonsterSearch",false);  //setzt monstersearch zurück
                                   directSearch=false;
                                    setState(dpPrefix + "ProofingDatapoints.RunSuccessful",true); 
                                });
                                
                                

                                mit etwas glück kommt damit eine fehlermeldung mit der id !

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

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

                                du kanns tauch gerne mal dieses script versuchen - ist nur der teil unterm setting

                                Hab ich gemacht. Soll ich es mit alexa2 testen?

                                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

                                  Hmm, irgendetwas stimmt nicht.

                                  Skript Grün, aber angezeigt wird Instanz ist deaktiviert. Das dauert so 2-5 Minuten dann geht die Meldung weg.

                                  Screenshot (371).png

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

                                  @sigi234 ich kenn so was nur, wenn ich viele tabs offen habe und der chrome browser mal einen neustart braucht - dann reagiert er sehr langsam

                                  außerdem muss ich immer wieder mal das log unter dem script löschen - scheint bei dir aber leer zu sein

                                  prüfe bitte nur einzeln mit "ordnerCheck " datenpunkt

                                  wenn du lust hast, könnten wir auch teamviewer nutzen

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

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

                                    du kanns tauch gerne mal dieses script versuchen - ist nur der teil unterm setting

                                    Hab ich gemacht. Soll ich es mit alexa2 testen?

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

                                    @sigi234 ja - wenn ein problem auftritt durchsuche das log - vielleicht steht dann die id drin

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

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

                                      @sigi234 ich kenn so was nur, wenn ich viele tabs offen habe und der chrome browser mal einen neustart braucht - dann reagiert er sehr langsam

                                      außerdem muss ich immer wieder mal das log unter dem script löschen - scheint bei dir aber leer zu sein

                                      prüfe bitte nur einzeln mit "ordnerCheck " datenpunkt

                                      wenn du lust hast, könnten wir auch teamviewer nutzen

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

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

                                      teamviewer

                                      Ok!

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

                                      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
                                        sigi234S Online
                                        sigi234S Online
                                        sigi234
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #64

                                        @liv-in-sky

                                        Hab mir jetzt einen Link mit:

                                        file:///C:/Program%20Files/iobroker/Test/iobroker-data/files/javascript/ProofingDatapoints/htmlputz.html
                                        

                                        auf den Desktop und als Favorit angelegt , so funktioniert es.

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

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

                                          @liv-in-sky

                                          Hab mir jetzt einen Link mit:

                                          file:///C:/Program%20Files/iobroker/Test/iobroker-data/files/javascript/ProofingDatapoints/htmlputz.html
                                          

                                          auf den Desktop und als Favorit angelegt , so funktioniert es.

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

                                          @sigi234 hab dich nicht vergessen - arbeite schon wieder an einer besseren fehler findung (auffang-routine) - übers wochenende können wir wieder testen, wenn du lust dazu hast - wir werden schon irgendwie rausfinden, welcher datenpunkt da "ärger" macht

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          817

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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