NEWS

Script - Info über Datenpunkte sammeln



    • 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):

    • 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

  • Forum Testing Most Active

    Sollte ich da nicht mehr DP´s haben?

    Screenshot (293).png



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

    Sollte ich da nicht mehr DP´s haben?

    Screenshot (293).png

    nein - ist so richtig - wird alles über die webseite angezeigt oder im table datenpunkt - mehr ist nicht notwendig - bis jetzt


  • Forum Testing Most Active

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

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

    Sollte ich da nicht mehr DP´s haben?

    Screenshot (293).png

    nein - ist so richtig - wird alles über die webseite angezeigt oder im table datenpunkt - mehr ist nicht notwendig - bis jetzt

    Mit Widget Basic-Html anzeigen?

    {javascript.0.ProofingDatapoints.HTMLTable}



  • @sigi234 ja genau

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

    8082 ist der port des webadapters !


  • Forum Testing Most Active

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

    @sigi234 ja genau

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

    8082 ist der port des webadapters !

    Geht Super!

    VIS:
    Screenshot (296).png

    WEB:

    Screenshot (297)_LI.jpg


  • Forum Testing Most Active

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

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

    @sigi234 ja genau

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

    8082 ist der port des webadapters !

    Geht Super!

    WEB:

    Screenshot (297)_LI.jpg

    Interessant ist der ID-Ohne Wert:

    Nehmen wir mal die 2:

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

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

    Also:

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

    Und genau solche sehe ich mir dann an.



  • @sigi234

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


  • Forum Testing Most Active

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

    @sigi234

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

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



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

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



  • @sigi234 sind die missing angaben so ok ?


  • Forum Testing Most Active

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

    @sigi234 sind die missing angaben so ok ?

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

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

    Habe nur 21000



  • @sigi234

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

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

    Image 2.png


  • Forum Testing Most Active

    @liv-in-sky

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

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


  • Developer Most Active Administrators

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

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

    koenntest dus eventuell mit nem

    try {
       hier der code
    }
    

    abfangen



  • @sigi234

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

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

    folgendes kann vorkommen:

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

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

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

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


  • Forum Testing Most Active

    @liv-in-sky

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

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

    Vergleich mit ioBroker Ansicht : 2455

    Info 2:

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

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



  • @sigi234 die webseite funktioniert auch wieder ?

    wegen der ical beispiele

    ich verstehe das script folgendermaßen:

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

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

    Image 5.png


  • Forum Testing Most Active

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

    die webseite funktioniert auch wieder ?

    JA👍



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

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

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

    koenntest dus eventuell mit nem

    try {
       hier der code
    }
    

    abfangen

    moin - hast du da mehr kenntnisse?

    viele warnungen kommen bei der abfrage ob ein wert vorhanden ist

    var valType =  getState(id).val;
    

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

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

    ich glaube, dass man das nicht verhindern kann


Log in to reply
 

Suggested Topics

  • 6
  • 2
  • 17
  • 17
  • 10
  • 12
  • 5
  • 11

1.9k
Online

32.2k
Users

38.9k
Topics

526.7k
Posts