NEWS
Script - Info über Datenpunkte sammeln
-
sorry aber ich muss dich nochmal was fragen - ich versuche multistate datenpunkte zu filtern, die keine number im attribut haben sondern string
ist diese abfrage richtig - sie macht das mit meinen testpunkten aber ich würde gerne deine meinung haben
if(getObject(id).common.hasOwnProperty("states")){ var helpStates= Object.keys(getObject(id).common.states); if (true) { //platz für weitere bedingung var alarmString=false; for (var i=0; i < helpStates.length ;i++){ mylog(typeof helpStates[i]); //damit geht es nicht ! myog(isNaN(helpStates[i]).toString()) ; if (isNaN(helpStates[i])) alarmString=true; } if (alarmString){ htmlDP.push(id); htmlMSG.push("ACHTUNG Multstate must be number")} } }
ich versuche multistate datenpunkte zu filtern, die keine number im attribut haben sondern string
Auch Datenpunkte vom Typ "boolean" können Zustandstexte (states) haben, z.B.
"states": { "false": "Aus", "true": "Ein" } -
ich versuche multistate datenpunkte zu filtern, die keine number im attribut haben sondern string
Auch Datenpunkte vom Typ "boolean" können Zustandstexte (states) haben, z.B.
"states": { "false": "Aus", "true": "Ein" }@paul53
es gibt aber nur: type number, da müssen im "states" zahlen drin sein
und type boolean - da müssen in "states"logic werte drin sein
-
@paul53
es gibt aber nur: type number, da müssen im "states" zahlen drin sein
und type boolean - da müssen in "states"logic werte drin sein
es gibt aber nur: type number, da müssen im "states" zahlen drin sein
und type boolean - da müssen in "states"logic werte drin seinRichtig.
-
-
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-searches 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:

beispiel "directSearch"

beispiel webseite:

script für export:
version 1.0:ProofingDatapoints16-10-19.txt
version 1.1: ProofingDatapoints18-10-19.txtbitte alles unter const instanzArr=... ersetzen
version 1.2: ProofingDatapoints22-10-19.txtbitte alles unter "const instanzArr=..." ersetzen- multistates check hinzugefügt
version 1.5:ProofingDatapoints26-10-19.txtbitte 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.8ProofingDatapoints9-11-19.txt
version 1.9ProofingDatapoints10-11-19.txt
version 2.0ProofingDatapoints12-11-19.txt
version 2.1ProofingDatapoints13-11-19.txt
version 2.3ProofingDatapoints15-11-19.txt mit smart devices
version 2.4 ProofingDatapoints17-11-19.txt mit history deviceswidgets 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 @liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
version 1.2: ProofingDatapoints21-10-19.txt ab "AB HIER NICHTS ÄNDERN" ersetzen - multistates check hinzugefügt
<p style="color:red;font-family:Helvetica;"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>undefined<p style="color:red;font-family:Helvetica;"><i>Script hat Fehler - bitte Log checken !!!</i></p>
javascript.0 2019-10-22 21:12:27.223 error (15748) at tryOnImmediate (timers.js:676:5) javascript.0 2019-10-22 21:12:27.223 error (15748) at runCallback (timers.js:705:18) javascript.0 2019-10-22 21:12:27.223 error (15748) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41) javascript.0 2019-10-22 21:12:27.223 error (15748) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.<anonymous> (script.js.System.Objekte:285:5) javascript.0 2019-10-22 21:12:27.223 error (15748) at checkWerte (script.js.System.Objekte:167:15) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29) javascript.0 2019-10-22 21:12:27.223 error (15748) at script.js.System.Objekte:182:26 javascript.0 2019-10-22 21:12:27.222 error (15748) Error in callback: TypeError: Cannot read property 'common' of null -
-
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
version 1.2: ProofingDatapoints21-10-19.txt ab "AB HIER NICHTS ÄNDERN" ersetzen - multistates check hinzugefügt
<p style="color:red;font-family:Helvetica;"><i>!!! ohne Javascript Instanzen !!! kann enabled werden</i></p>undefined<p style="color:red;font-family:Helvetica;"><i>Script hat Fehler - bitte Log checken !!!</i></p>
javascript.0 2019-10-22 21:12:27.223 error (15748) at tryOnImmediate (timers.js:676:5) javascript.0 2019-10-22 21:12:27.223 error (15748) at runCallback (timers.js:705:18) javascript.0 2019-10-22 21:12:27.223 error (15748) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41) javascript.0 2019-10-22 21:12:27.223 error (15748) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.<anonymous> (script.js.System.Objekte:285:5) javascript.0 2019-10-22 21:12:27.223 error (15748) at checkWerte (script.js.System.Objekte:167:15) javascript.0 2019-10-22 21:12:27.223 error (15748) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29) javascript.0 2019-10-22 21:12:27.223 error (15748) at script.js.System.Objekte:182:26 javascript.0 2019-10-22 21:12:27.222 error (15748) Error in callback: TypeError: Cannot read property 'common' of nullleider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings
-
leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings
// @Liv-in-sky Okt. 2019 // WICHTIG // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte , "alexa2.0" //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi" const instanzArr=[ "Eigene_Datenpunkte.0", "alexa2.0", "hm-rega.0", "hm-rpc.0"]; // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",]; var color_in_table="black" // Farbe text in webseite let schriftart="Helvetica"; // möglich: Helvetica,Serif var color_gradient1="#819FF7"; // Hintergrund webseite var colorHeadlines="darkblue"; // Farbe Überschriften in der VIS Anzeige var colorHeadlinesDP="#36d5ec "; // Farbe Überschriften in der WebSeite Anzeige var warnFarbe = "#36d5ec"; //Farbe für Warnungen in vis und Webseite -
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
leider habe ich heute keine zeit mehr - morgen als erstes - poste bitte mal deine settings
// @Liv-in-sky Okt. 2019 // WICHTIG // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte , "alexa2.0" //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi" const instanzArr=[ "Eigene_Datenpunkte.0", "alexa2.0", "hm-rega.0", "hm-rpc.0"]; // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",]; var color_in_table="black" // Farbe text in webseite let schriftart="Helvetica"; // möglich: Helvetica,Serif var color_gradient1="#819FF7"; // Hintergrund webseite var colorHeadlines="darkblue"; // Farbe Überschriften in der VIS Anzeige var colorHeadlinesDP="#36d5ec "; // Farbe Überschriften in der WebSeite Anzeige var warnFarbe = "#36d5ec"; //Farbe für Warnungen in vis und Webseitehab doch noch mal nachgesehen - irgendwie ergeben die fehlermeldungen keinen sinn bzw. ich kann sie nicht richtig deuten - bitte stoppe script, lösche alle datenpunkte des scripts, kopiere die ganze neue version, setze nur deine "eigenen_datenpunkte.0" und starte das script nochmal
-
hab doch noch mal nachgesehen - irgendwie ergeben die fehlermeldungen keinen sinn bzw. ich kann sie nicht richtig deuten - bitte stoppe script, lösche alle datenpunkte des scripts, kopiere die ganze neue version, setze nur deine "eigenen_datenpunkte.0" und starte das script nochmal
Geht, Copy/Paste Fehler oder wenn ich eine const instanzArr hinzufüge.
HTML wurde nicht erstellt.
-
Geht, Copy/Paste Fehler oder wenn ich eine const instanzArr hinzufüge.
HTML wurde nicht erstellt.
@sigi234 hi sigi
könntest du nochmal testen
ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst
-
@nis
habe mal die prüfung für multistate eingeführt - wahrscheinlich hast du gerade keine solchen datenpunkte -, wenn doch, bitte testen, wenn du zeit hast

-
@sigi234 hi sigi
könntest du nochmal testen
ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 hi sigi
könntest du nochmal testen
ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst
So, gerade getestet nur mit eigenen DP
Funktioniert, Html erstellt.

-
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 hi sigi
könntest du nochmal testen
ein fehler ist mir aufgefallen - das hing an einem datenpunkt im alexa2 adapter, den du ja standardmäßig prüfst
So, gerade getestet nur mit eigenen DP
Funktioniert, Html erstellt.

@sigi234 und gleich fehler gefunden
javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?
-
@sigi234 und gleich fehler gefunden
javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 und gleich fehler gefunden
javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?
{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1569269166953, "common": { "name": "Termine heute, morgen oder bis einschließlich übermorgen", "type": "boolean", "min": 1, "max": 3, "states": "1:heute;2:morgen;3:übermorgen", "role": "state" }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.0.Ansage.Terminvorschau", "type": "state" } -
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 und gleich fehler gefunden
javascript.0.Ansage.Terminvorschau - magst du mal den raw wert des objects posten ?
{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1569269166953, "common": { "name": "Termine heute, morgen oder bis einschließlich übermorgen", "type": "boolean", "min": 1, "max": 3, "states": "1:heute;2:morgen;3:übermorgen", "role": "state" }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.0.Ansage.Terminvorschau", "type": "state" }@sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte
der common.type müßte hier number sein
-
@sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte
der common.type müßte hier number sein
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte
der common.type müßte hier number sein
Ok, DP wurde von einen Skript automatisch erstellt.
-
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte
der common.type müßte hier number sein
Ok, DP wurde von einen Skript automatisch erstellt.
@sigi234 ist halt nicht standard - paul hat mir das so erklärt - wahrscheinlich funktioniert es - aber u.U. kann ein anderer adapter (evtl. iqontrol) dann probleme haben
-
@sigi234 ist halt nicht standard - paul hat mir das so erklärt - wahrscheinlich funktioniert es - aber u.U. kann ein anderer adapter (evtl. iqontrol) dann probleme haben
So habe weitere instanzArr hinzufügefügt.
Kommt sofort die Fehlermeldung.javascript.0 2019-10-23 18:46:59.473 error (2400) at tryOnImmediate (timers.js:676:5) javascript.0 2019-10-23 18:46:59.473 error (2400) at runCallback (timers.js:705:18) javascript.0 2019-10-23 18:46:59.473 error (2400) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41) javascript.0 2019-10-23 18:46:59.473 error (2400) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.<anonymous> (script.js.System.Objekte:288:5) javascript.0 2019-10-23 18:46:59.472 error (2400) at checkWerte (script.js.System.Objekte:170:15) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29) javascript.0 2019-10-23 18:46:59.472 error (2400) at script.js.System.Objekte:185:26 javascript.0 2019-10-23 18:46:59.472 error (2400) Error in callback: TypeError: Cannot read property 'common' of null// @Liv-in-sky Okt. 2019 // WICHTIG // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte , "alexa2.0" //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi" const instanzArr=[ "alexa2.0", "Eigene_Datenpunkte", "ping.0",]; // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",]; var color_in_table="black" // Farbe text in webseite let schriftart="Helvetica"; // möglich: Helvetica,Serif var color_gradient1="#819FF7"; // Hintergrund webseite var colorHeadlines="darkblue"; // Farbe Überschriften in der VIS Anzeige var colorHeadlinesDP="#36d5ec "; // Farbe Überschriften in der WebSeite Anzeige var warnFarbe = "#36d5ec"; //Farbe für Warnungen in vis und Webseite -
@liv-in-sky sagte in Script - Info über Datenpunkte sammeln:
@sigi234 beim common.type boolean darf unten in den common.states nicht 1 oder 2 stehen sondern true oder false - also nur 2 werte
der common.type müßte hier number sein
Ok, DP wurde von einen Skript automatisch erstellt.
-
So habe weitere instanzArr hinzufügefügt.
Kommt sofort die Fehlermeldung.javascript.0 2019-10-23 18:46:59.473 error (2400) at tryOnImmediate (timers.js:676:5) javascript.0 2019-10-23 18:46:59.473 error (2400) at runCallback (timers.js:705:18) javascript.0 2019-10-23 18:46:59.473 error (2400) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:214:41) javascript.0 2019-10-23 18:46:59.473 error (2400) at change (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4546:37) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:396:25) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.<anonymous> (script.js.System.Objekte:288:5) javascript.0 2019-10-23 18:46:59.472 error (2400) at checkWerte (script.js.System.Objekte:170:15) javascript.0 2019-10-23 18:46:59.472 error (2400) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29) javascript.0 2019-10-23 18:46:59.472 error (2400) at script.js.System.Objekte:185:26 javascript.0 2019-10-23 18:46:59.472 error (2400) Error in callback: TypeError: Cannot read property 'common' of null// @Liv-in-sky Okt. 2019 // WICHTIG // hier muss die instanz der eigenen datenpunkte angegeben werden oder zusätzlich, die man prüfen möchte , "alexa2.0" //oder auch nur einzelne ornder in der datenstruktur z.b. "javascript.2.WLANUnifi" const instanzArr=[ "alexa2.0", "Eigene_Datenpunkte", "ping.0",]; // beispiel const instanzArr=[ "eigeneDatenpunkte.0", "ping.0",]; var color_in_table="black" // Farbe text in webseite let schriftart="Helvetica"; // möglich: Helvetica,Serif var color_gradient1="#819FF7"; // Hintergrund webseite var colorHeadlines="darkblue"; // Farbe Überschriften in der VIS Anzeige var colorHeadlinesDP="#36d5ec "; // Farbe Überschriften in der WebSeite Anzeige var warnFarbe = "#36d5ec"; //Farbe für Warnungen in vis und Webseiteim datenpunkt ordnerCheck kannst du einzelne ordner durchsuchen
probier darin mal "alexa2.0" und anschliessend "ping.0" - sobald der wert drin ist, läuft das script los und durchsucht nur diesen ordner
eins davon sollte durchlaufen
es scheint du hast einen state, der keinen datenpunkt hat (vermute ich mal) zumindest lt zeile, wo der fehler auftritt
-
im datenpunkt ordnerCheck kannst du einzelne ordner durchsuchen
probier darin mal "alexa2.0" und anschliessend "ping.0" - sobald der wert drin ist, läuft das script los und durchsucht nur diesen ordner
eins davon sollte durchlaufen
es scheint du hast einen state, der keinen datenpunkt hat (vermute ich mal) zumindest lt zeile, wo der fehler auftritt
@liv-in-sky sagte:
es scheint du hast einen state, der keinen datenpunkt hat
Ja, es sieht danach aus.