NEWS
Lampe blinken lassen => Set State im Intervall
-
Hi,
ich möchte meine Lampe, die an eine smarte Steckdose angeschlossen ist, per ioBroker JS Skript blinken lassen => 10x ein- und wieder ausschalten.
Hätte dafür eine Blink-Funktion geschrieben:
function blink() { for (var i = 0; i < 10; i++) { setState("shelly.Relay0.Switch",true) setTimeout(() => { setState("shelly.Relay0.Switch",false); }, 1000); } } blink();
Die Lampe blinkt jedoch nur einmal und bleibt dann ausgeschaltet.
Was mache ich in der Schleife mit dem SetTimeout falsch?
Danke und LG
-
@chco das ist kein Thema zum Forum!
ich hab das mal in die richtige (??) Kategorie verschoben. -
probiersmal so:
let counter=0; let valId =""shelly.Relay0.Switch" let myInt= setInterval(async function () { counter++; let theState=getState(valId).val setState(valId, theState=!theState) if (counter==10) {clearInterval(myInt); myInt= null;} }, 2000);
bei deiner version wird das extrem schnell hintereinader ausgeführt - da ist keine pause drin !
-
@liv-in-sky : Funktioniert perfekt, danke!