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