NEWS
Wie Änderungen bei Stromzufuhr erkennen/triggern?
-
Moin zusammen,
ich habe hier ein paar Devices (Sensoren, Schalter und Lampen), die ich über den denconz Adapter laufen lassen. Das läuft soweit gut.
Problem: Wenn ich die Lampen (INNR warm/kaltweiss) vom Strom nehme und wieder anschalte, gehen sie unabhängig vom vorherigen Zustand auf 100% und mittlere Lichtfarbe. Das ist OK, aber ich würde Ereigniss des Anschaltens gerne behandeln und damit etwas triggern.
Ich dachte erst an solche Datenpunkte:
deconz.0.Lights.xx.reachable
aber das scheint nicht immer aktuell zu sein, sprich ist true auch wenn die Funzel ausgeschaltet wurde.
In den Logs (wenn ich nach ca 10 Sekunden eine Lampe wieder an den Strom nehme) sehe ich nichts, was ich eindeutig verwenden könnte oder übersehe ich was?var sourceIDs = ["deconz.0.Lights.15.on","deconz.0.Lights.15.reachable"]; log("Subcribe folgende source IDs: " + JSON.stringify(sourceIDs), "info"); var timer = []; on({id: sourceIDs}, function(obj) { // Entprellung, da deconz für einen Trigger immer zwei Events sendet if(!timer[obj.id]) { timer[obj.id] = setTimeout(function() {timer[obj.id] = null;}, 2000); // Millisekunden log("INSIDE: oldState.val: " + JSON.stringify(obj.oldState.val) + " newState.ack: " + JSON.stringify(obj.newState.ack) + " state.val: " + JSON.stringify(obj.state.val), "info"); log("INSIDE: " + JSON.stringify(obj) , "info"); // light_control(obj); } });
13.5.2020, 11:22:52.153 [info ]: javascript.0 (31433) script.js.common.Light.Test_Anschalten: INSIDE: oldState.val: true newState.ack: true state.val: true 13.5.2020, 11:22:52.153 [info ]: javascript.0 (31433) script.js.common.Light.Test_Anschalten: INSIDE: {"id":"deconz.0.Lights.15.on","newState":{"val":true,"ts":1589361772133,"ack":true,"lc":1589360673877,"from":"system.adapter.deconz.0","q":0},"oldState":{"val":true,"ts":1589361750367,"ack":true,"lc":1589360673877,"from":"system.adapter.deconz.0","q":0},"state":{"val":true,"ts":1589361772133,"ack":true,"lc":1589360673877,"from":"system.adapter.deconz.0","q":0}} 13.5.2020, 11:22:52.154 [info ]: javascript.0 (31433) script.js.common.Light.Test_Anschalten: INSIDE: oldState.val: true newState.ack: true state.val: true 13.5.2020, 11:22:52.155 [info ]: javascript.0 (31433) script.js.common.Light.Test_Anschalten: INSIDE: {"id":"deconz.0.Lights.15.reachable","newState":{"val":true,"ts":1589361772133,"ack":true,"lc":1589228453995,"from":"system.adapter.deconz.0","q":0},"oldState":{"val":true,"ts":1589361750367,"ack":true,"lc":1589228453995,"from":"system.adapter.deconz.0","q":0},"state":{"val":true,"ts":1589361772133,"ack":true,"lc":1589228453995,"from":"system.adapter.deconz.0","q":0}}
-
@Dado sagte in Wie Änderungen bei Stromzufuhr erkennen/triggern?:
deconz.0.Lights.xx.reachable
Hab kein deconz-Adapter installiert, gibt es dort irgendwo eine Aktualisierungszeit, die eingestellt werden kann?
-
@Dado sagte:
deconz.0.Lights.xx.reachable
aber das scheint nicht immer aktuell zu sein, sprich ist true auch wenn die Funzel ausgeschaltet wurde.Eigentlich sollte "reachable" dafür da sein ? Was passiert mit "ack" von "reachable" nach
setState("deconz.0.Lights.15.reachable", true);
im Falle von stromlos und im Falle von "unter Strom" ?