NEWS
Auf State "true" warten
-
Wie kann ich denn auf einen State warten?
Ich hab eine kleine Szene geschrieben und will warten bis ein State auf True wechselt.
Das läuft einfach durch, wieso?
while(getState("radar.0.Yamaha.ipHere").val === false){ sleep(200); } setState("yamaha.0.scene",3);
-
Hab ja auch nicht viel Ahnung, aber das der State dein Auslöser sein? Dann muess es doch ins ON-Ereignis rein…
-
on({id: "radar.0.Yamaha.ipHere", val: true}, function() { setState("yamaha.0.scene",3); });
-
Schneller als das Licht! Vielen Dank
-
Jetzt hab ich doch noch ein Problem. Eigentlich möchte ich nur einmal den setState("yamaha.0.scene",3); auslösen, aber bei jedem refresh wird die Szene 3 nochmal gesetzt. Obwohl der jeweilige Zweig nicht mehr aufgerufen wird.
Kann ich das unterbinden?
-
bei jedem refresh wird die Szene 3 nochmal gesetzt. `
on({id: "radar.0.Yamaha.ipHere", val: true, change: 'ne'}, function() { setState("yamaha.0.scene",3); });
-
on({id: "radar.0.Yamaha.ipHere", change: "gt"}, function() { ... });
So wird nur der Flankenwechsel von false auf true ausgelöst.
> “gt” (greater) New value must be greater than old value (state.val > oldState.val)
-
-
Seit einem js-controller Update funktioniert diese Codezeile nicht mehr:
on({id: "radar.0.Yamaha.ipHere", val: true, change: 'ne'}, function() {..};
Hat jemand eine Idee woran das liegt?
-
Ok, Fehler ist gefunden. Der Radar Adapter ging nicht mehr auf false. Nach Update auf Radar2 und dem umschreiben der Objekte geht es wieder.