Dieser PHP-Code funktioniert.
Jetzt will ich aber eventuell den ScriptTimer vorzeitig, also vor Ablauf der 10 min beenden, um den ScriptTimer anschließend wieder zu starten aber mit einer Zeit von 900 s.
Wie kann ich den ScriptTimer abbrechen und neu starten?
Vor Jahren ist mir das Problem mit dem Script-Timer-Intervall auch schon aufgefallen - seitdem mache ich es auch immer so wie T30 - nicht den Intervall neu setzen (weil das nicht funktioniert hat), sondern die Timer auf einen bestimmten Zeitpunkt setzen (also z.B. 10 Sekunden in der Zukunft).
…aber hab das gerade nochmal getestet - wenn ich ein Script mit folgendem Inhalt alle paar Sekunden neu ausführe, dann wird der Timer immer wieder auf „jetzt + 10 Sekunden“ verlängert.
IPS_SetScriptTimer($_IPS['SELF'], 10);
if ($_IPS['SENDER'] === 'TimerEvent') {
IPS_LogMessage('Timer-Test', '----------------------');
}
Bei folgendem Ablauf:
> Skript manuell ausführen
> 8 Sekunden warten
> Skript manuell ausführen
…dauert es ab der ersten Skript-Ausführung 18 Sekunden, und der zweiten Skript-Ausführung 10 Sekunden, bis im Meldungen-Fenster die Ausgabe erscheint.
Und auch das Timer stoppen mit „IPS_SetScriptTimer($_IPS[‚SELF‘], 0);“ stört nicht. Auch hier sind es immer 10 Sekunden ab der letzten Skript-Ausführung.
Man lernt nie aus, kannte das auch nur mit dem bestimmten Zeitpunkt in der Zukunft setzen
…vlt. gab es da auch mal einen Bug?!
Hallo,
Danke für eure Hilfe. Es ist richtig, dass man mit dem Befehl
IPS_SetScriptTimer($scriptId, 600);
die Laufzeit des ScriptTimers neu setzen kann. Es funktioniert.
Ich hatte einen Fehler in meinem Skript, welcher dazu führte, dass die Zeit nicht richtig gesetzt wurde.