NEWS
[Vorlage] Variable Zeitsteuerung mit VIS Editor
-
@GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
@sigi234
Hmm, dachte, dass es mit der letzten Änderung nicht mehr passiert.
Gib mal im State "javascript.0.Timer.Devices.ErrorMsg" etwas ein und lösche es wieder nach wenigen Sekunden.Muss das nachher testen.
Geht jetzt.
Frage, sehe ich das Richtig das ich für jede Funktion (var deviceEnum = "enum.functions.blinds";) eine Vis und ein Skript anlegen muss?
-
Hallo, coole Sache....Bin gerade am ausprobieren und habe folgende Meldungen im log, sobad ich auf löschen oder add drücke...
Ansosnten funktionert es soweit bei mir...host.ioBroker-RasPi4 2020-06-29 12:30:00.070 info instance system.adapter.daswetter.0 started with pid 14115 javascript.1 2020-06-29 12:25:09.421 error (21153) at processImmediate (internal/timers.js:456:21) javascript.1 2020-06-29 12:25:09.421 error (21153) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.1 2020-06-29 12:25:09.420 error (21153) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25) javascript.1 2020-06-29 12:25:09.420 error (21153) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38) javascript.1 2020-06-29 12:25:09.420 error (21153) at Object.<anonymous> (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:834:26) javascript.1 2020-06-29 12:25:09.419 error (21153) at length (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:207:19) javascript.1 2020-06-29 12:25:09.419 error (21153) at Function.keys (<anonymous>:null:null) javascript.1 2020-06-29 12:25:09.418 error (21153) Error in callback: TypeError: Cannot convert undefined or null to object javascript.1 2020-06-29 12:24:59.005 error (21153) at processImmediate (internal/timers.js:456:21) javascript.1 2020-06-29 12:24:59.004 error (21153) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.1 2020-06-29 12:24:59.004 error (21153) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25) javascript.1 2020-06-29 12:24:59.004 error (21153) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38) javascript.1 2020-06-29 12:24:59.003 error (21153) at Object.<anonymous> (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:927:22) javascript.1 2020-06-29 12:24:59.003 error (21153) at length (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:207:19) javascript.1 2020-06-29 12:24:59.002 error (21153) at Function.keys (<anonymous>:null:null) javascript.1 2020-06-29 12:24:59.002 error (21153) Error in callback: TypeError: Cannot convert undefined or null to object javascript.1 2020-06-29 12:24:57.737 error (21153) at processImmediate (internal/timers.js:456:21) javascript.1 2020-06-29 12:24:57.736 error (21153) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.1 2020-06-29 12:24:57.736 error (21153) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25) javascript.1 2020-06-29 12:24:57.735 error (21153) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38) javascript.1 2020-06-29 12:24:57.735 error (21153) at Object.<anonymous> (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:927:22) javascript.1 2020-06-29 12:24:57.734 error (21153) at length (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:207:19) javascript.1 2020-06-29 12:24:57.734 error (21153) at Function.keys (<anonymous>:null:null) javascript.1 2020-06-29 12:24:57.733 error (21153) Error in callback: TypeError: Cannot convert undefined or null to object javascript.1 2020-06-29 12:24:56.091 error (21153) at processImmediate (internal/timers.js:456:21) javascript.1 2020-06-29 12:24:56.091 error (21153) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.1 2020-06-29 12:24:56.090 error (21153) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25) javascript.1 2020-06-29 12:24:56.090 error (21153) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38) javascript.1 2020-06-29 12:24:56.089 error (21153) at Object.<anonymous> (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:927:22) javascript.1 2020-06-29 12:24:56.088 error (21153) at length (script.js.common.Zeitsteuerung.Variable_Zeitsteuerung_Vis:207:19) javascript.1 2020-06-29 12:24:56.087 error (21153) at Function.keys (<anonymous>:null:null) javascript.1 2020-06-29 12:24:56.086 error (21153) Error in callback: TypeError: Cannot convert undefined or null to object
-
Error in callback: TypeError: Cannot convert undefined or null to object
https://forum.iobroker.net/topic/23346/vorlage-variable-zeitsteuerung-mit-vis-editor/126
-
@smartboart
Wenn ich es richtig sehe, hast du das Skript mit Javascript Instanz 1 gestartet, oder? Bitte ausschließlich mit Instanz 0 nutzen. Habe es im Skript nicht dynamisch programmiert. Falls der ausdrückliche Wunsch besteht, kann ich es auch dynamisch einrichten. Allerdings würden die Zuordnungen im Editor dann auch nicht mehr passen. -
@GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Wenn ich es richtig sehe, hast du das Skript mit Javascript Instanz 1 gestartet, oder? Bitte ausschließlich mit Instanz 0 nutzen. Habe es im Skript nicht dynamisch programmiert. Falls der ausdrückliche Wunsch besteht, kann ich es auch dynamisch einrichten. Allerdings würden die Zuordnungen im Editor dann auch nicht mehr passen.
danke für die Antwort...habe das aber alles im script angepasst, damit es auf javascript.1 läuft und die Vis ebenfalls... also alles von javascript.0 auf javascript.1 im script geändert..sollte doch dann gehen oder?
Die Popup Umschaltung habe ich ebenfalls umgeschrieben, da ich meine views mittels State und view in widget umschaltet... Sollte damit alles nix zu tun haben.Korrigiere mich, wenn der Wechsel der Instanz so nicht ohne weiteres möglich ist...
Nachtrag...Hinweis von Glasfaser hats gebracht...
-
@Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Error in callback: TypeError: Cannot convert undefined or null to object
https://forum.iobroker.net/topic/23346/vorlage-variable-zeitsteuerung-mit-vis-editor/126
Danke das wars....
kann man das nicht anders abfangen? -
@smartboart
Ich muss zugeben, dass ich im Gegensatz zu Glasfaser die Problematik (Ursache des Fehlers) nicht verstanden habe.
Kommt dieser Fehler immer wenn die Variable splitHtml auf true gesetzt ist? Nutze diese Funktion selbst gar nicht, hatte es aber bisher nicht als Fehlerhaft in Erinnerung. Wenn ich es reproduzieren kann, werde ich den Fehler aber zügig beheben, kann nicht kompliziert sein. -
@GiuseppeS
Wenn javascript.0.Timer.Devices.FilterDevice auf alle steht und javascript.0.Timer.Devices.Editor.Del auf true gesetzt wird... -
@smartboart
Da muss aber was an Rahmenbedingungen für das Reproduzieren deiner Error-Meldungen fehlen.
Bei mir steht der Filter immer auf "alle". Wenn ich einen Timer antippe erscheinen die Buttons "del" und "add". "del" funktioniert dann einwandfrei.Ist bei dir die Split Ansicht aktiviert? Das behandelte ja der verlinkte Beitrag von Glasfaser.
-
@GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Ist bei dir die Split Ansicht aktiviert?
nein steht auf false...Der verlinkte Beitrag hat mich nur veranlasst über den Auswahl Filter das device auszuwählen bei welchem ich das Löschen getestet habe..Dann gings...
"Wenn ich einen Timer antippe erscheinen die Buttons "del" und "add".
ok, dann stimmt in vis die sichtbarkeitseinstellung nicht mehr bei mir, weil bei mir werden add und dell ständig angezeitgt... -
@smartboart gut habe hier material design buttons benutzt und dabei die Sichtbarkeitseinstellungen nicht übernommen... sorry...
Hatte die vis schon für meine views angepasst... -
@smartboart sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
"Wenn ich einen Timer antippe erscheinen die Buttons "del" und "add".
Danke für die Hilfe und sorry für die Verwirrung...Der Fehler hat sich beim Umbau der Vis eingeschlichen...
-
@smartboart
Kein Thema. Dann funktioniert jetzt hoffentlich alles wie gewünscht, also auch mit Filter.Werde in der nächsten Version diesen Fehler "kein Timer ausgewählt" abfangen...
Hintergrund zu Deinem Fehler:
Wenn Du einen Timer anklickst, wird diese Auswahl für nur 5s gemerkt. Und nur in diesem Zeitfenster funktioniert ein Löschen bzw Duplizieren des Timers. Ich wollte ein versehentliches Löschen aufgrund dauerhaft dargestellter Buttons vermeiden. -
Habe eine neue Version hochgeladen:
Changelog 30.06.2020 (Skript)
- Codeoptimierung, Error-Handling wenn Buttons nicht gemäß Standard genutzt werden
- Bugfix: Alle gemerkten Timer werden nun ausgeführt, wenn Bedingungen nachträglich erfüllt werden.
Für diejenigen, die "Timer merken" verwenden, ist ein Update empfohlen. Hier war ein Bug im alten Skript, wobei unter bestimmten Umständen nicht alle gemerkten Timer nachträglich ausgeführt wurden. Ich konnte den Fehler nur unter bestimmten Bedingungen nachstellen; ihr habt evtl. nichts davon gemerkt. Habe den Skript-Aufbau bzgl. "Timer merken" stark vereinfachen können; Fehlerhaftes Verhalten trat bei mir nicht mehr auf.
-
Update durchgeführt ..... wie immer
Test mit Timer im Hintergrund ... meine Popup Liste wird angezeigt ... Bedingung erfüllt ... Timer wird ausgeführt und die Popup Liste wird wieder gelöscht ...
-
@Glasfaser
Danke für die schnelle Rückmeldung -
ja kein Problem ...
hatte das letzte Update nicht gemacht mit dem "Minimaler Zeitversatz" ... war aber für mich erstmal nicht interessant . -
@sigi234 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Geht jetzt.
Frage, sehe ich das Richtig das ich für jede Funktion (var deviceEnum = "enum.functions.blinds";) eine Vis und ein Skript anlegen muss?@GiuseppeS
Da wurde eine Frage von sigi übersehen ... habe ich auch erst jetzt gelesenDer Schlingel hat EDIT gemacht ... ahh deshalb Sorry @sigi234 haben wir nicht gesehen
-
@Glasfaser
Danke für den Hinweis. Hatte ich auch nicht gesehen. Beim Edit bekommt man keine Benachrichtigung...@sigi234
Für jede Aufzählung wird ein Skript benötigt und zugehörig die VIS (Tabelle + Editor-PopUp).Was möglich wäre, wenn Bedarf besteht (allgemein):
- statt Aufzählung, könnte alternativ auch ein Array mit States angegeben werden "[objID1, objID2,...]. So wäre man von Aufzählungen unabhängig. Ich wollte über Aufzählungen den notwendigen Anpassungsaufwand im Skript so gering wie möglich halten. Aber bei Bedarf ist das schnell umgesetzt.
- zur Vereinfachung der Mehrfachnutzung des Skripts, wäre es möglich, den Editor-PopUp "allgemein" zu gestalten. D.h.: Wenn zwei unterschiedliche Timer-Tabellen genutzt werden soll, müsste man Skript und VIS-Tabelle kopieren, aber der Editor-View müsste nur einmalig existieren.
Edit: Für Mehrfachnutzung des Skripts gibt's die Variable "path". Diese muss bei der zweiten Nutzung einen anderen Namen bekommen. Vis muss entsprechend des neuen Namens angepasst werden. Tip: vis Views vor Import mit suchen/ersetzen gemäß neuem Namen ändern.
-
@Glasfaser sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:
Der Schlingel hat EDIT gemacht ... ahh deshalb Sorry @sigi234 haben wir nicht gesehen
Kein Problem, ich war ja ein Schlingel.