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 :)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden