NEWS
Script Tester - prüfe alle subscription-dp in allen scripten
-
@Negalein da hast du recht - ich nutze selbst keine leerzeichen in id's
muß mal checken, ob ich dass regex besser machen kann
-
@liv-in-sky sagte in Script Tester - prüfe alle subscription-dp in allen scripten:
z.b das script "Fritz/Ring_Ring" im scripte-tab - kontrolliere, ob der datenpunkt: tr-064-community.0.callmonitor.ringing existiert - das script sollte auf disabled stehen
Ja, Ja
-
@liv-in-sky sagte in Script Tester - prüfe alle subscription-dp in allen scripten:
die zeile:
on({id:0_userdata.0.Abfallentsorgung.HTML_Trigger ScriptENABLED: true - ScriptName: Z:/SICHERUNGEN/ioBroker/Skripte/Sigi/Skript_waste.js
bedeutet:im script sollte eigentlich on({id:0_userdata.0.Abfallentsorgung.HTML_Trigger.... mit anführungszeichen sein also: on({id: "0_userdata.0.Abfallentsorgung.HTML_Trigger...."
das script ist enabled
scriptname: Sigi/Skript_waste.jsleider weiß ich nicht, ob man die anführungszeichen weglasssen darf - evtl. funktioniert das script (vielleicht auch nicht?)
Skript ist on, hier :
// jshint maxerr:1000 const dp_waste_html = '0_userdata.0.Abfallentsorgung.waste_html'; fctInit(); function fctInit(){ if(!existsState(dp_waste_html)) { createState(dp_waste_html, {type: 'string', name: 'waste_html', role: 'value', read: true , write: true} ); } setStateDelayed(dp_waste_html, fctWasteHTML('Datenpunkt'), 1000); } on({id:'0_userdata.0.Abfallentsorgung.HTML_Trigger', val:true} , function (dp) { setState(dp_waste_html, fctWasteHTML('Datenpunkt')); }); on({id:'0_userdata.0.Abfallentsorgung.Popup_Trigger', val:true} , function (dp) { fctWastePopup(); }); function fctWastePopup(){ sendTo("iqontrol.0", "send", { PopupMessage: fctWasteHTML('Popup'), PopupDuration: 6000 }); } function fctWasteHTML(Trigger) { let ip = '192.168.178.20'; let css_file = 'http://' + ip + ':8107/iqontrol.meta/waste.css' let str_HTML = ''; let str_HTML_head = ''; let img_Restabfall = ''; let img_Papiertonne = ''; let img_Gelber_Sack = ''; img_Restabfall = './../iqontrol.meta/userimages/usericons/Abfallentsorgung/Restabfall_Tonne.png'; img_Papiertonne = './../iqontrol.meta/userimages/usericons/Abfallentsorgung/Papier_Tonne.png'; img_Gelber_Sack = './../iqontrol.meta/userimages/usericons/Abfallentsorgung/Gelbe_Tonne.png'; str_HTML_head = str_HTML_head + '<head><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">'; str_HTML_head = str_HTML_head + '<link rel="stylesheet" href="' + css_file + '" />'; str_HTML_head = str_HTML_head + '</head>'; //Tabelle Abfallentsorgung str_HTML = str_HTML + str_HTML_head + '<div class="box_column">'; if (Trigger == 'Popup'){ str_HTML = str_HTML + '<table class="table_popup">'; }else{ str_HTML = str_HTML + '<table class="table">'; } str_HTML = str_HTML + '<tr>'; str_HTML = str_HTML + '<th nowrap>' + getState('javascript.0.muell.restmuell').val + '</th>'; str_HTML = str_HTML + '<th nowrap>' + getState('javascript.0.muell.altpapier').val + '</th>'; str_HTML = str_HTML + '<th nowrap>' + getState('javascript.0.muell.gelbersack').val + '</th>'; str_HTML = str_HTML + '</tr>'; str_HTML = str_HTML + '<tr>'; if (Trigger == 'Popup'){ str_HTML = str_HTML + '<td align="center"><img class="img_popup" src="' + img_Restabfall + '"/></td>'; str_HTML = str_HTML + '<td align="center"><img class="img_popup" src="' + img_Papiertonne + '"/></td>'; str_HTML = str_HTML + '<td align="center"><img class="img_popup" src="' + img_Gelber_Sack + '"/></td>'; }else{ str_HTML = str_HTML + '<td align="center"><img src="' + img_Restabfall + '"/></td>'; str_HTML = str_HTML + '<td align="center"><img src="' + img_Papiertonne + '"/></td>'; str_HTML = str_HTML + '<td align="center"><img src="' + img_Gelber_Sack + '"/></td>'; } str_HTML = str_HTML + '</tr>'; str_HTML = str_HTML + '</table>'; str_HTML = str_HTML + '</div>'; return str_HTML; }
Skript funtioniert:
-
@sigi234 danke dir
ich denke, dass ist auch ein regex fehler - schau ich mir morgen mal an
-
@liv-in-sky sagte in Script Tester - prüfe alle subscription-dp in allen scripten:
/opt/iobroker/scripte-backup
Script laufen lassen:
18.10.2020, 12:37:08.433 [info ]: javascript.0 (8039) Start javascript script.js.Test.Finde_fehler_in_Scripten 18.10.2020, 12:37:08.485 [info ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: registered 0 subscriptions and 0 schedules 18.10.2020, 12:37:16.499 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: tr-064.0.devices.Silkes-iPhone.active ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/Test/Rufumleitung.js 18.10.2020, 12:37:16.503 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: tr-064.0.devices.Silkes-iPhone.active ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/Test/Rufumleitung.js 18.10.2020, 12:37:16.519 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: javascript.2.Waterkotte.Daten.WW_TEMP_Change_feedback ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/Waterkotte/Skript2.js 18.10.2020, 12:37:16.522 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: javascript.2.Waterkotte.Daten.WW_TEMP_Change_feedback ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/Waterkotte/Skript2.js 18.10.2020, 12:37:16.611 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: on({id: ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/common/HUE/HUE_Scenes.js 18.10.2020, 12:37:16.613 [warn ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: ScriptENABLED: false - ScriptName: /opt/iobroker/scripte-backup/common/HUE/HUE_Scenes.js 18.10.2020, 12:37:16.666 [error]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: javascript.0.GetAdmin.cmd ScriptENABLED: true - ScriptName: /opt/iobroker/scripte-backup/common/Tablet_Steuerung/GetAdmin.js 18.10.2020, 12:37:16.668 [error]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: javascript.0.GetAdmin.cmd ScriptENABLED: true - ScriptName: /opt/iobroker/scripte-backup/common/Tablet_Steuerung/GetAdmin.js 18.10.2020, 12:37:16.683 [info ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: gezählte Scripte: 150 18.10.2020, 12:37:16.683 [info ]: javascript.0 (8039) script.js.Test.Finde_fehler_in_Scripten: gezählte Scripte - Sonderfall(Blockly): 30
Wenn mir jetzt noch einer sagt was mir die Ausgabe sagen soll
-
@wendy2702 sagte in Script Tester - prüfe alle subscription-dp in allen scripten:
Wenn mir jetzt noch einer sagt was mir die Ausgabe sagen soll
Überlege ich auch noch.
-
das zeigt dir, welche scripte einen trigger haben, bei dem der "triggernde datenpunkt" nicht existent ist - und daher nicht getriggert werden kann . die ausgabe:
1 2 3 datenpunkt id ist script enabled script name, wenn ihr den backup-pfad wegnehmt , ist dasim script-tab im admin identisch im optimal fall
das script muss aber noch etwas verbessert werden, da datenpunkte mit leerzeichen der id als fehler angezeigt werden und auch sigi hatte ein beispiel, indem ein fehler angezeigt wurde , der wohl keiner war
-
@liv-in-sky OK.
Dann werde ich bei Gelegenheit mal suchen.
-
ich wollte das eigentlich süäter noch in einem json ausgeben, damit man das in der vis als tabelle sieht - aber nur, wenn das script besser und zuverlässiger wird
ich habe einige solche scripte, die trigger enthalten, deren datenpunkte (z.b. alexa2) unbenannt wurden und daher nichts mehr getriggert wird - das könnte man dann in der vis sehen und ändern
es gibt sicher auch andere wege z.b durch log-kontrolle -
zeile 7: mein script hat einen fehlerfehler
zeile 9 und 10 überprüfen - sind laufende scripte und habe evtl den eben erklärten fehlerandere zeilen: scripte haben evtl diesen fehler, sind aber nicht aktiv und daher nicht so wichtig
zu überprüfen wäre nur: zeile 9 und 10
ist in dem script von zeile 9 und 10 alles ok - kann dir das script im moment nicht helfen