Ich habe ein paar FS20 Dimmer. Nach dem Herunterdimmen auf 0 sollten diese noch Auf Switch False geschalten werden. Um eben auch den Status im iPSymcon auf Off zu haben.
zur zeit mach ich das so. mit ner wartezeit, die nach dem ablauf des dimmvorgang den Schalter auf false setzt. dann läuft aber das script auch 20 sekunden. geht das auch anders?
// Schaltet den Sternehimmel in 20 Sekunden auf 0%
FS20_SetIntensity(20156 /*[Aktoren\Schlafzimmer\Schlaf Sterne]*/, 0, 20);
sleep (20);
FS20_SwitchMode(20156 /*[Aktoren\Schlafzimmer\Schlaf Sterne]*/, false);
im forum hab gelesen, dass man den wert bool einfach auf false setzen soll. das geht aber nicht, da dieser wert nur gelesen werden kann.
Ja, da kommst Du dann nicht drumm herum. Ist aber besser als für jeden Aktor für 20 Sekunden einen PHP-Thread zu blockieren und meiner Meinung nach eine saubere Lösung.
Dann habe ich da einen Denkfehler eingebaut. Der FS20-Aktor dimmt das innerhalb von 20 Sekunden selbstständig runter, richtig? Und es fehlt ein Rückkanal zu IPS, also weiss IPS die Zwischenstände nicht sondern kennt nur den Zielwert „0“. Und damit ist die Triggerbedingung sofort erfüllt und er schaltet ganz aus. Blöd.
Das funktioniert Perfekt!!! :D:D genau richtig.
so jetzt noch ein kleines Problem. Zum Startvorgang warte ich noch 5 sekunden, bis der Dimbefehl ausgefürht wird. So dass ich drauf drück und dann das licht erst verspätet gedimmt wird.
Das mach ich zur zeit auch noch mit sleep 5. Gibts da noch was?
Ech nochmals vielen vielen DANK!! Super Forum. Jeder ist nett und man wird bestens gehofen!
Im Prinzip hat Dein eigenes Script ja auch funktioniert. Aber man sollte zu lange Zeitspannen beim Sleep-Befehl vermeiden da für diese Zeit ein PHP-Thread von IPS blockiert bleibt. Und standardmäßig sind maximal 10 eingestellt. Deswegen die kompliziertere Version mit dem Timer-Event.
5 Sekunden ist grenzwertig, könnte man aber noch so stehen lassen. Ich weiss nicht wie ausgelastet Dein System ist.