Aufgrund eurer Hilfen konnte ich das Skript jetzt umschreiben, so dass es nun seinen Zweck erfüllt 🙂
Ich schalte jetzt eine ganze Gruppe ein und setze die Farbe rot. Danach lasse ich mit lselect 15 Sekunden blinken.
Und danach schalte ich alle Lampen mit einem Zeitabstand von jeweils 1 Sekunde zurück in den Ursprungszustand.
Klappt sehr gut! Danke!
Hier noch das Skript:
! ````
/*
debouncing, executes the function if there was no new event in $wait milliseconds
@param func
@param wait
@param immediate (boolean)
@returns {Function}
*/
function debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}
! on("hm-rega.0.27777"/Klingelbild/, debounce(function (obj){
if (obj.newState.val === true || obj.newState.val === "true") {
if (getState("hm-rega.0.5886").val/*Anwesenheit*/ === true || getState("hm-rega.0.5886").val/*Anwesenheit*/ === "true") {
var light1 = "hue.0.Philips_hue.Stehlampe.";
var light2 = "hue.0.Philips_hue.Lightstrip_Couch.";
var light3 = "hue.0.Philips_hue.Lightstrip_Sideboard.";
var light4 = "hue.0.Philips_hue.Pummellampe.";
var light5 = "hue.0.Philips_hue.Kugellampe.";
var light6 = "hue.0.Philips_hue.Herzchenlampe.";
var light7 = "hue.0.Philips_hue.Iris.";
var hue1 = getState(light1 + "hue").val;
var bri1 = getState(light1 + "bri").val;
var on1 = getState(light1 + "on").val;
var hue2 = getState(light2 + "hue").val;
var bri2 = getState(light2 + "bri").val;
var on2 = getState(light2 + "on").val;
var hue3 = getState(light3 + "hue").val;
var bri3 = getState(light3 + "bri").val;
var on3 = getState(light3 + "on").val;
var hue4 = getState(light4 + "hue").val;
var bri4 = getState(light4 + "bri").val;
var on4 = getState(light4 + "on").val;
var hue5 = getState(light5 + "hue").val;
var bri5 = getState(light5 + "bri").val;
var on5 = getState(light5 + "on").val;
var hue6 = getState(light6 + "hue").val;
var bri6 = getState(light6 + "bri").val;
var on6 = getState(light6 + "on").val;
var hue7 = getState(light7 + "hue").val;
var bri7 = getState(light7 + "bri").val;
var on7 = getState(light7 + "on").val;
setState("hue.0.Philips_hue.Farbenspiel.bri"/*Philips_hue.Farbenspiel.bri*/, 254);
setState("hue.0.Philips_hue.Farbenspiel.hue"/*Philips_hue.Farbenspiel.hue*/,65504);
setState("hue.0.Philips_hue.Farbenspiel.alert"/*Philips_hue.Farbenspiel.alert*/,"lselect");
setTimeout(function () {
! //Alle rückgängig
setState(light1 +"on", on1);
setState(light1 +"bri", bri1);
setState(light1 +"hue", hue1);
//setState(light1 +"b", b1);
! }, 16000);
setTimeout(function () {
! //Alle rückgängig
setState(light2 +"on", on2);
setState(light2 +"bri", bri2);
setState(light2 +"hue", hue2);
//setState(light2 +"b", b2);
! }, 17000);
! setTimeout(function () {
! //Alle rückgängig
setState(light3 +"on", on3);
setState(light3 +"bri", bri3);
setState(light3 +"hue", hue3);
//setState(light3 +"b", b3);
! }, 18000);
! setTimeout(function () {
! //Alle rückgängig
setState(light4 +"on", on4);
setState(light4 +"bri", bri4);
setState(light4 +"hue", hue4);
//setState(light4 +"b", b4);
! }, 19000);
! setTimeout(function () {
! //Alle rückgängig
setState(light5 +"on", on5);
setState(light5 +"bri", bri5);
setState(light5 +"hue", hue5);
//setState(light5 +"b", b5);
! }, 20000);
! setTimeout(function () {
! //Alle rückgängig
setState(light6 +"on", on6);
setState(light6 +"bri", bri6);
setState(light6 +"hue", hue6);
//setState(light6 +"b", b6);
! }, 21000);
! setTimeout(function () {
! //Alle rückgängig
setState(light7 +"on", on7);
setState(light7 +"bri", bri7);
setState(light7 +"hue", hue7);
//setState(light7 +"b", b7);
! }, 22000);
}
}
},5000, true));
! ````
Beste Grüße