Ok funktioniert, vielen Dank ihr zwei, habe jetzt einige Skripte zu ändern, sonst geht der WAF den Berg runter
NEWS
L
Latest posts made by londo99
-
RE: (gelöst) setStateDelayed und clearStateSelayed
-
RE: (gelöst) setStateDelayed und clearStateSelayed
var timeout = null; var idSayIt = 'alexa2.0.Echo-Devices.G090L909652112PK.Commands.announcement'/*announcement*/; // Hier die entsprechende SayIt Text ID var idSensor = 'hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/; var idActor = 'hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/; on({id:'hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/, change:'ne'}, function(obj) { log('Ausgelöst'); if (obj.state.val) { log('If Ausgelöst'); timeout = setStateDelayed('hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/, true, 30000); //setState (idSayIt, "Das Fenster im Bad wurde geöffnet. Die aktuelle Luftfeuchtigkeit beträgt" + getState("hm-rpc.0.LEQ0078217.1.HUMIDITY").val + "Prozent"); } else { //setState (idSayIt, "Das Fenster im Bad wurde geschlossen"); log('fenster geschlossen vor delayed'); if (timeout) clearStateDelayed('hm-rpc.0.NEQ0773372.1.STATE', timeout/*Haustuer Klingel:1.STATE*/); log('fenster geschlossen nach delayed'); setState('hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/, false); } });
Hi, also das Skript funktioniert, aber clearstatedelayed wird nicht erledigt, die Leuchte geht nach 30sec an, auch wenn das Fenster nach 10 sec geschlossen wird.
Musste timeout nach dem if im else in Klammern setzten sonst kamen Compiler Fehler, oder läuft das bei dir ohne klammern? -
(gelöst) setStateDelayed und clearStateSelayed
Hallo Zusammen
kann mir jemand sagen warum das Clearstatedelayed nicht funktioniert.
Beim öffnen eine Fensters wird mit einem setstatedelayed eine Lampe aktiviert und beim vorzeitigen schließen soll das clearstatedelayed die Lampe nicht mehr aktivieren.
Die If Anweisungen funktionieren, aber egal wie die clearstatedelayed mache, mit variablen in hoch Komma oder ohne.
Die Lampe leuchte trotzdem auf.var idSayIt = 'alexa2.0.Echo-Devices.G090L909652112PK.Commands.announcement'/*announcement*/; // Hier die entsprechende SayIt Text ID var idSensor = 'hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/; var idActor = 'hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/; on({id:'hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/, change:'ne'}, function(obj) { log('Ausgelöst'); if (getState('hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/).val === true) { log('If Ausgelöst'); setStateDelayed('hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/, true, 30000); //setState (idSayIt, "Das Fenster im Bad wurde geöffnet. Die aktuelle Luftfeuchtigkeit beträgt" + getState("hm-rpc.0.LEQ0078217.1.HUMIDITY").val + "Prozent"); } if (getState('hm-rpc.0.HEQ0358454.1.STATE'/*Bad Fensterkontakt Sender.STATE*/).val === false) { //setState (idSayIt, "Das Fenster im Bad wurde geschlossen"); log('fenster geschlossen vor delayed'); clearStateDelayed('hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/); log('fenster geschlossen nach delayed'); setState('hm-rpc.0.NEQ0773372.1.STATE'/*Haustuer Klingel:1.STATE*/, false); } });