NEWS
Array durchlaufen und Inhalt erweitern?
-
Hallo zusammen,
vermutlich für die Profis eine doofe Frage :oops: aber wie kann ich
var lights = [ "hue.0.Philips_hue.Wohnzimmer", "hue.0.Philips_hue.Teich", ];
durchlaufen und in folgenden Code einbauen? Hier muss ich dann ja jedes Item mit .command, .level, etc. erweitern.
function fadeIN10to80(transTime){ log("Funktion: fadeIN10to80()"); // transTime kommt mit Minuten, also transTime *60 / 0.1 = fadeTime // da es zu schnell dunkel wird nur die halbe Zeit nehmen var fadeTime = transTime * 60 / 0.1 / 2; // Command leeren setState("hue.0.Philips_hue.Wohnzimmer.command"/*Philips_hue.Wohnzimmer.command*/,"{}"); // Lampen anschalten ( command greift sonst nicht ) setState("hue.0.Philips_hue.Wohnzimmer.on"/*Philips_hue.Wohnzimmer.on*/,true); // Initial level auf 10% setzen setState("hue.0.Philips_hue.Wohnzimmer.level"/*Philips_hue.Wohnzimmer.level*/,10); // 3 Sekunden warten, dann command ausfühen ( klappt nicht direkt nach einschalten ) setTimeout(function() { var com = "{\"on\":true,\"level\":80,\"transitiontime\":" + fadeTime + "}"; setState("hue.0.Philips_hue.Wohnzimmer.command"/*Philips_hue.Wohnzimmer.command*/,com); },3000); }
function CheckStatus(){ // Wenn Lampe aus if (getState("hue.0.Philips_hue.Wohnzimmer.on").val === false ){ // Wenn restl. Zeit bis Sonneuntergang ( zwischen 2 und 0 Minuten ) if(sunsetrest <= 2 && sunsetrest >=0){ log("Sonnenuntergang beginnt"); // dann führe function fadeINto80() aus fadeIN10to80(Time1_2); // sonst tue nichts. } else { log("Nothing to do. Sonnenuntergang in " + sunsetrest + " Minuten"); } } // sonst tue nichts. else { log("Nothing to do. Lampenstatus: " + getState("hue.0.Philips_hue.Wohnzimmer.on").val); } }
So vielleicht?
function fadeIN10to80(transTime){ log("Funktion: fadeIN10to80()"); // transTime kommt mit Minuten, also transTime *60 / 0.1 = fadeTime // da es zu schnell dunkel wird nur die halbe Zeit nehmen var fadeTime = transTime * 60 / 0.1 / 2; lights.forEach(function(element) { // Command leeren setState(element +".command","{}"); // Lampen anschalten ( command greift sonst nicht ) setState(element +".on",true); // Initial level auf 10% setzen setState(element+".level",10); // 3 Sekunden warten, dann command ausfühen ( klappt nicht direkt nach einschalten ) setTimeout(function() { var com = "{\"on\":true,\"level\":80,\"transitiontime\":" + fadeTime + "}"; setState(element+".command",com); },3000); }); }
function CheckStatus(){ lights.forEach(function(element) { // Wenn Lampe aus if (getState(element+".on").val === false ){ // Wenn restl. Zeit bis Sonneuntergang ( zwischen 2 und 0 Minuten ) if(sunsetrest <= 2 && sunsetrest >=0){ log("Sonnenuntergang beginnt"); // dann führe function fadeINto80() aus fadeIN10to80(Time1_2); // sonst tue nichts. } else { log("Nothing to do. Sonnenuntergang in " + sunsetrest + " Minuten"); } } // sonst tue nichts. else { log("Nothing to do. Lampenstatus: " + getState(element+".on").val); } }); }
-
Erledigt