Fehler (?) mit IPS_SetScriptTimer()

@paresy:

Habe hier (noch) einen Käfer entdeckt !

Wenn ich einen Scripttimer um 23:51:15 auf 7800 Sekunden setze

IPS_SetScriptTimer(48421 /[x_Spielerchen und Tests\Scripttimerproblem\Testscript]/ ,7800);

löst der TimerEvent exakt um 0:01:15 (also nach 600 Sekunden !!! ) aus.
Wenn der Timer gegen 23:40:00 gesetzt wird, feuert er nach 7800 Sekunden, wie er soll !

Ich habe es erstmal nur unter WIN IPS #3762 getestet.

LG
lueralba

Doch das ist korrekt, es wird ohne Tagesübergang zurückgerechnet:


echo date('H:i:s',strtotime('23:51:15')-11*7800).PHP_EOL;

Ergibt : 00:01:15

Ok, der Text in der Doku erschließt sich wirklich erst nach 5 mal lesen und dreimal überlegen…
IPS_SetScriptTimer — IP-Symcon :: Automatisierungssoftware

Hier wäre auf jeden Fall Handlungsbedarf :slight_smile:

Michael

Abend!

Ich nutze die ScriptTimer kaum noch, ich arbeite meistens direkt mit TimerEvents, wie z.B. hier:
IP-Symcon - Wie kann ich… 2.0 - Seite 3
IP-Symcon - Wie kann ich… 2.0 - Seite 2

IPS_SetEventCyclicTimeFrom — IP-Symcon :: Automatisierungssoftware

Grüße,
Chris

Och, die Anzahl Sekunden muss nur durch 24h teilbar sein. Dann ist der Abstand ja immer gleich groß.
OK für meinen Müllkalender habe ich auch normale Events, der läuft ja nur alle 14tg.
Michael

Hallo Nall Chan.

Mit Deinem Beispielcode bekomme ich aber keine Erklärung für :

Wenn der Timer gegen 23:40:00 gesetzt wird, feuert er nach 7800 Sekunden, wie er soll !

Wenn ich 23:40:00 in deinem Beispiel einsetze kommt 23:50:00 heraus.
Bei mir feuert der Timer aber korrekt 130 Minuten später um 1:50:00.
Das war es, was ich versucht habe zu beschreiben !

P.S.: Warum subtrahierst du eigendlich „11“ in der Formel?

P.P.S.: Nun schaue ich mir mal "IPS_SetEventCyclicTimeFrom () " in Ruhe an.

Viele Grüße
lueralba