Hallo miteinander,
heute Nacht habe ich zwei Stunden genutzt, um unsere „Licht an bei fremden Besuch Schaltung“ zu testen.
Im Gartenbereich ist ein Bewegungsmelder der bei Bewegungserkennung das Terassenlicht einschalten soll und nach Timerablauf auch wieder aus.
Jetzt ist der LCN BMI sehr feinfühlig und schaltet, wenn man ruhig verharrt auch wieder nach 2 Sekunden aus um bei erneuter Bewegung dann wieder einzuschalten. Das heißt, das das Script durchaus 5 oder 10 Mal aufgerufen werden kann und ich vermute jeder Aufruf einen eigenen Timer setzt.
Was passiert, wenn dieses Script wiederholt aufgerufen wird, während vom vorherigen Script die Timer noch laufen?
Was gibt es für Lösungswege, um eine zufriedenstellende Funktion zu gewährleisten. Die Treppenhauslichtschaltung im LCN setzt dann immer den selben Timer wieder mit einer neuen Zeit. Wie kann ich das mit PHP realsisieren?
Herzlichen Dank für Denkanstöße,
Stromer
<?
echo "=============================================================================
";
echo "===== Bewegungserkennung Terrasse eingeschaltet =============================
";
echo "=============================================================================
";
//Bewegungserkennung Terasse in Verb. Nachts
// Trigger BMI Terasse
// Lux unter 100, Schiebetür Terrasse zu -> Licht an
//vLicht Ausschalten über sep. Script
$lux = GetValue(54772 /*[06 Sensoren\Temperatursensoren LCN\Values\LCN Lichtsensor]*/ );
$TuerTerrasse = GetValue(12222 /*[05 LCN\LCN Binäreingänge\B6B8 Schiebetür Terasse\Schiebetür geschlossen]*/ );
if($IPS_SENDER == "TimerEvent")
{
// nach Timerablauf alle Leuchten ausschalten
LCN_SetIntensity(25660 /*[05 LCN\LCN Ausgänge\Terrasse Küchenbereich]*/ ,0,20);
LCN_SetIntensity(59618 /*[05 LCN\LCN Ausgänge\Terrasse Tür]*/ ,0,20);
LCN_SetIntensity(27156 /*[05 LCN\LCN Ausgänge\Terrasse Tisch ]*/ ,0,20);
//Timer ausschalten
IPS_SetScriptTimer($IPS_SELF, 0);
} else
{
//1. Satz Leuchten an Befehl wenn Aussen Licht unter 100 Lux und Schiebetür zu
if($lux < 100 && $TuerTerrasse)
{
LCN_SetIntensity(25660 /*[05 LCN\LCN Ausgänge\Terrasse Küchenbereich]*/ ,100,20);
LCN_SetIntensity(59618 /*[05 LCN\LCN Ausgänge\Terrasse Tür]*/ ,100,20);
LCN_SetIntensity(27156 /*[05 LCN\LCN Ausgänge\Terrasse Tisch ]*/ ,100,20);
//Timer anschalten
IPS_SetScriptTimer($IPS_SELF, 30); // Sek bis zum ausschalten
}
}
?>