SkriptTimer: Abfrage ob am laufen?

Guten Tag,

ich bräuchte eine Möglichkeit der Abfrage ob der SkriptTimer schon lauft oder nicht:

$timestamp = time();
$uhrzeit = date("H:i:s", $timestamp);
$datum = date("d.m.Y", $timestamp);

$IDname = $_IPS['SELF'];
$textt = "</b>(".$IDname.")<b> Abwesenheits-Automatik";

$Praesenz2 = GetValue(59951);
$Praesenz3 = GetValue(13124);

$Status_Licht = GetValue(32001);



        if ($Praesenz2 == false && $Praesenz3 == false && $Status_Licht == true)
            { 

                    if($_IPS['SENDER'] == "TimerEvent")
                            {
                                if (IPS_GetName($_IPS['EVENT']) == 'ScriptTimer')
                                {
                                    # Was soll passieren bei Abwesenheit
                                  
                                        KNX_WriteDPT1(18740, false);

                                        // Meldung eintragen                                        
                                        $textt1 = "LED Panel Küchenschrankbeleuchtung [<b>AUS</b>] Abwesenheit > 30 Minuten";
                                        $text = "</b>".$datum." ".$uhrzeit."</b> <b>".$textt." </b>".$textt1;
                                        $number = IPS_RunScriptWaitEx(31161, array('action' => 'add', 'text' => $text, 'expires' => time() + 300000, 'removable' => true, 'type' => '3'));                                         
                                        # - 'type' (optional): Art der Meldung ... 0 => Info(grün), 1 => Fehler(rot), 2 => Warnung(gelb), 3 => Status(blau)

                                        // Nachtsperrenautomatik EIN
                                        // SetValue(29336, true); 
                                   
                                    IPS_SetScriptTimer($_IPS['SELF'], 0);

                                    return;
                                }
                            }
                        
                    #auf Variable reagieren
                    IPS_SetScriptTimer($_IPS['SELF'], 900);
                          
            }
            else
            {   
                IPS_SetScriptTimer($_IPS['SELF'], 0);
            }

Denn so wie das Skirpt gerade aussieht, wird bei einem erneuten Starten (durch Änderung Präsenzmelder 1 und 2), der Timer ja immer wieder neu gestartet und schaltet so das Licht nicht aus…

Der Sinn ist eine automatische Abschaltung des Küchenlichts nach Abwesenheit > 900 Sekunden.

Danke für die Hilfe
lg
Christian

Die Funktion liefert 0 wenn er deaktiv ist.

Michael

1 „Gefällt mir“

Danke! Den aktuellen Wert des laufenden Timers kann man nicht auslesen?

Die Funktion liefert den aktuellen Intervall. Oder meinst du die Restzeit bis zum nächsten Auslösen?
Die musst du selber ausrechnen.
Michael

Ja, die Zeit die noch läuft oder abgelaufen ist…
Wie kann ich das selber ausrechnen?

lg