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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

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

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

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

Script - Info über Datenpunkte sammeln

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
291 Beiträge 11 Kommentatoren 38.3k Aufrufe 17 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • crunchipC crunchip

    @liv-in-sky würde auch gerne mal testen, gibt es etwas besonderes noch zu beachten, ausser wie im oben erwähnt, logskript(mic) zu deaktivieren
    Gruss

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

    @crunchip würd mich freuen noch mehr feedback zu bekommen - eigentlich ist nur die monstersuche bei großen systemen etwas resourcen intensiv - standard oder direkte suche kann man ohne bedenken machen

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

    ? 1 Antwort Letzte Antwort
    0
    • crunchipC crunchip

      @liv-in-sky würde auch gerne mal testen, gibt es etwas besonderes noch zu beachten, ausser wie im oben erwähnt, logskript(mic) zu deaktivieren
      Gruss

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

      @crunchip lade dir das widget vom ersten post runter - habe gerade auch mit sigi getestet - dass macht es einfacher als nur mit den dp zu arbeiten

      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

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

        @crunchip würd mich freuen noch mehr feedback zu bekommen - eigentlich ist nur die monstersuche bei großen systemen etwas resourcen intensiv - standard oder direkte suche kann man ohne bedenken machen

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #75

        @liv-in-sky Hi, vielen Dank für das Script, läuft hier soweit, nur die Monstersuche beendet sich zwar, setzt aber den Datenpunkt sucessfullrun nicht auf true - es wird auch keine Tabelle angelegt.. hab 18777 Objects.. hmm?

        Die normale Prüfung klappt, habs in Habpanel angelegt, macht man ja nicht jeden Tag, so ein Check..

        5a7fd1b4-4036-4ff3-ab17-6024b4032f68-image.png

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @liv-in-sky Hi, vielen Dank für das Script, läuft hier soweit, nur die Monstersuche beendet sich zwar, setzt aber den Datenpunkt sucessfullrun nicht auf true - es wird auch keine Tabelle angelegt.. hab 18777 Objects.. hmm?

          Die normale Prüfung klappt, habs in Habpanel angelegt, macht man ja nicht jeden Tag, so ein Check..

          5a7fd1b4-4036-4ff3-ab17-6024b4032f68-image.png

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

          @ilovegym ja - das problem hatte auch sigi- große datenmenge und einige instanzen, die unbeschrieben waren - werd da nochmal nacharbeiten

          für tägliche prüfung würde sich der alias check evtl ganz gut machen - müßte ich noch ein schedule einführen und eine en extra datenpunkt für einen alarm bei änderung oder evtl für die vis-anzeige

          erstmal gut das die standard und directe suche funktioniert - der monster check ist eh nur für "ab und zu" gedacht -

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

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

            @crunchip lade dir das widget vom ersten post runter - habe gerade auch mit sigi getestet - dass macht es einfacher als nur mit den dp zu arbeiten

            crunchipC Abwesend
            crunchipC Abwesend
            crunchip
            Forum Testing Most Active
            schrieb am zuletzt editiert von crunchip
            #77

            @liv-in-sky hab ich nun mal gemacht....alles grün:joy:
            was hat das mit der Monstersuche auf sich?
            hab diese mal probiert, sieht jedoch dann bei mir so aus
            288ad4d2-3593-423b-b375-5b7c8ae29231-image.png

            umgestiegen von Proxmox auf Unraid

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • crunchipC crunchip

              @liv-in-sky hab ich nun mal gemacht....alles grün:joy:
              was hat das mit der Monstersuche auf sich?
              hab diese mal probiert, sieht jedoch dann bei mir so aus
              288ad4d2-3593-423b-b375-5b7c8ae29231-image.png

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

              @crunchip die monstersuche geht durch alles durch, was an instanzen da ist - bei mir läuft die durch - bei dir anscheinend auch nicht beim sigi ging es , nachdem wir alle instanzen gelöscht hatten, die unter system.adapter.* keine werte hatten - ich muss da nochmal ran - ist nur schwierig, ohne den fehler selber nachzuvollziehen (im eignem system) zu können

              das fehlerabfangen muss auch noch überarbeitet werden

              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

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

                @crunchip die monstersuche geht durch alles durch, was an instanzen da ist - bei mir läuft die durch - bei dir anscheinend auch nicht beim sigi ging es , nachdem wir alle instanzen gelöscht hatten, die unter system.adapter.* keine werte hatten - ich muss da nochmal ran - ist nur schwierig, ohne den fehler selber nachzuvollziehen (im eignem system) zu können

                das fehlerabfangen muss auch noch überarbeitet werden

                crunchipC Abwesend
                crunchipC Abwesend
                crunchip
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #79

                @liv-in-sky ich hab das häkchen mit js-instanz entfernt, dann ging es
                seh mir,bzw versuche gerade die html im Browser näher zu betrachten.
                Zum einen hab ich erst gar nicht gemerkt, das da rechts ja auch was steht:man-facepalming: da passt das Format irgendwie nicht, muss die Anzeige auf 50% verkleinern damit ich das auf den Bildschirm bekomme

                umgestiegen von Proxmox auf Unraid

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • crunchipC crunchip

                  @liv-in-sky ich hab das häkchen mit js-instanz entfernt, dann ging es
                  seh mir,bzw versuche gerade die html im Browser näher zu betrachten.
                  Zum einen hab ich erst gar nicht gemerkt, das da rechts ja auch was steht:man-facepalming: da passt das Format irgendwie nicht, muss die Anzeige auf 50% verkleinern damit ich das auf den Bildschirm bekomme

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

                  @crunchip meinst du die html seite ?

                  http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html

                  mach doch bitte ein bild

                  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

                  crunchipC ? 2 Antworten Letzte Antwort
                  0
                  • liv-in-skyL liv-in-sky

                    @crunchip meinst du die html seite ?

                    http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html

                    mach doch bitte ein bild

                    crunchipC Abwesend
                    crunchipC Abwesend
                    crunchip
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von crunchip
                    #81

                    @liv-in-sky ja die meine ich
                    normale Ansicht
                    97396036-036a-43ad-8a3a-56039b1fdf43-image.png
                    reduziert auf 50%
                    b1fa9d5a-74d5-4635-b652-c294c73cab28-image.png

                    umgestiegen von Proxmox auf Unraid

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • crunchipC crunchip

                      @liv-in-sky ja die meine ich
                      normale Ansicht
                      97396036-036a-43ad-8a3a-56039b1fdf43-image.png
                      reduziert auf 50%
                      b1fa9d5a-74d5-4635-b652-c294c73cab28-image.png

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

                      @crunchip das schaut nicht normal aus - welchen browser und welches os

                      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

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

                        @crunchip meinst du die html seite ?

                        http://<ip iobroker>:8082/javascript/ProofingDatapoints/htmlputz.html

                        mach doch bitte ein bild

                        ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #83

                        @liv-in-sky Ah, da steht rechts was.. 🙈🤣

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

                          @crunchip das schaut nicht normal aus - welchen browser und welches os

                          crunchipC Abwesend
                          crunchipC Abwesend
                          crunchip
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von crunchip
                          #84

                          @liv-in-sky auf meinem win 10 Laptop mit FF
                          hab grad zum Test im Opera eingegeben. In dem Moment wo ich Enter gedrückt habe, blitzt die Seite kurz normal auf und zeigt dann das falsche Format
                          auch der chrome zeigt das selbe, beim enter drücken, sieht man die rechte Spalte und verschwindet dann nach rechts

                          umgestiegen von Proxmox auf Unraid

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • crunchipC crunchip

                            @liv-in-sky auf meinem win 10 Laptop mit FF
                            hab grad zum Test im Opera eingegeben. In dem Moment wo ich Enter gedrückt habe, blitzt die Seite kurz normal auf und zeigt dann das falsche Format
                            auch der chrome zeigt das selbe, beim enter drücken, sieht man die rechte Spalte und verschwindet dann nach rechts

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

                            @crunchip bei mir in chrome:

                            Image 14.png

                            ist das auch ohne monster suche ? und da du vorher mal einen fehler hattest - restarte auch die javascript instanz

                            firefox:

                            Image 15.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

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

                              @crunchip bei mir in chrome:

                              Image 14.png

                              ist das auch ohne monster suche ? und da du vorher mal einen fehler hattest - restarte auch die javascript instanz

                              firefox:

                              Image 15.png

                              crunchipC Abwesend
                              crunchipC Abwesend
                              crunchip
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #86

                              @liv-in-sky kann ich dir nicht beantworten, da ich es erst nach der Monstersuche aufgerufen habe, das andere hab ich ja per widget angesehen

                              umgestiegen von Proxmox auf Unraid

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • crunchipC crunchip

                                @liv-in-sky kann ich dir nicht beantworten, da ich es erst nach der Monstersuche aufgerufen habe, das andere hab ich ja per widget angesehen

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

                                @crunchip bitte teste nochmal

                                script stop -javainstanz restart - sript start- normale suche - dann webseite ansehen

                                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

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

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

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

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

                                  was geht sonst noch:

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

                                  beispiel vis:

                                  Image 10.png

                                  beispiel "directSearch"
                                  Image 5.png

                                  beispiel webseite:

                                  Image 3.png

                                  script für export:

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

                                  widgets export( 15.11.2019):

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

                                  • bisher erfolgreich bei adaptern angewandt
                                  adapter beispiel
                                  alexa2 datenpunkt fehler - state existierte - aber kein datenpunkt-object
                                  plex falsche datenpunkt-type-definition, da adapter datenpunktdefinition von plex automatisch übernahm
                                  pi-hole falsche datenpunkt-type-definition
                                  sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von sigi234
                                  #88

                                  @liv-in-sky

                                  Hallo,
                                  ich habe mal ein Widget gebastelt, kannst du es bitte mal testen ?
                                  Interessant wäre noch eine Logausgabe als DP dann könnte ich das noch einbauen.
                                  Links den Blub(blaue JS) habe ich nicht verstanden darum der auch Switch.
                                  Aha, sehe gerade werde noch einen Link zur HTML einbauen.

                                  Screenshot (406).png

                                  Widget_Proofing_Datapoints_sigi234.txt

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

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

                                    @crunchip bitte teste nochmal

                                    script stop -javainstanz restart - sript start- normale suche - dann webseite ansehen

                                    crunchipC Abwesend
                                    crunchipC Abwesend
                                    crunchip
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #89

                                    @liv-in-sky habe ich gemacht, jedoch, wenn ich den Link erneut aufrufe, bekomme ich nichts neues angezeigt.
                                    cache habe ich geleert vom Browser.
                                    07c4d954-b887-4629-ab20-5d4684ccdf91-image.png 4239132a-3b7d-4f45-bd46-d53a268d35ad-image.png

                                    umgestiegen von Proxmox auf Unraid

                                    liv-in-skyL 1 Antwort Letzte Antwort
                                    0
                                    • crunchipC crunchip

                                      @liv-in-sky habe ich gemacht, jedoch, wenn ich den Link erneut aufrufe, bekomme ich nichts neues angezeigt.
                                      cache habe ich geleert vom Browser.
                                      07c4d954-b887-4629-ab20-5d4684ccdf91-image.png 4239132a-3b7d-4f45-bd46-d53a268d35ad-image.png

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

                                      @crunchip danke -ich konzentriere mich erstmal auf die fehler verbesserung

                                      was du aber bei gelegenheit schauen kannst: ist ein eintrag in der linken spalte extrem groß/lang - die tabelle selbst macht das evtl deswegen ?

                                      wenn du noch lust hast - probiere mal das folgende script - ist noch nicht ganz fertig, aber evtl kannst du im log beobachten, wo es bei der monster einstellung auf true stehen bleibt - nur der teil unter AB HIER NICHTS ...

                                      
                                      //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                                      
                                      
                                      
                                      const versionNr = "15102019-1.5"
                                      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=true;
                                      var htmlHelper="";
                                      var htmlHelperFile="";
                                      var alarmInstanz1=false;
                                      var unusedDayFactor ;
                                      var unusedDay;
                                      var aliasArr;
                                      var ali;
                                      var monster;
                                      let java;
                                      let instanzAnzahl;
                                      var ohneInstanz;
                                      var endehtmlConst;
                                      var endehtmlDPConst;
                                      var endehtml ;
                                      var endehtmlDP ;
                                      
                                      
                                      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,});
                                      createState(dpPrefix + "ProofingDatapoints.LatestChangeDP", false, { name: 'LatestChangeDP',  type: 'boolean', role:"state", read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.LatestChangeDP_Factor", 100, { name: 'LatestChangeDP_Factor',  type: 'number', role:"state", read:  true,  write: true,});
                                      createState(dpPrefix + "ProofingDatapoints.CheckAliase", false, { name: 'Check_Alias_0_Ordner',  type: 'boolean', role:"state", read:  true,  write: true,});
                                      
                                      
                                      //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                                      
                                      async function instanzCount(){
                                         return new Promise(async (resolve, reject) => {
                                      
                                      
                                        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());
                                      
                                       }
                                       if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE CHECK INSTANZEN :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                       
                                        resolve();
                                        }); //end promise
                                      }      // end function
                                      
                                      
                                      //------------------------------------------CHECK TYPE --  ZUORDNUNG--------------------------------------------------------
                                      
                                      async function checkTypes(select) {
                                         return new Promise(async (resolve, reject) => {
                                             try {
                                          helplog("bin in check types");
                                         var counter=0; 
                                         htmlMSG.push("");
                                         htmlDP.push("");
                                      
                                        // log(",,,,,,,,,,,,,,liste aliasArr: "+aliasArr.toString(),"error");
                                         
                                         var sub= select.substring(select.length-1, select.length); //log("---------: "+sub);//console.log("----------select: "+select);
                                         mylog(select)
                                         $(select).each(function (id, i) {
                                             counter++
                                      
                                           
                                             
                                            // var rrr=getState("abs").val
                                            
                                          //  console.log("===== falls script nach diesem Eintrag endet, gibt es eine nicht-exisitierende Hauptkategorie - letzte kontrollierte Kategorie: "+ id+" =====");
                                             //console.log(getObject("abc").common.hasOwnProperty("type"));
                                      
                                          //   if(getObject(id).common.hasOwnProperty("alias")) console.log(id); // TEST ABSTURZ
                                             
                                      
                                                
                                         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"); 
                                            //console.log(JSON.stringify(getObject(id).common));
                                             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(getObject(id).common.type ==null || getObject(id).common.type == undefined || getObject(id).common.type =="") {
                                                       //console.log("shit happens","error");
                                                       htmlDP.push(id);
                                                       htmlMSG.push("-col-<b>ACHTUNG common.type fehlt</b>");                  
                                                       } 
                                                  else {
                                                  let typesIOhelp=false;                     // VERGLEICH/PRÜFUNG MIT ALLEN TYPES
                                                  for (var i =0; i<typesIO.length;i++) {
                                                      var re = new RegExp("\\b" + typesIO[i] + "\\b", "g");
                                                     // console.log(dpType.match(re)+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                      if (dpType.match(re) && i < typesIO.length) {typesIOhelp=true;break;} else {typesIOhelp=false; }}
                                                      if (!typesIOhelp) {//console.log("========================hier fehler mit type nicht in constante:  " +id);       
                                                                         htmlDP.push(id);
                                                                         htmlMSG.push("-col-<b>ACHTUNG common.type falsch: "+dpType+"</b>");}}
                                                   
                                                  if (getState(id).val !== null){          // ANZEIGE ALLER DATENPUNKTE MIT STATE=null
                                      
                                                    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 );}
                                      
                                                   
                                                       }//end of check common.type and value-type 
                                      
                                                 } //end of mixed
                                      
                                      
                                      
                                             
                                            } // end of check object includes name and type
                                      
                                      
                                         }//ende if scriptenabled
                                         });
                                         htmlDP.push("<i>ID + IST-WERT</i>");
                                         htmlMSG.push("<i>SOLL-WERT</i>");
                                         htmlDP.push("-col-<b>geprüfte Instanz</b>");
                                         htmlMSG.push("-col-<i><b>"+select+"</b></i>");
                                         if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE CHECK WERTE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                         helplog("fertg in checkType mit: "+select+ "und " + counter.toString()+ " Durchläufen")
                                           resolve();
                                            } catch (e) {console.log("------------ERROR: "+e ); reject(); return alarmInstanz1=true}
                                        }); //end promise
                                      }      //end function
                                      
                                      //------------------------------------------CHECK  WERTE--------------------------------------------------------
                                      
                                      async function checkWerte(select) {
                                         return new Promise(async (resolve, reject) => {
                                             try{
                                         helplog("bin in check Werte");
                                         var counter=0; 
                                         var jetzt=new Date().getTime();
                                         var error1;
                                      
                                         mylog(select);
                                         $(select).each(function (id, i) {
                                             counter++
                                              error1=id;
                                           //console.log(getObject("abc").common.hasOwnProperty("type"));   // TEST ABSTURZ
                                           // console.log("statusalias");
                                           
                                      
                                         if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('alias.0')  )  && !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); return alarmInstanz1=true}
                                                   htmlDP.push(id+": "+valType);
                                                   htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                      
                                                   else {
                                              //              console.log("status0");
                                                         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 = jetzt-getObject(id).ts; //getState(id).ts 
                                                             // if (ddd == NaN) log(ddd.toString(),"error");
                                                               //log(getState(id).ts.toString(),"error");
                                                              
                                                              //if(ddd==undefined)
                                                              htmlMSG.push("not used & created at: " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m");
                                                              } 
                                                         else {  if (unusedDay){//console.log(  (jetzt - (86400000 * unusedDayFactor))-getObject(id).ts + id + getState(id).ts );  
                                                                var ddd = jetzt-getState(id).ts;
                                                                if ( (jetzt - (86400000 * unusedDayFactor)) - getState(id).ts > 0 ){
                                                                   htmlDP.push(id);
                                                                   htmlMSG.push("lastChange over "+ unusedDayFactor +" days");
                                                                   htmlDP.push("");
                                                                   htmlMSG.push("created: "+ 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
                                      
                                                        // var ddd = (new Date().getTime()-864000000) getObject(id).ts;
                                                         
                                      
                                      
                                                                                              /*   console.log("_____________________bin in type check groß:länge types:  "+ typesIO.length );
                                                                   if(getObject(id).common.hasOwnProperty("type")){
                                                                         let typesIOhelp=false; 
                                                                         for (var i =0; i<typesIO.length;i++) {
                                                                             console.log(getObject(id).common.type.includes(typesIO[i])+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                                           
                                                                             if (getObject(id).common.type.includes(typesIO[i]) && i < typesIO.length) {typesIOhelp=true;break;} else {typesIOhelp=false; }}
                                                                   if (!typesIOhelp) {console.log("========================hier fehler mit type nicht in constante:  " +id);       
                                                                                      htmlDP.push(id);
                                                                                      htmlMSG.push("-col-<b>ACHTUNG common.type falsch - "+getObject(id).common.type+"</b>");}
                                                                                     
                                                                   } else {mylog("ok in type constante  :" + id);}*/
                                                                   //ende alle typen check    
                                      
                                         } //ende check missing object
                                         } // ende script enabled check
                                         }); // ende selct.each
                                          if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL AUSGABE CHECK WERTE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                          helplog("bin raus aus check Werte bei :"+ select);
                                          resolve("ok");
                                           } catch (e) {console.log("------------ERROR: "+e ); reject(error1); return error1}
                                        }); //end promise
                                      }      //end function
                                      //---------------------------------------------------------------------------------------------------------------------
                                      
                                      
                                      function mylog(message) {
                                        if(mylogs)
                                            console.log(message);
                                      }function helplog(message) {
                                        if(helplogs)
                                            console.log(message);
                                      }
                                      
                                      //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
                                      async 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;
                                      if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE ZÄHLEN INSTANZEN :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                      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);
                                         
                                         
                                          });
                                      
                                      //-----------------------------------------------ALIAS CHECK------------------------------------------------
                                      
                                      async function checkAlias() {
                                         return new Promise(async (resolve, reject) => {
                                             try{
                                         helplog("bin in check aliase");
                                         let counter=0; 
                                         var jetzt=new Date().getTime();
                                         var aliasArrAlarm
                                         aliasArr=[];
                                         var aliasArrOrg=[];
                                      
                                      
                                             for(var l=0;l<instanzArr.length;l++)  { //für eigene datenpunkte
                                                     allInstArr.push(instanzArr[l]);
                                             }
                                      
                                          $("alias.0.*").each(function (id, i) {
                                      
                                          if(id.includes("alias.0") ) {
                                              if( JSON.stringify(getObject(id).common).includes("alias")) {      
                                              //   var helpAlias= Object.keys(getObject(id).common.alias);                              // erstellt ALIAS ARRAY
                                             // log("_!_!_!_!_!__!_!_!_!_!_!_!_ "+id  + "hat ALIAS mit :"+ getObject(id).common.alias.id ,"error");
                                              aliasArr.push(getObject(id).common.alias.id);
                                              aliasArrOrg.push(getObject(id)._id);
                                             }}
                                      
                                              }); // ende alias finden 
                                      
                                                    
                                      
                                                
                                           //log("bin in array " + "länge: "+ aliasArr.length+"--"  + " ganz : " +aliasArr.toString(),"error");
                                          
                                          /*  $("controll-own.0.*").each(function (id, i) {
                                                       
                                                         if (id=="controll-own.0.AAATEST.AARolladen4") log("HIER IT ES1"+ JSON.stringify(getObject(id))+" counter : " + counter);  
                                                        log("HIER IT ES1"+ id +" counter : " + counter);});*/
                                                    
                                                    aliasArrAlarm=false; 
                                                  //  log(allInstArr.toString());
                                                  for(var l=0;l<allInstArr.length;l++)  {
                                                    $(allInstArr[l]+".*").each(function (id, i) {
                                                        counter++;
                                                        // if (id=="controll-own.0.AAATEST.AARolladen44") log("HIER IT ES"+ JSON.stringify(getObject(id))+" counter : " + counter);
                                                                // for(let index in aliasArr){
                                                        for (var h=0; h<aliasArr.length;h++){
                                                                 // log(allInstArr[l]+"---:---"+id,"error");
                                                        if (id ==aliasArr[h]  && aliasArr[h] != "found" ) { htmlDP.push(aliasArrOrg[h]); htmlMSG.push("ALIAS: ok : "+id); /*log("--------erfolgreich ID: "+id+" ARRAY:  "+aliasArr[h])*/; aliasArr[h] = "found"; aliasArrAlarm=false;   } 
                                                        } 
                                                       // aliasArrAlarm=false;
                                                       //for (var h=0; h<aliasArr.length;h++){ if (aliasArr[h] == "found") {aliasArrAlarm=true;}}
                                                    }); // ende allInstArr
                                                       } //end of  selct.each 
                                      
                                                       for (var h=0; h<aliasArr.length;h++)
                                                            { if (aliasArr[h]!="found") {htmlDP.push(aliasArrOrg[h]);
                                                                                         htmlMSG.push("-col-<b>ACHTUNG wrong DP assignment: </b>");}}
                                                    //    log(aliasArr.toString(),"error");
                                      
                                                                                                             //             if(!aliasArrAlarm && parseInt(index) > aliasArr.length-1){break;}
                                                     
                                               /*      if (aliasArrAlarm) {console.log("========================hier fehler mit a l i a s:  " );       
                                                                         htmlDP.push(aliasArr[index]);
                                                                         htmlMSG.push("-col-<b>ACHTUNG missing ALIAS: </b>");}
                                                     else { htmlDP.push(aliasArr[index]);
                                                            htmlMSG.push("ALIAS: ok")}
                                                             if(!aliasArrAlarm && parseInt(index) > aliasArr.length-1){break;}*/
                                                           
                                                                                
                                               
                                               /* 
                                                 if(select.includes("alias.0") ) {aliasArrAlarm=false;}
                                                    
                                                     for (var i =0; i<aliasArr.length;i++) {
                                                          var re = new RegExp("\\b" + aliasArr[i] + "\\b", "g");
                                                     // console.log(dpType.match(re)+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                      if (dpType.match(re) && i < aliasArr.length) {aliasArrAlarm=true;break;} else {aliasArrAlarm=false; }}
                                                      if (!aliasArrAlarm) {consolelog("========================hier fehler mit a l i a s:  " +id);       
                                                                         htmlDP.push(id);
                                                                         htmlMSG.push("-col-<b>ACHTUNG missing ALIAS: </b>");
                                                     }
                                                       
                                             } */
                                      
                                         htmlDP.push("<i>ALIAS DP ASSIGNMENT</i>");
                                         htmlMSG.push("<i>ALIAS STATUS</i>");
                                         htmlDP.push("-col-<b>geprüftes Alias</b>");
                                         htmlMSG.push("-col-<i><b>Anzahl: "+aliasArr.length+"</b></i>");
                                         htmlDP.push("");
                                         htmlMSG.push("");
                                      
                                          if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL AUSGABE CHECK ALIAS :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                          helplog("bin raus aus check aliase");
                                          resolve();
                                           } catch (e) {console.log("------------ERROR: "+e ); reject(); return alarmInstanz1=true}
                                        }); //end promise
                                      }      //end function
                                      
                                      
                                      async function calmDown(howLong){
                                      
                                      
                                         let promise = new Promise((res, rej) => {
                                             setTimeout(() => res("Now it's done!"), howLong)
                                         });
                                      
                                         // wait until the promise returns us a value
                                         let result = await promise; 
                                       
                                         // "Now it's done!"
                                         log(result,"error"); 
                                         }
                                         /*
                                      };
                                      firstAsync();
                                      
                                       var timeout = setTimeout(function () {
                                      
                                           log("pause");
                                      }, 3000);}*/
                                      
                                      
                                      //-------------------------------------------------write stuff----------------------------------------------
                                      async function writeStuff() {
                                      
                                      //ab hier geht es um die ausgabe
                                      if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL DATENAUSGABE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");} 
                                       else {
                                       //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>"
                                      }
                                            endehtml=endehtmlConst;
                                            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); 
                                          } //ende else bei fehler im array zur ausgabe
                                      
                                          }
                                      
                                      //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                                      on({id:dpPrefix + "ProofingDatapoints.RunScript", ack: false, val: true}, function (obj) { 
                                        mainScript();
                                      });
                                      
                                      async function mainScript(){
                                      
                                         setState(dpPrefix + "ProofingDatapoints.RunSuccessful",false); 
                                          java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                                          instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                                         monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                                          ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                         unusedDayFactor = getState(dpPrefix + "ProofingDatapoints.LatestChangeDP_Factor").val;
                                         ali = getState(dpPrefix + "ProofingDatapoints.CheckAliase").val;
                                         unusedDay = getState(dpPrefix + "ProofingDatapoints.LatestChangeDP").val;
                                          endehtmlConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                          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="";
                                         counterAll=0;
                                         instanzArrHelp=[];
                                         allInstArr=[];
                                         htmlDP=[];
                                         htmlMSG=[];
                                         aliasArr=[];
                                         setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                                         setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);    
                                         writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                                      
                                      log('_______________________ starte Instanz Count');
                                      
                                      
                                      
                                      await instanzCount();   
                                      await writeStuff();
                                      
                                      if (true) await calmDown(1000);
                                      
                                                                                                                      //überprüft instanzen und stellt allInstArr her
                                      
                                      htmlDP.push("-col-<b>INSTANZ INFO</b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                                      log(instanzArr.length+"==================="+instanzArr.toString());
                                      
                                      
                                      if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                                      if (directSearch) {instanzArrHelp=[]; instanzArrHelp.push(getState(dpPrefix + "ProofingDatapoints.OrdnerCheck").val);}
                                      
                                      log('_______________________ starte durch array Instanzen');
                                      for(let name in instanzArrHelp){
                                         if (monster) await calmDown(150);
                                         await checkWerte(instanzArrHelp[name]+".*").then( message => {console.log("Funktion Check Werte erfolgreich","error");  });
                                         await writeStuff();
                                         
                                         if (true) await calmDown(1000);
                                                                                                 //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 zählen");}
                                                  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 (monster) await calmDown(2000);         
                                      
                                      if (java && !monster && !ohneInstanz && !directSearch) await checkWerte('javascript.*').catch().then();                 //checkt alle javainstanzen
                                      log("STOPPE SCRIPT");
                                      //stopScript();
                                      
                                       htmlDP.push("-col-<b>ID's OHNE WERT:</b>");
                                       htmlMSG.push("");
                                      
                                      log('_______________________ starte durch array Type Check');
                                      
                                      for(let name in instanzArrHelp){
                                         if (monster) await calmDown(150);
                                         await checkTypes(instanzArrHelp[name]+".*").catch().then();
                                         mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                           htmlDP.push("");
                                           htmlMSG.push("");
                                           htmlDP.push("-col-<b>IDs MIT FALSCHEN TYPE:</b>");
                                           htmlMSG.push("");
                                      
                                      
                                       if (java && !monster && !ohneInstanz && !directSearch ) await checkTypes('javascript.*').catch().then();          //checkt java instanz dp auf type
                                        //log(allInstArr.toString(),"error");
                                      
                                        if(ali) {log('_______________________ starte durch array Type Check');
                                                await checkAlias();}
                                      
                                       log('_______________________ starte durch array Type Check');
                                        writeStuff();
                                      }
                                      
                                      
                                      
                                      
                                      const typesIO = ["boolean", "number", "string", "object", "array", "mixed", "sensor.window", "sensor.door", "sensor.alarm", "sensor.alarm.flood", "sensor.alarm.fire", "sensor.alarm.secure", "sensor.alarm.flood", "sensor.alarm.power", "sensor.alarm.secure", "sensor.door", "sensor.light", "sensor.lock", "sensor.motion", "sensor.rain", "sensor.noise", "sensor.rain", "sensor.window", "button", "button.long", "button.stop", "button.start", "button.open.door", "button.open.window", "button.mode", "button.mode.auto", "button.mode.manual", "button.mode.silent", "button.open.door", "button.open.window", "button.start", "button.stop", "value", "value.window", "value.temperature", "value.humidity", "value.battery", "value.blind", "value.brightness", "value.min", "value.max", "value.current", "value.curtain", "value.default", "value.battery", "value.valve", "value.time", "value.direction", "value.distance", "value.distance.visibility", "value.gps", "value.gps.elevation", "value.gps.latitude", "value.gps.longitude", "value.humidity", "value.interval", "value.gps.longitude", "value.gps.latitude", "value.gps.elevation", "value.gps", "value.power.consumption", "value.direction", "value.curtain", "value.blind", "value.tilt", "value.lock", "value.speed", "value.max", "value.min", "value.power.consumption", "value.pressure", "value.distance", "value.distance.visibility", "value.severity", "value.warning", "value.sun.elevation", "value.speed", "value.sun.azimuth", "value.sun.elevation", "value.temperature", "value.tilt", "value.time", "value.valve", "value.voltage", "value.current", "value.warning", "value.window", "indicator", "indicator.working", "indicator.reachable", "indicator.connected", "indicator.maintenance", "indicator.maintenance.lowbat", "indicator.maintenance.unreach", "indicator.maintenance.alarm", "indicator.lowbat", "indicator.alarm", "indicator.alarm.fire", "indicator.alarm.flood", "indicator.alarm.secure", "indicator.connected", "indicator.lowbat", "indicator.maintenance", "indicator.maintenance.alarm", "indicator.maintenance.lowbat", "indicator.maintenance.unreach", "indicator.reachable", "indicator.working", "level", "level.co2", "level.dimmer", "level.blind", "level.temperature", "level.valve", "level.color.red", "level.color.green", "level.co2", "level.color.blue", "level.color.white", "level.color.green", "level.color.hue", "level.color.saturation", "level.color.rgb", "level.color.luminance", "level.color.red", "level.color.rgb", "level.color.saturation", "level.color.temperature", "level.color.white", "level.curtain", "level.dimmer", "level.temperature", "level.tilt", "level.timer", "level.timer.sleep", "level.valve", "level.volume", "level.volume.group", "level.curtain", "level.tilt", "switch", "switch.lock", "switch.lock.door", "switch.lock.window", "switch.boost", "switch.light", "switch.comfort", "switch.enable", "switch.power", "switch.light", "switch.lock", "switch.lock.door", "switch.lock.window", "switch.mode.*", "switch.mode.auto", "switch.mode.color", "switch.mode.manual", "switch.mode.silent", "switch.mode.moonlight", "switch.mode.color", "switch.mode.silent", "switch.power", "button.stop", "button.play", "button.fastforward", "button.fastreverse", "button.forward", "button.next", "button.prev", "button.pause", "switch.pause", "button.forward", "button.play", "button.prev", "button.reverse", "button.fastforward", "button.fastreverse", "button.volume.up", "button.stop", "button.volume.down", "media.seek", "media.mode.shuffle", "media.mode.repeat", "media.state", "media.artist", "button.volume.up", "level.bass", "level.treble", "media.add", "media.album", "media.title", "media.title.next", "media.artist", "media.bitrate", "media.broadcastDate", "media.clear", "media.content", "media.cover", "media.cover.big", "media.cover.small", "media.duration.text", "media.date", "media.duration", "media.elapsed.text", "media.duration.text", "media.elapsed", "media.broadcastDate", "media.mute", "media.season", "media.elapsed.text", "media.episode", "media.mute.group", "media.tts", "media.bitrate", "media.genre", "media.date", "media.track", "media.input", "media.jump", "media.link", "media.mode.repeat", "media.mode.shuffle", "media.mute", "media.mute.group", "media.playid", "media.add", "media.clear", "media.playlist", "media.season", "media.seek", "media.state", "media.title", "media.title.next", "media.track", "media.tts", "media.url", "media.url.announcement", "media.jump", "media.content", "media.link", "media.input", "level.bass", "level.treble", "switch.pause", "switch.power.zone", "value.temperature", "value.temperature.windchill", "value.temperature.dewpoint", "value.temperature.feelslike", "value.temperature.min", "value.temperature.max", "value.humidity", "value.humidity.min", "value.humidity.max", "value.speed.wind", "value.speed.max.wind", "value.speed.min.wind", "value.speed.wind.gust", "value.direction.wind", "value.direction.max.wind", "value.direction.min.wind", "weather.direction.wind", "date", "date.forecast.1", "date.sunrise", "date.sunset", "dayofweek", "location", "weather.icon", "weather.icon.wind", "weather.icon.name", "weather.state", "value.clouds", "value.direction.max.wind", "value.direction.min.wind", "value.direction.wind", "value.direction.wind.forecast.0", "value.direction.wind.forecast.1", "value.humidity", "value.humidity.max", "value.humidity.min", "value.precipitation", "value.precipitation.day.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.1", "value.precipitation.forecast.1", "value.precipitation.hour", "value.precipitation.night.forecast.0", "value.precipitation.today", "value.pressure.forecast.0", "value.pressure.forecast.1", "value.radiation", "value.uv", "value.clouds", "value.rain", "value.rain.hour", "value.rain.today", "value.snow", "value.snow.hour", "value.snow.today", "value.snowline", "value.speed.max.wind", "value.speed.min.wind", "value.speed.wind", "value.speed.wind.forecast.0", "value.speed.wind.forecast.1", "value.speed.wind.gust", "value.temperature", "value.temperature.dewpoint", "value.temperature.feelslike", "value.temperature.max", "value.temperature.max.forecast.0", "value.temperature.max.forecast.1", "value.temperature.min", "value.temperature.min.forecast.0", "value.temperature.min.forecast.1", "value.temperature.windchill", "value.uv", "weather.chart.url", "weather.chart.url.forecast", "weather.direction.wind", "weather.direction.wind.forecast.0", "weather.html", "weather.title", "weather.title.short", "weather.type", "weather.icon", "weather.icon.forecast.1", "weather.icon.name", "weather.icon.wind", "weather.json", "value.speed.wind.forecast.0", "weather.state", "weather.state.forecast.0", "value.direction.wind.forecast.0", "weather.direction.wind.forecast.0", "value.pressure.forecast.0", "value.temperature.min.forecast.0", "value.temperature.max.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.0", "weather.state.forecast.1", "weather.title", "weather.title.forecast.0", "value.precipitation.day.forecast.0", "value.precipitation.night.forecast.0", "weather.title.short", "weather.type", "date.forecast.1", "weather.icon.forecast.1", "weather.state.forecast.1", "value.temperature.min.forecast.1", "value.temperature.max.forecast.1", "value.precipitation.forecast.1", "value.precipitation.forecast.1", "value.direction.wind.forecast.1", "value.speed.wind.forecast.1", "value.pressure.forecast.1", "date.end", "date.start", "info.address", "info.display", "info.ip", "info.mac", "info.name", "info.address", "info.port", "info.standby", "info.status", "info.display", "date.start", "date.end", "text.phone", "url.icon", "url.cam", "url.audio", "url.blank", "url.cam", "url.icon", "url.same", "url.audio", "text.phone", "adapter.messagebox", "adapter.wakeup",]
                                      
                                      

                                      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

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

                                        @crunchip danke -ich konzentriere mich erstmal auf die fehler verbesserung

                                        was du aber bei gelegenheit schauen kannst: ist ein eintrag in der linken spalte extrem groß/lang - die tabelle selbst macht das evtl deswegen ?

                                        wenn du noch lust hast - probiere mal das folgende script - ist noch nicht ganz fertig, aber evtl kannst du im log beobachten, wo es bei der monster einstellung auf true stehen bleibt - nur der teil unter AB HIER NICHTS ...

                                        
                                        //------------------------------------------AB HIER NICHTS ÄNDERN--------------------------------------------------------
                                        
                                        
                                        
                                        const versionNr = "15102019-1.5"
                                        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=true;
                                        var htmlHelper="";
                                        var htmlHelperFile="";
                                        var alarmInstanz1=false;
                                        var unusedDayFactor ;
                                        var unusedDay;
                                        var aliasArr;
                                        var ali;
                                        var monster;
                                        let java;
                                        let instanzAnzahl;
                                        var ohneInstanz;
                                        var endehtmlConst;
                                        var endehtmlDPConst;
                                        var endehtml ;
                                        var endehtmlDP ;
                                        
                                        
                                        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,});
                                        createState(dpPrefix + "ProofingDatapoints.LatestChangeDP", false, { name: 'LatestChangeDP',  type: 'boolean', role:"state", read:  true,  write: true,});
                                        createState(dpPrefix + "ProofingDatapoints.LatestChangeDP_Factor", 100, { name: 'LatestChangeDP_Factor',  type: 'number', role:"state", read:  true,  write: true,});
                                        createState(dpPrefix + "ProofingDatapoints.CheckAliase", false, { name: 'Check_Alias_0_Ordner',  type: 'boolean', role:"state", read:  true,  write: true,});
                                        
                                        
                                        //------------------------------------------CHECK INSTANZEN--------------------------------------------------------
                                        
                                        async function instanzCount(){
                                           return new Promise(async (resolve, reject) => {
                                        
                                        
                                          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());
                                        
                                         }
                                         if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE CHECK INSTANZEN :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                         
                                          resolve();
                                          }); //end promise
                                        }      // end function
                                        
                                        
                                        //------------------------------------------CHECK TYPE --  ZUORDNUNG--------------------------------------------------------
                                        
                                        async function checkTypes(select) {
                                           return new Promise(async (resolve, reject) => {
                                               try {
                                            helplog("bin in check types");
                                           var counter=0; 
                                           htmlMSG.push("");
                                           htmlDP.push("");
                                        
                                          // log(",,,,,,,,,,,,,,liste aliasArr: "+aliasArr.toString(),"error");
                                           
                                           var sub= select.substring(select.length-1, select.length); //log("---------: "+sub);//console.log("----------select: "+select);
                                           mylog(select)
                                           $(select).each(function (id, i) {
                                               counter++
                                        
                                             
                                               
                                              // var rrr=getState("abs").val
                                              
                                            //  console.log("===== falls script nach diesem Eintrag endet, gibt es eine nicht-exisitierende Hauptkategorie - letzte kontrollierte Kategorie: "+ id+" =====");
                                               //console.log(getObject("abc").common.hasOwnProperty("type"));
                                        
                                            //   if(getObject(id).common.hasOwnProperty("alias")) console.log(id); // TEST ABSTURZ
                                               
                                        
                                                  
                                           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"); 
                                              //console.log(JSON.stringify(getObject(id).common));
                                               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(getObject(id).common.type ==null || getObject(id).common.type == undefined || getObject(id).common.type =="") {
                                                         //console.log("shit happens","error");
                                                         htmlDP.push(id);
                                                         htmlMSG.push("-col-<b>ACHTUNG common.type fehlt</b>");                  
                                                         } 
                                                    else {
                                                    let typesIOhelp=false;                     // VERGLEICH/PRÜFUNG MIT ALLEN TYPES
                                                    for (var i =0; i<typesIO.length;i++) {
                                                        var re = new RegExp("\\b" + typesIO[i] + "\\b", "g");
                                                       // console.log(dpType.match(re)+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                        if (dpType.match(re) && i < typesIO.length) {typesIOhelp=true;break;} else {typesIOhelp=false; }}
                                                        if (!typesIOhelp) {//console.log("========================hier fehler mit type nicht in constante:  " +id);       
                                                                           htmlDP.push(id);
                                                                           htmlMSG.push("-col-<b>ACHTUNG common.type falsch: "+dpType+"</b>");}}
                                                     
                                                    if (getState(id).val !== null){          // ANZEIGE ALLER DATENPUNKTE MIT STATE=null
                                        
                                                      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 );}
                                        
                                                     
                                                         }//end of check common.type and value-type 
                                        
                                                   } //end of mixed
                                        
                                        
                                        
                                               
                                              } // end of check object includes name and type
                                        
                                        
                                           }//ende if scriptenabled
                                           });
                                           htmlDP.push("<i>ID + IST-WERT</i>");
                                           htmlMSG.push("<i>SOLL-WERT</i>");
                                           htmlDP.push("-col-<b>geprüfte Instanz</b>");
                                           htmlMSG.push("-col-<i><b>"+select+"</b></i>");
                                           if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE CHECK WERTE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                           helplog("fertg in checkType mit: "+select+ "und " + counter.toString()+ " Durchläufen")
                                             resolve();
                                              } catch (e) {console.log("------------ERROR: "+e ); reject(); return alarmInstanz1=true}
                                          }); //end promise
                                        }      //end function
                                        
                                        //------------------------------------------CHECK  WERTE--------------------------------------------------------
                                        
                                        async function checkWerte(select) {
                                           return new Promise(async (resolve, reject) => {
                                               try{
                                           helplog("bin in check Werte");
                                           var counter=0; 
                                           var jetzt=new Date().getTime();
                                           var error1;
                                        
                                           mylog(select);
                                           $(select).each(function (id, i) {
                                               counter++
                                                error1=id;
                                             //console.log(getObject("abc").common.hasOwnProperty("type"));   // TEST ABSTURZ
                                             // console.log("statusalias");
                                             
                                        
                                           if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') /*&& !id.includes('alias.0')  )  && !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); return alarmInstanz1=true}
                                                     htmlDP.push(id+": "+valType);
                                                     htmlMSG.push("<b>missing DP-OBEJCT !!</b>" );}
                                        
                                                     else {
                                                //              console.log("status0");
                                                           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 = jetzt-getObject(id).ts; //getState(id).ts 
                                                               // if (ddd == NaN) log(ddd.toString(),"error");
                                                                 //log(getState(id).ts.toString(),"error");
                                                                
                                                                //if(ddd==undefined)
                                                                htmlMSG.push("not used & created at: " + Math.floor((ddd)/1000/60/60/24)+"d "+Math.floor((ddd)/1000/60/60 %24)+"h "+Math.floor((ddd)/1000/60 %60)+"m");
                                                                } 
                                                           else {  if (unusedDay){//console.log(  (jetzt - (86400000 * unusedDayFactor))-getObject(id).ts + id + getState(id).ts );  
                                                                  var ddd = jetzt-getState(id).ts;
                                                                  if ( (jetzt - (86400000 * unusedDayFactor)) - getState(id).ts > 0 ){
                                                                     htmlDP.push(id);
                                                                     htmlMSG.push("lastChange over "+ unusedDayFactor +" days");
                                                                     htmlDP.push("");
                                                                     htmlMSG.push("created: "+ 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
                                        
                                                          // var ddd = (new Date().getTime()-864000000) getObject(id).ts;
                                                           
                                        
                                        
                                                                                                /*   console.log("_____________________bin in type check groß:länge types:  "+ typesIO.length );
                                                                     if(getObject(id).common.hasOwnProperty("type")){
                                                                           let typesIOhelp=false; 
                                                                           for (var i =0; i<typesIO.length;i++) {
                                                                               console.log(getObject(id).common.type.includes(typesIO[i])+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                                             
                                                                               if (getObject(id).common.type.includes(typesIO[i]) && i < typesIO.length) {typesIOhelp=true;break;} else {typesIOhelp=false; }}
                                                                     if (!typesIOhelp) {console.log("========================hier fehler mit type nicht in constante:  " +id);       
                                                                                        htmlDP.push(id);
                                                                                        htmlMSG.push("-col-<b>ACHTUNG common.type falsch - "+getObject(id).common.type+"</b>");}
                                                                                       
                                                                     } else {mylog("ok in type constante  :" + id);}*/
                                                                     //ende alle typen check    
                                        
                                           } //ende check missing object
                                           } // ende script enabled check
                                           }); // ende selct.each
                                            if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL AUSGABE CHECK WERTE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                            helplog("bin raus aus check Werte bei :"+ select);
                                            resolve("ok");
                                             } catch (e) {console.log("------------ERROR: "+e ); reject(error1); return error1}
                                          }); //end promise
                                        }      //end function
                                        //---------------------------------------------------------------------------------------------------------------------
                                        
                                        
                                        function mylog(message) {
                                          if(mylogs)
                                              console.log(message);
                                        }function helplog(message) {
                                          if(helplogs)
                                              console.log(message);
                                        }
                                        
                                        //------------------------------------------Zähle Objecte der  INSTANZEN--------------------------------------------------------
                                        async 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;
                                        if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in AUSGABE ZÄHLEN INSTANZEN :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                        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);
                                           
                                           
                                            });
                                        
                                        //-----------------------------------------------ALIAS CHECK------------------------------------------------
                                        
                                        async function checkAlias() {
                                           return new Promise(async (resolve, reject) => {
                                               try{
                                           helplog("bin in check aliase");
                                           let counter=0; 
                                           var jetzt=new Date().getTime();
                                           var aliasArrAlarm
                                           aliasArr=[];
                                           var aliasArrOrg=[];
                                        
                                        
                                               for(var l=0;l<instanzArr.length;l++)  { //für eigene datenpunkte
                                                       allInstArr.push(instanzArr[l]);
                                               }
                                        
                                            $("alias.0.*").each(function (id, i) {
                                        
                                            if(id.includes("alias.0") ) {
                                                if( JSON.stringify(getObject(id).common).includes("alias")) {      
                                                //   var helpAlias= Object.keys(getObject(id).common.alias);                              // erstellt ALIAS ARRAY
                                               // log("_!_!_!_!_!__!_!_!_!_!_!_!_ "+id  + "hat ALIAS mit :"+ getObject(id).common.alias.id ,"error");
                                                aliasArr.push(getObject(id).common.alias.id);
                                                aliasArrOrg.push(getObject(id)._id);
                                               }}
                                        
                                                }); // ende alias finden 
                                        
                                                      
                                        
                                                  
                                             //log("bin in array " + "länge: "+ aliasArr.length+"--"  + " ganz : " +aliasArr.toString(),"error");
                                            
                                            /*  $("controll-own.0.*").each(function (id, i) {
                                                         
                                                           if (id=="controll-own.0.AAATEST.AARolladen4") log("HIER IT ES1"+ JSON.stringify(getObject(id))+" counter : " + counter);  
                                                          log("HIER IT ES1"+ id +" counter : " + counter);});*/
                                                      
                                                      aliasArrAlarm=false; 
                                                    //  log(allInstArr.toString());
                                                    for(var l=0;l<allInstArr.length;l++)  {
                                                      $(allInstArr[l]+".*").each(function (id, i) {
                                                          counter++;
                                                          // if (id=="controll-own.0.AAATEST.AARolladen44") log("HIER IT ES"+ JSON.stringify(getObject(id))+" counter : " + counter);
                                                                  // for(let index in aliasArr){
                                                          for (var h=0; h<aliasArr.length;h++){
                                                                   // log(allInstArr[l]+"---:---"+id,"error");
                                                          if (id ==aliasArr[h]  && aliasArr[h] != "found" ) { htmlDP.push(aliasArrOrg[h]); htmlMSG.push("ALIAS: ok : "+id); /*log("--------erfolgreich ID: "+id+" ARRAY:  "+aliasArr[h])*/; aliasArr[h] = "found"; aliasArrAlarm=false;   } 
                                                          } 
                                                         // aliasArrAlarm=false;
                                                         //for (var h=0; h<aliasArr.length;h++){ if (aliasArr[h] == "found") {aliasArrAlarm=true;}}
                                                      }); // ende allInstArr
                                                         } //end of  selct.each 
                                        
                                                         for (var h=0; h<aliasArr.length;h++)
                                                              { if (aliasArr[h]!="found") {htmlDP.push(aliasArrOrg[h]);
                                                                                           htmlMSG.push("-col-<b>ACHTUNG wrong DP assignment: </b>");}}
                                                      //    log(aliasArr.toString(),"error");
                                        
                                                                                                               //             if(!aliasArrAlarm && parseInt(index) > aliasArr.length-1){break;}
                                                       
                                                 /*      if (aliasArrAlarm) {console.log("========================hier fehler mit a l i a s:  " );       
                                                                           htmlDP.push(aliasArr[index]);
                                                                           htmlMSG.push("-col-<b>ACHTUNG missing ALIAS: </b>");}
                                                       else { htmlDP.push(aliasArr[index]);
                                                              htmlMSG.push("ALIAS: ok")}
                                                               if(!aliasArrAlarm && parseInt(index) > aliasArr.length-1){break;}*/
                                                             
                                                                                  
                                                 
                                                 /* 
                                                   if(select.includes("alias.0") ) {aliasArrAlarm=false;}
                                                      
                                                       for (var i =0; i<aliasArr.length;i++) {
                                                            var re = new RegExp("\\b" + aliasArr[i] + "\\b", "g");
                                                       // console.log(dpType.match(re)+" ID : "+id+" i=: "+i.toString() + " wert : "+typesIO[i]);
                                                        if (dpType.match(re) && i < aliasArr.length) {aliasArrAlarm=true;break;} else {aliasArrAlarm=false; }}
                                                        if (!aliasArrAlarm) {consolelog("========================hier fehler mit a l i a s:  " +id);       
                                                                           htmlDP.push(id);
                                                                           htmlMSG.push("-col-<b>ACHTUNG missing ALIAS: </b>");
                                                       }
                                                         
                                               } */
                                        
                                           htmlDP.push("<i>ALIAS DP ASSIGNMENT</i>");
                                           htmlMSG.push("<i>ALIAS STATUS</i>");
                                           htmlDP.push("-col-<b>geprüftes Alias</b>");
                                           htmlMSG.push("-col-<i><b>Anzahl: "+aliasArr.length+"</b></i>");
                                           htmlDP.push("");
                                           htmlMSG.push("");
                                        
                                            if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL AUSGABE CHECK ALIAS :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");}
                                            helplog("bin raus aus check aliase");
                                            resolve();
                                             } catch (e) {console.log("------------ERROR: "+e ); reject(); return alarmInstanz1=true}
                                          }); //end promise
                                        }      //end function
                                        
                                        
                                        async function calmDown(howLong){
                                        
                                        
                                           let promise = new Promise((res, rej) => {
                                               setTimeout(() => res("Now it's done!"), howLong)
                                           });
                                        
                                           // wait until the promise returns us a value
                                           let result = await promise; 
                                         
                                           // "Now it's done!"
                                           log(result,"error"); 
                                           }
                                           /*
                                        };
                                        firstAsync();
                                        
                                         var timeout = setTimeout(function () {
                                        
                                             log("pause");
                                        }, 3000);}*/
                                        
                                        
                                        //-------------------------------------------------write stuff----------------------------------------------
                                        async function writeStuff() {
                                        
                                        //ab hier geht es um die ausgabe
                                        if (htmlDP.length != htmlMSG.length) {console.log("-------- !!! FEHLER in ANZAHL DATENAUSGABE :  "+ "AnzahlDP: "+htmlDP.length+" AnzahlMSG: "+htmlMSG.length,"error");} 
                                         else {
                                         //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>"
                                        }
                                              endehtml=endehtmlConst;
                                              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); 
                                            } //ende else bei fehler im array zur ausgabe
                                        
                                            }
                                        
                                        //-----------------------------------------------SCHALTER MAIN------------------------------------------------
                                        on({id:dpPrefix + "ProofingDatapoints.RunScript", ack: false, val: true}, function (obj) { 
                                          mainScript();
                                        });
                                        
                                        async function mainScript(){
                                        
                                           setState(dpPrefix + "ProofingDatapoints.RunSuccessful",false); 
                                            java= getState(dpPrefix + "ProofingDatapoints.JavaInstanzCheck").val;
                                            instanzAnzahl= getState(dpPrefix + "ProofingDatapoints.ObjectAnzahlCheck").val;
                                           monster= getState(dpPrefix + "ProofingDatapoints.MonsterSearch").val;
                                            ohneInstanz = getState(dpPrefix + "ProofingDatapoints.ohneInstanzAnzeige").val;
                                           unusedDayFactor = getState(dpPrefix + "ProofingDatapoints.LatestChangeDP_Factor").val;
                                           ali = getState(dpPrefix + "ProofingDatapoints.CheckAliase").val;
                                           unusedDay = getState(dpPrefix + "ProofingDatapoints.LatestChangeDP").val;
                                            endehtmlConst=   "<p style=\"color:"+warnColor+"; font-family:"+schriftart+";\">Letztes File Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss")+"</p>";
                                            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="";
                                           counterAll=0;
                                           instanzArrHelp=[];
                                           allInstArr=[];
                                           htmlDP=[];
                                           htmlMSG=[];
                                           aliasArr=[];
                                           setState(dpPrefix + "ProofingDatapoints.HTMLTable",htmlReset+endehtml+htmlError);
                                           setStateDelayed(dpPrefix + "ProofingDatapoints.RunScript",false,2500);    
                                           writeFile(null, "/ProofingDatapoints/htmlputz.html" ,htmlReset+endehtml+htmlError+"</body>", function (error) {mylog('file written'); });
                                        
                                        log('_______________________ starte Instanz Count');
                                        
                                        
                                        
                                        await instanzCount();   
                                        await writeStuff();
                                        
                                        if (true) await calmDown(1000);
                                        
                                                                                                                        //überprüft instanzen und stellt allInstArr her
                                        
                                        htmlDP.push("-col-<b>INSTANZ INFO</b>"); htmlMSG.push(""); htmlDP.push(""); htmlMSG.push("");
                                        log(instanzArr.length+"==================="+instanzArr.toString());
                                        
                                        
                                        if (monster) {instanzArrHelp=allInstArr;} else {instanzArrHelp=instanzArr}  //ACHTUNG MONSTERSEARCH
                                        if (directSearch) {instanzArrHelp=[]; instanzArrHelp.push(getState(dpPrefix + "ProofingDatapoints.OrdnerCheck").val);}
                                        
                                        log('_______________________ starte durch array Instanzen');
                                        for(let name in instanzArrHelp){
                                           if (monster) await calmDown(150);
                                           await checkWerte(instanzArrHelp[name]+".*").then( message => {console.log("Funktion Check Werte erfolgreich","error");  });
                                           await writeStuff();
                                           
                                           if (true) await calmDown(1000);
                                                                                                   //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 zählen");}
                                                    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 (monster) await calmDown(2000);         
                                        
                                        if (java && !monster && !ohneInstanz && !directSearch) await checkWerte('javascript.*').catch().then();                 //checkt alle javainstanzen
                                        log("STOPPE SCRIPT");
                                        //stopScript();
                                        
                                         htmlDP.push("-col-<b>ID's OHNE WERT:</b>");
                                         htmlMSG.push("");
                                        
                                        log('_______________________ starte durch array Type Check');
                                        
                                        for(let name in instanzArrHelp){
                                           if (monster) await calmDown(150);
                                           await checkTypes(instanzArrHelp[name]+".*").catch().then();
                                           mylog("!!!!!!!!!!!!!!!!!!!!:  "+instanzArrHelp[name])};
                                             htmlDP.push("");
                                             htmlMSG.push("");
                                             htmlDP.push("-col-<b>IDs MIT FALSCHEN TYPE:</b>");
                                             htmlMSG.push("");
                                        
                                        
                                         if (java && !monster && !ohneInstanz && !directSearch ) await checkTypes('javascript.*').catch().then();          //checkt java instanz dp auf type
                                          //log(allInstArr.toString(),"error");
                                        
                                          if(ali) {log('_______________________ starte durch array Type Check');
                                                  await checkAlias();}
                                        
                                         log('_______________________ starte durch array Type Check');
                                          writeStuff();
                                        }
                                        
                                        
                                        
                                        
                                        const typesIO = ["boolean", "number", "string", "object", "array", "mixed", "sensor.window", "sensor.door", "sensor.alarm", "sensor.alarm.flood", "sensor.alarm.fire", "sensor.alarm.secure", "sensor.alarm.flood", "sensor.alarm.power", "sensor.alarm.secure", "sensor.door", "sensor.light", "sensor.lock", "sensor.motion", "sensor.rain", "sensor.noise", "sensor.rain", "sensor.window", "button", "button.long", "button.stop", "button.start", "button.open.door", "button.open.window", "button.mode", "button.mode.auto", "button.mode.manual", "button.mode.silent", "button.open.door", "button.open.window", "button.start", "button.stop", "value", "value.window", "value.temperature", "value.humidity", "value.battery", "value.blind", "value.brightness", "value.min", "value.max", "value.current", "value.curtain", "value.default", "value.battery", "value.valve", "value.time", "value.direction", "value.distance", "value.distance.visibility", "value.gps", "value.gps.elevation", "value.gps.latitude", "value.gps.longitude", "value.humidity", "value.interval", "value.gps.longitude", "value.gps.latitude", "value.gps.elevation", "value.gps", "value.power.consumption", "value.direction", "value.curtain", "value.blind", "value.tilt", "value.lock", "value.speed", "value.max", "value.min", "value.power.consumption", "value.pressure", "value.distance", "value.distance.visibility", "value.severity", "value.warning", "value.sun.elevation", "value.speed", "value.sun.azimuth", "value.sun.elevation", "value.temperature", "value.tilt", "value.time", "value.valve", "value.voltage", "value.current", "value.warning", "value.window", "indicator", "indicator.working", "indicator.reachable", "indicator.connected", "indicator.maintenance", "indicator.maintenance.lowbat", "indicator.maintenance.unreach", "indicator.maintenance.alarm", "indicator.lowbat", "indicator.alarm", "indicator.alarm.fire", "indicator.alarm.flood", "indicator.alarm.secure", "indicator.connected", "indicator.lowbat", "indicator.maintenance", "indicator.maintenance.alarm", "indicator.maintenance.lowbat", "indicator.maintenance.unreach", "indicator.reachable", "indicator.working", "level", "level.co2", "level.dimmer", "level.blind", "level.temperature", "level.valve", "level.color.red", "level.color.green", "level.co2", "level.color.blue", "level.color.white", "level.color.green", "level.color.hue", "level.color.saturation", "level.color.rgb", "level.color.luminance", "level.color.red", "level.color.rgb", "level.color.saturation", "level.color.temperature", "level.color.white", "level.curtain", "level.dimmer", "level.temperature", "level.tilt", "level.timer", "level.timer.sleep", "level.valve", "level.volume", "level.volume.group", "level.curtain", "level.tilt", "switch", "switch.lock", "switch.lock.door", "switch.lock.window", "switch.boost", "switch.light", "switch.comfort", "switch.enable", "switch.power", "switch.light", "switch.lock", "switch.lock.door", "switch.lock.window", "switch.mode.*", "switch.mode.auto", "switch.mode.color", "switch.mode.manual", "switch.mode.silent", "switch.mode.moonlight", "switch.mode.color", "switch.mode.silent", "switch.power", "button.stop", "button.play", "button.fastforward", "button.fastreverse", "button.forward", "button.next", "button.prev", "button.pause", "switch.pause", "button.forward", "button.play", "button.prev", "button.reverse", "button.fastforward", "button.fastreverse", "button.volume.up", "button.stop", "button.volume.down", "media.seek", "media.mode.shuffle", "media.mode.repeat", "media.state", "media.artist", "button.volume.up", "level.bass", "level.treble", "media.add", "media.album", "media.title", "media.title.next", "media.artist", "media.bitrate", "media.broadcastDate", "media.clear", "media.content", "media.cover", "media.cover.big", "media.cover.small", "media.duration.text", "media.date", "media.duration", "media.elapsed.text", "media.duration.text", "media.elapsed", "media.broadcastDate", "media.mute", "media.season", "media.elapsed.text", "media.episode", "media.mute.group", "media.tts", "media.bitrate", "media.genre", "media.date", "media.track", "media.input", "media.jump", "media.link", "media.mode.repeat", "media.mode.shuffle", "media.mute", "media.mute.group", "media.playid", "media.add", "media.clear", "media.playlist", "media.season", "media.seek", "media.state", "media.title", "media.title.next", "media.track", "media.tts", "media.url", "media.url.announcement", "media.jump", "media.content", "media.link", "media.input", "level.bass", "level.treble", "switch.pause", "switch.power.zone", "value.temperature", "value.temperature.windchill", "value.temperature.dewpoint", "value.temperature.feelslike", "value.temperature.min", "value.temperature.max", "value.humidity", "value.humidity.min", "value.humidity.max", "value.speed.wind", "value.speed.max.wind", "value.speed.min.wind", "value.speed.wind.gust", "value.direction.wind", "value.direction.max.wind", "value.direction.min.wind", "weather.direction.wind", "date", "date.forecast.1", "date.sunrise", "date.sunset", "dayofweek", "location", "weather.icon", "weather.icon.wind", "weather.icon.name", "weather.state", "value.clouds", "value.direction.max.wind", "value.direction.min.wind", "value.direction.wind", "value.direction.wind.forecast.0", "value.direction.wind.forecast.1", "value.humidity", "value.humidity.max", "value.humidity.min", "value.precipitation", "value.precipitation.day.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.1", "value.precipitation.forecast.1", "value.precipitation.hour", "value.precipitation.night.forecast.0", "value.precipitation.today", "value.pressure.forecast.0", "value.pressure.forecast.1", "value.radiation", "value.uv", "value.clouds", "value.rain", "value.rain.hour", "value.rain.today", "value.snow", "value.snow.hour", "value.snow.today", "value.snowline", "value.speed.max.wind", "value.speed.min.wind", "value.speed.wind", "value.speed.wind.forecast.0", "value.speed.wind.forecast.1", "value.speed.wind.gust", "value.temperature", "value.temperature.dewpoint", "value.temperature.feelslike", "value.temperature.max", "value.temperature.max.forecast.0", "value.temperature.max.forecast.1", "value.temperature.min", "value.temperature.min.forecast.0", "value.temperature.min.forecast.1", "value.temperature.windchill", "value.uv", "weather.chart.url", "weather.chart.url.forecast", "weather.direction.wind", "weather.direction.wind.forecast.0", "weather.html", "weather.title", "weather.title.short", "weather.type", "weather.icon", "weather.icon.forecast.1", "weather.icon.name", "weather.icon.wind", "weather.json", "value.speed.wind.forecast.0", "weather.state", "weather.state.forecast.0", "value.direction.wind.forecast.0", "weather.direction.wind.forecast.0", "value.pressure.forecast.0", "value.temperature.min.forecast.0", "value.temperature.max.forecast.0", "value.precipitation.forecast.0", "value.precipitation.forecast.0", "weather.state.forecast.1", "weather.title", "weather.title.forecast.0", "value.precipitation.day.forecast.0", "value.precipitation.night.forecast.0", "weather.title.short", "weather.type", "date.forecast.1", "weather.icon.forecast.1", "weather.state.forecast.1", "value.temperature.min.forecast.1", "value.temperature.max.forecast.1", "value.precipitation.forecast.1", "value.precipitation.forecast.1", "value.direction.wind.forecast.1", "value.speed.wind.forecast.1", "value.pressure.forecast.1", "date.end", "date.start", "info.address", "info.display", "info.ip", "info.mac", "info.name", "info.address", "info.port", "info.standby", "info.status", "info.display", "date.start", "date.end", "text.phone", "url.icon", "url.cam", "url.audio", "url.blank", "url.cam", "url.icon", "url.same", "url.audio", "text.phone", "adapter.messagebox", "adapter.wakeup",]
                                        
                                        

                                        crunchipC Abwesend
                                        crunchipC Abwesend
                                        crunchip
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #91

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

                                        danke -ich konzentriere mich erstmal auf die fehler verbesserung
                                        was du aber bei gelegenheit schauen kannst: ist ein eintrag in der linken spalte extrem groß/lang -

                                        kein Thema, ist auch nicht wichtig, aber wo du es geschrieben hast, musst ich doch mal nachsehen und du hast Recht
                                        Es ist der Broadlink mit zwei Code Meldungen
                                        91ac250f-b1f6-4cf9-8742-0675ed293e1d-image.png

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

                                        wenn du noch lust hast - probiere mal das folgende script

                                        kann ich gerne machen, irgendeine bestimmte Einstellung bei der Monstersuche nötig?

                                        umgestiegen von Proxmox auf Unraid

                                        liv-in-skyL 1 Antwort Letzte Antwort
                                        0
                                        • crunchipC crunchip

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

                                          danke -ich konzentriere mich erstmal auf die fehler verbesserung
                                          was du aber bei gelegenheit schauen kannst: ist ein eintrag in der linken spalte extrem groß/lang -

                                          kein Thema, ist auch nicht wichtig, aber wo du es geschrieben hast, musst ich doch mal nachsehen und du hast Recht
                                          Es ist der Broadlink mit zwei Code Meldungen
                                          91ac250f-b1f6-4cf9-8742-0675ed293e1d-image.png

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

                                          wenn du noch lust hast - probiere mal das folgende script

                                          kann ich gerne machen, irgendeine bestimmte Einstellung bei der Monstersuche nötig?

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

                                          @crunchip ok damit habe ich nicht gerechnet - muss wohl eine cut-funktion einbauen - danke

                                          aber ich glaube nicht, das dieser datenpunkt richtig ist- schau mal ob du ihn löschen kannst, wenn er nicht gebraucht wird

                                          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

                                          crunchipC 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          813

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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