Entweder mein Rechner läuft zu schnell oder IPS V2.0 hat ein Problem
Mit dem Befehl „IPS_SetScriptTimer(„Script“, 3600);“ wollte ich ein Programm in einer Stunde starten. Dabei fiel mir auf, dass das Programm weit vor einer Stunde ausgeführt wurde.
Liegt das Problem bei mir oder hat IPS V2.0 ein Problem mit der Zeit.
Gruß
Luggi
Anmerkung:
im Script 1 mit dem Name „TestScript“ steht nur der Befehl:
IPS_SetScriptTimer(„Script“, 3600);
und im Script 2, das ausgelöst werden soll heisst „Script“ und hat als Inhalt nur diesen Befehl:
Na ja, aber es sollte zum ersten mal 1 Std. nach Aufruf starten … und nicht eher! Das mit dem Rücksetzen fehlt zwar, aber ich denke nicht das er das als Problem sieht, sondern das mit den 3600sec
Der Befehl setzt den Integer-Startwert des ScriptTimers des Skripts mit dem Namen SkriptName auf den Wert TimerWert in Sekunden. Mit diesem Befehl kann man den ScriptTimer auf einen bestimmten Wert setzen. Der Wert wird in Sekundenschritten heruntergezählt. Beim Erreichen des Werts 0 wird das Skript gestartet und der ScriptTimer erneut auf den Startwert gesetzt. Dieser Vorgang wiederholt sich bis der Timer explizit gelöscht (auf 0 gesetzt) wurde.
Steht der Wert auf 0, so ist der Timer abgeschaltet, und es erfolgt kein Timer-Event.
Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis TRUE, andernfalls FALSE.
Beispiel:
IPS_SetScriptTimer(„Example“, 10); // veranlasst, dass das Skript „Example“
// alle 10 Sekunden ausgeführt wird
Mit Auswertung der Rückmeldung:
$Ergebnis = IPS_SetScriptTimer(„Example“, 10); // veranlasst, dass das Skript „Example“
// alle 10 Sekunden ausgeführt wird
if ($Ergebnis == false)
echo „ScriptTimer konnte nicht gestzt werden!“;
Wenn ich das TestScript starte z. B. in der Console mit Ausführen. Dann wird das Script ausgeführt. Ab jetzt läuft die Zeit ab. Nach 3600 Sekunden, gleich eine Stunde, wird das Script mit dem Namen Script ausgeführt. Oder habe ich den Befehl: IPS_SetScriptTimer falsch verstanden. Und er wird erneut nach einer Stunde ausgeführt, bis man ihn auf „0“ setzt. Doch bei mir wartet das Programm nicht eine Stunde ab. Weit vor einer Stunde wird der Befehl ausgeführt.
Das ist richtig … aber das allererste Mal sollte es erst 1 Std nach dem ersten Aufruf gestartet werden …
Er startet das Script „Testscript“ mit dem Inhalt
IPS_SetScriptTimer("Script", 3600);
dieses setzt einen Timer auf das Script „Script“ von 3600sec, was eine erstmalige Ausführung nach 3600sec bewirkt und wenn im „Script“ kein Rücksetzen erfolgt, dann wird es weiterhin alle 3600sec ausgeführt!! Zumindest war/ist es in V1 so!!