Wartebedingung

wie kann ich eine Wartebedingung im Skript erstellen?

Also „Warte auf Variable (true)“ z.b

IPS_Sleep gibt eine Dauer vor, ich möchte aber sagen können, das er explizit auf einen Zustand einer bestimmten Variable warten soll um weiter zu machen.

Vielen dank schonmal für eure antworten…

Du denkst „falsch rum“ ;).

Du solltest ein Ereignis erstellen, das das Script auslöst, wenn die Variable true ist.

while(GetValueBoolean($var)==false){
   ips_sleep(100);
}
// hier geht es weiter

Achtung: Wird die Variable NICHT true, läufst du in den Zeit-Überlauf oder der Thread blockiert.

Nachtrag: Da ich gerade den Beitrag von Ralf sehe, sicherlich ist es in fast allen Varianten sinnvoll ein Event auszulösen, aber ich nutze auch in einer speziellen Situation (Lautstärkeregelung über KNX „Dimmer“) diese Variante. Da ist abzusehen, dass binnen weniger als 4-5 Sekunden die Taste losgelassen wird und die Variable entsprechend den Zustand ändert.

Danke erstmal…

Mir gings eher im Skript auf einen bestimmten Wert zu warten…
Wie im zweiten fall sag ich mal… Vielen Dank für dein Tipp.
Kann ich das auch so mit einem Positionswert des Rollos machen zb?

Du kannst schon auf Werte warten, üblicherweise maximal 30 Sekunden, dass musst du dann aber in einer Schleife machen und dir immer wieder den Wert holen und vergleichen.

Nach 30 Sekunden werden Scripte üblicherweise durch PHP abgeschossen.

Wenn der Positionwert ein fixer Wert ist, dann kannst du darauf auch mit einem Ereignis triggern ;).

Du kannst Ereignisse auf alle Variablen triggern. Im Falle der Position wirst Du die Position vermutlich in einer Integer-Variablen haben. Einfach ein Ereignis auf Änderung oder Aktualisierung der Variable triggern, Skript ausführen, fertig.

Im Skript auf irgendwas warten sollte vermieden werden.

Vielen Dank an die ausführlichen Antworten