laut Dokumentation gibt es ja die Möglichkeit die Schaltdauer von HM Geräten zu steuern. Hierzu muss als erstes die Schaltdauer übermittelt werden und danach muss der Aktor eingeschaltet werden.
Auch wenn ich einen anderen Aktor nehme, habe ich das gleiche Problem. Auch wie im Forum beschrieben hilft es nicht, den Haken „Status emulieren“ rauszunehmen.
Wired kennt diesen Parameter nicht. Darum ja meine Frage.
Setzte nach dem Einschalten einen Timer für das Script (Scripttimer).
Wenn das Script über den Timer aufgerufen wird ( prüfen auf $_IPS[‚Sender‘] ), ausschalten.
Oder nutze, wenn es auch ohne IPS wieder ausgeschaltet werden soll, ein Programm in der CCU.
Wenn Aktor ein, dann verzögert um xx aus.
Michael
Da du auch über ein event einschalten willst, musst du auch auf das event prüfen. Schau dir die Doku zu den IPS Systemvariablen an, da ist auch die Var welche die ID des ausgelösten event enthält beschrieben.
Auf diese ID prüfen. Wenn event x dann einschalten und mit setscript timer die zeit zum ausschalten vorgeben, wenn event id des setscriptevents dann ausschalten.
Michael
Dein Skript lautet auf deutsch:
Wenn ein TimerEvent aufruft schalte State false und setze den Timer auf Null.
–> wenn was anderes aufruft (else) schalte State true. (Da fehlt noch der
Skripttimer Befehl zum Setzen)
Ich habe als Event die Änderung eines Aktors genommen. Wenn ich einen Timer im Script setze wird dieser ja automatisch als Child an das Script gehangen (war mir nicht so bewusst).
Somit passt meine Script Logik und das Script arbeitet wie gewünscht.
Event vom Aktor ist auch sehr gut, weil es dann ja egal ist wie du den Aktor einschaltest. Somit schaltet er auch aus, wenn du ihn manuell am Gerät oder über das Webfront einschaltest.
Michael