Moin,
ich habe dieses Script als Ausgangspunkt genommen um es an meine Bedüfnisse anzupassen. Leider bekomme ich es nicht so zum Laufen wie ich es gerne hätte.
Ich habe meinere Tradfri GU10 Birnen im Flur verbaut und möchte diese einschalten wenn jemand einen von zwei Bewegungsmeldern aktiviert und die Helligkeit einen gewissen Wert unterschritten hat. Das Licht soll dann und wieder ausgeschaltet werden wenn keiner der beiden Bewegungsmelder für eine gewisse Zeit eine Bewegung registriert hat.
Leider schaltet sich das Licht mit meinem aktuellen Script einfach nicht wieder aus. Kann mir da vielleicht einer sagen wie ich da hinbekomme?
Ich habe die Birnen und die Bewegungsmelder über den Conbee-Stick von Dresden-Elektronik mit meinem ioBroker verbunden.
Danke schon Mal für die Hilfe.
var timeout;
on({id: getState("deconz.0.Sensor_8.presence").val == true || getState("deconz.0.Sensor_19.presence").val == true, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("deconz.0.Sensor_8.presence").val == true && getState("deconz.0.Sensor_7.lux").val < 110 || getState("deconz.0.Sensor_19.presence").val == true && getState("deconz.0.Sensor_18.lux").val < 110) {
if (compareTime("22:00", "06:30", "between")) {
(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
setState("deconz.0.Light_4.on"/*Light 4 on*/, true);
setState("deconz.0.Light_4.bri"/*Light 4 bri*/, 100);
setState("deconz.0.Light_6.on"/*Light 6 on*/, true);
setState("deconz.0.Light_6.bri"/*Light 6 bri*/, 100);
} else if (compareTime("06:30", "22:00", "between")) {
(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
setState("deconz.0.Light_4.on"/*Light 4 on*/, true);
setState("deconz.0.Light_4.bri"/*Light 4 bri*/, 255);
setState("deconz.0.Light_5.on"/*Light 5 on*/, true);
setState("deconz.0.Light_5.bri"/*Light 5 bri*/, 255);
setState("deconz.0.Light_11.on"/*Light 11 on*/, true);
setState("deconz.0.Light_11.bri"/*Light 11 bri*/, 255);
setState("deconz.0.Light_6.on"/*Light 6 on*/, true);
setState("deconz.0.Light_6.bri"/*Light 6 bri*/, 255);
setState("deconz.0.Light_10.on"/*Light 10 on*/, true);
setState("deconz.0.Light_10.bri"/*Light 10 bri*/, 255);
}
} else if (getState("deconz.0.Sensor_8.presence").val == false && getState("deconz.0.Sensor_19.presence").val == false) {
(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
timeout = setTimeout(function () {
setState("deconz.0.Light_4.on"/*Light 4 on*/, false);
setState("deconz.0.Light_5.on"/*Light 5 on*/, false);
setState("deconz.0.Light_11.on"/*Light 11 on*/, false);
setState("deconz.0.Light_6.on"/*Light 6 on*/, false);
setState("deconz.0.Light_10.on"/*Light 10 on*/, false);
}, 0);
}
});