IPS_SetScriptTimer

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:

FS20_SwitchMode(49217,TRUE);

Hmmm,

3600 sec ist eine Stunde.

IPS_SetScriptTimer(„Script“, 3600);

damit startest Du dein Script alle Stunde einmal es laüft so lange bis es zurückgesetzt wird, von was und wo, liegt an dir.

Hat nix mit der Zeit zutun.

IPS_SetScriptTimer(„Script“, 0);

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

Nö, hat damit garnix zutun.

Dieser Befehl setzt den Startwert des ScriptTimers eines Skripts.

Syntax:
boolean: IPS_SetScriptTimer(string: SkriptName, integer: TimerWert)

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!“;

Upps, das ist aus der Doku, nicht von mir!!!

Sche*** Copie und Paste

Dann sollte man den Timer verwenden.

Hallo RWN,

Sorry, verstehe ich nicht.

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.

Gruß
Luggi

Richtig, das Script wird solange ausgeführt bis es wieder zurückgesetzt wird.

In deinem Fall, wird es alle Stunde aufgerufen, unabhänig von der Uhrzeit.

Wenn Du es 10 vor aufgerufen hast…dann ist es halt 10 vor :wink:

Es sei denn Du triggerst noch was anderes darauf auf das Script

Sorry, ist ja 2.0

keine Ahnung was da geht oder nicht :frowning:

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!!

Jens

Bei Zeiten > 60sek ist da ein Bug drin. Ich werde ihn schnellstmöglich beheben.

paresy

Das ist richtig … aber das allererste Mal sollte es erst 1 Std nach dem ersten Aufruf gestartet werden …

ist ja richtig, funktioniert ja auch unter 1.0

Hat sich erledigt :smiley:

Fix ist im LiveUpdate verfügbar.

Tipp: Legt euch unter Ansicht hinzufügen das Ereignis Info an. Dort seht ihr die genauen Startzeiten der Skripte :slight_smile:

paresy

… in etwa so:

Hi Steiner,

haste deine Flusskrokodile auch schon im Verleih. Bötchen :eek: Lol war ein Witz . Ich sag ja nix mehr.