NEWS
(beantwortet) on/schedule ne:true (frage)
-
Hallo,
ich will wissen wann eine Lampe angemacht wird und nur ein mal darauf reagieren, d.h. wenn der Status von false auf true wechselt, beim Wechsel von true auf true bzw. von true auf false, will ich keine Reaktion.
Habe es mit:
"ne" (not equal) New value must be not equal to the old one (newState.val != oldState.val)
versucht, erhalte aber immer regelmässige Events auch wenn von true auf true aktuallisiert wird.
on({id: "hue.0.Philips hue.Hue Lamp 2.on", ne:true}, function(obj) { a = getState("hue.0.Philips hue.Hue Lamp 2.on"); log("EVENT ERKANNT Lampenstatus :"+a.val,"info"); });
log:
javascript-1 2015-03-14 14:07:38 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :false javascript-1 2015-03-14 14:07:33 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :false javascript-1 2015-03-14 14:07:28 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :true javascript-1 2015-03-14 14:07:23 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :true javascript-1 2015-03-14 14:07:18 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :true javascript-1 2015-03-14 14:07:12 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :true javascript-1 2015-03-14 14:07:07 info script.js.hueErreichbarkeit: EVENT ERKANNT Lampenstatus :true
Auch oldValNe, ack und oldAck bringen keine Lösung.
was mache ich falsch? Ist evtl. die id bei on falsch?
Gruss,
Marco
-
Ich glaube es liegt an der id, aber irgendwie habe ich da Probleme mit. Habe jetzt folgendes versucht, allerdings ohne jegliche Reaktion:
on({channel:"hue.0.Philips hue.Hue Lamp 2.on", oldAck:false, ack:true, logic:"and"}, function(obj) { a = getState("hue.0.Philips hue.Hue Lamp 2.on"); log("EVENT ERKANNT Lampenstatus :"+a.val,"info"); });
-
Also die ID scheint die richtige zu sein, denn mit
// on change
on('hue.0.Philips hue.Hue Lamp 2.on', function (obj) { a = getState("hue.0.Philips hue.Hue Lamp 2.on"); log("EVENT ERKANNT Lampenstatus :"+a.val,"info"); });
erhalte ich jeweils eine Statusänderung beim Einschalten und beim Ausschalten.
-
Werde mir erst mal so behelfen:
on('hue.0.Philips hue.Hue Lamp 2.on', function (obj) { a = getState("hue.0.Philips hue.Hue Lamp 2.on"); log("EVENT ERKANNT Lampenstatus :"+a.val,"info"); if (a.val === true) { log("EVENT ERKANNT Lampenstatus nur bei an:"+a.val,"info"); } });
-
Werde mir erst mal so behelfen:
on('hue.0.Philips hue.Hue Lamp 2.on', function (obj) { a = getState("hue.0.Philips hue.Hue Lamp 2.on"); log("EVENT ERKANNT Lampenstatus :"+a.val,"info"); if (a.val === true) { log("EVENT ERKANNT Lampenstatus nur bei an:"+a.val,"info"); } }); ```` `
Ich mache normalerweise so:
on('hue.0.Philips hue.Hue Lamp 2.on', function (obj) { if (obj.newState.val === true || obj.newState.val === "true") { log("EVENT ERKANNT Lampenstatus nur bei an:"+a.val,"info"); } });