Danke HJH!
Wenn du etwas schreibst, dann liest sich das immer wie aus dem Lehrbuch, super!
Nun…
Dann sind die 35 Sekunden schon OK, denn ich schalte meine Rollladenwickler mit FS20 SM4 (Universalempfänger)… reine Bastellösung, da es dafür keine anderen Funkempfänger gibt. Ich habe die OC-Ausgänge des SM4 mit den Tastern der Rollladenwickler parallel geschaltet. Um nun einigermaßen flexibel zu bleiben, beim Heben und Senken der Rollladen schaltet ich das mit SwitchDuration über zwei Kanäle bzw. 2 IPS-Instancen.
Um nun zu verhindern, dass beide Instancen gleichzeitig true werden, habe ich das schon einigermaßen über Variablenabfragen gelöst, aber…
Ich wollte das ganze nun auch über WIIPS schalten, mit nur einer Instanz… true/false. Deshalb habe ich diese weiter Instanz angelegt, extra zur Hansteuerung, welche wiederum, je nach ist „true“ o. „false“ ein Script triggert und über IPS-Runscript die beiden anderen Instanzen switcht. Funktioniert so ganz gut.
Nur… darf kein Switchbefehl für Kanal 1 kommen, während dessen Kanal 2 schon gesetzt ist, oder anders herum, sonst kommt das ganze in einen undefinierten Zustand.
Deshalb möchte ich zur Sicherheit 35 Sekunden warten, bis der nächste Richtungsbefehl ausgeführt wird. Aber ausgeführt werden darf er, wenn auch dann mit Delay.
Also wenn das mit dem Semaphore-Text so ist, wie du das schilderst, dann kann ich $IPS-SELF garnicht benutzen, sondern muss mit eindeutigen Namen arbeiten, wenn ich ein Semaphore auch für andere Scripte setzen will.
Vielen Dank auch für diesen Hinweis!
In dem von Dir geschilderten Fall ist es aber völlig unnötig mit Semaphoren zu arbeiten. Da es hier nicht wirklich um Gleichzeitigkeit der Trigger geht, kann man die Skriptausführung leicht mit ein paar Variablen regeln. Man muss nicht gleich mit Kanonen auf Spatzen schießen.
Schon…, IPS_GetUpdateTime wäre noch eine Möglichkeit, aber ich denke das Semaphore behält das ganze übersichtlicher, da ich sonst mehrere Variablen überprüfen müsste, wenn ich mit SwitchDuration z.B. das Absenken über 50, 75 o. 90% ausführe.
Diese 3 Stellungen sind wetterbedingt… ausgewertet werden Niederschläge, Windstärke, Windrichtung, Sonnenintensität u. Tageszeit.
Je nach dem Senken sich die Rollladen, je auch nach Jahreszeiten (bzw. Tageslängen Abstand: Sonnenauf-/untergang) verschieden reguliert.
Dieser Zustand wird mindestens 15 Minuten beibehalten, sollten sich bis dahin die Bedingungen geändert haben, die zum Absenken geführt haben, dann wird der Rollladen wieder hoch gezogen, oder wenn nicht, dann verbleibt er weitere 15 Minuten in dieser Stellung.
Ich denke, das Semaphore ist in Verbindung dieser Automatik u. Handsteuerung schon der beste Weg.