SciptTimer

Mit dem Anlegen eines zyklischen Ereignisses kann man ein Script regelmäßig zu bestimmten Zeiten „extern“ aufrufen.
Wenn aber das Script wiederum für sich selbst einen zeitabhängigen Aufruf machen soll, so dass es bei dem externen Aufruf durch das zyklische Ereignis zunächst z. B. eine Lampe einschaltet und durch den internen Aufruf mit IPS_SetScriptTimer() eine Lampe wieder ausschalten soll, dann gibt es ein Problem.
Es wird nämlich nicht zwischen dem externen Scheduler und dem internen unterschieden,
so dass der externe immer als ein TimerEvent interpretiert wird.
Schön wäre es, wenn das zyklische (Zeit)Ereignis ein Schript so aufrufen würde wie z. B. IPS_RunScript().
Man kann zwar ein Script dieser Art mit einem zyklischen Zeit-Ereignis so aufrufen, dass man anstelle der Aktion „Script ausführen“ „PHP-Code ausführen“ wählt und dann in dem PHP-Schnipsel IPS_RunScript() verwendet.
Aber wer ist sich dessen immer bewusst, wenn’s mal schnell gehen muss?

Ich würde das gern mal zur Diskussion stellen. Vielleicht kann man ja eine Lösung erfinden, die diese „Falle“ vermeidet.

if($_IPS[‚SENDER‘] == „TimerEvent“)
{

echo "ST-Test: Ende";   // wird vom externen Ereignis aufgerufen

IPS_SetScriptTimer($_IPS['SELF'], 0);

}

else

{

echo "ST-Test: 3 Sek.";   // wird so nie erreicht

IPS_SetScriptTimer($_IPS['SELF'], 3);

}

Werte doch einfach die Timer ID’s bzw. Namen aus

Sent from my Pixel 4 using Tapatalk

Damit kenne ich mich leider noch nicht aus.

https://www.symcon.de/service/dokumentation/konzepte/skripte/systemvariablen/