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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script - Info über Datenpunkte sammeln

NEWS

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

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

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

Script - Info über Datenpunkte sammeln

Scheduled Pinned Locked Moved JavaScript
javascripttemplate
291 Posts 11 Posters 38.5k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sigi234S sigi234

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

    version 1.2: ProofingDatapoints21-10-19.txt ab "AB HIER NICHTS ÄNDERN" ersetzen - multistates check hinzugefügt

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

    javascript.0	2019-10-22 21:12:27.223	error	(15748) at tryOnImmediate (timers.js:676:5)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at runCallback (timers.js:705:18)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at Object.<anonymous> (script.js.System.Objekte:285:5)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at checkWerte (script.js.System.Objekte:167:15)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29)
    javascript.0	2019-10-22 21:12:27.223	error	(15748) at script.js.System.Objekte:182:26
    javascript.0	2019-10-22 21:12:27.222	error	(15748) Error in callback: TypeError: Cannot read property 'common' of null
    
    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #41

    @sigi234

    leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings

    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 Reply Last reply
    0
    • liv-in-skyL liv-in-sky

      @sigi234

      leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      wrote on last edited by
      #42

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

      @sigi234

      leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings

      // @Liv-in-sky Okt.  2019
        
                                                // WICHTIG
                                                // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi"
      const instanzArr=[ "Eigene_Datenpunkte.0", "alexa2.0", "hm-rega.0", "hm-rpc.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 1 Reply Last reply
      0
      • sigi234S sigi234

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

        @sigi234

        leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings

        // @Liv-in-sky Okt.  2019
          
                                                  // WICHTIG
                                                  // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte    , "alexa2.0"
                                                  //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi"
        const instanzArr=[ "Eigene_Datenpunkte.0", "alexa2.0", "hm-rega.0", "hm-rpc.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
        wrote on last edited by
        #43

        @sigi234

        hab doch noch mal nachgesehen - irgendwie ergeben die fehlermeldungen keinen sinn bzw. ich kann sie nicht richtig deuten - bitte stoppe script, lösche alle datenpunkte des scripts, kopiere die ganze neue version, setze nur deine "eigenen_datenpunkte.0" und starte das script nochmal

        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 Reply Last reply
        0
        • liv-in-skyL liv-in-sky

          @sigi234

          hab doch noch mal nachgesehen - irgendwie ergeben die fehlermeldungen keinen sinn bzw. ich kann sie nicht richtig deuten - bitte stoppe script, lösche alle datenpunkte des scripts, kopiere die ganze neue version, setze nur deine "eigenen_datenpunkte.0" und starte das script nochmal

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          wrote on last edited by sigi234
          #44

          @liv-in-sky

          Geht, Copy/Paste Fehler oder wenn ich eine const instanzArr hinzufüge.

          HTML wurde nicht erstellt.

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

          liv-in-skyL 1 Reply Last reply
          0
          • sigi234S sigi234

            @liv-in-sky

            Geht, Copy/Paste Fehler oder wenn ich eine const instanzArr hinzufüge.

            HTML wurde nicht erstellt.

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

            @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

            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 Reply Last reply
            0
            • liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by 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 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    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
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Replies Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Replies Last reply
                            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
                              wrote on last edited by 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 Reply Last reply
                              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
                                wrote on last edited by 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 Replies Last reply
                                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
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #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 Reply Last reply
                                    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
                                      wrote on last edited by 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 Replies Last reply
                                      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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          333

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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