Ich hab 5 Variablen und ein Script.
Das Script soll ausgeführt werden, wenn sich eine der 5 Variablen ändert.
Muss ich jetzt auf alle Variablen ein Ereignis legen oder gibt es die Möglichkeit mit einem Ereignis alle 5 Variablen auf Änderungen zu prüfen?
Es kann auch sein, dass sich 3 der 5 Variablen gleichzeitig ändern, dann würde das Script drei mal ausgeführt…
Schön wäre es, wenn es dir Möglichkeit gibt…
Wenn V1 oder V2 oder V3 oder V4 oder V5 sich ändert, dann Script ausführen.
Die Möglichkeit gibt es nicht. Du musst zur Zeit alle 5 Ereignisse erstellen. Im Skript kannst du aber gerne prüfen, ob es schon in den letzten Sekunden gelaufen ist, wenn du die Ausführung „sperren“ möchtest.
Das wird denke ich schwierig, das ist ja auch sehr individuell, soll z.B. nichts passieren wenn einer der 5 Variablen innerhalb einer Sekunde auslöst oder innerhalb einer Stunde. In sofern wirst Du das wahrscheinlich nur genau in einem Skript anpassen können.
heisst: es gibt eine Anker-Variable die von den 5 variablen getoggled wird. jeder toggle der Anker-Variable ist ein change und fuehrt zur Ausfuehrung des Script. Im Umkehrschluss, triggern die 5 Variablen das Script NICHT MEHR. DIREKT, sondern machen ein toggle auf der Anker-Variable… was dann das Script triggered.
homa
Toggle: Hin und Herschalten zwischen 2 Zustaenden… z.B. [0/1] oder [True/False] oder…
Vielleicht noch eine Anmerkung - Es ist aus deiner Beschreibung nicht klar wie oft diese ‚5 Variablen‘ Aenderungen erfahren. Es besteht (wenn vielleicht auch nur theoretisch) die Moeglichkeit, daS das Script pausenlos getriggered wird… was dir dann dein IPS System lahmlegt.
Sowohl paresy als auch Fonzo weisen in Ihren Kommentaren darauf hin, daS es Sinn macht sicherzustellen, daS zwischen den Aufrufen des Script genuegend Pause ist, damit alle anderen IPS Scripte und Aktivitaeten/Events stattfinden koennen.
Schau dir mal das Konzept von Semaphoren an… eine gesetzte Semaphore wuerde z.B. den naechsten Scriptdurchlauf (oder Aufruf) verhindern… und muesste natuerlich nach einer bestimmten Zeit wieder ‚geloescht‘ werden.