Hallo Leute,
nachdem ich selbst und wie ich hier lesen kann, auch viele andere über dieses Problem stolpern, möchte ich das mal am Beispiel meiner Flurbeleuchtung erleutern!
Script Flurbeleuchtung:
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Flur.PIRK2.ips.php
Trigger : Sonnenuntergang
Interval : 600 s
Autor :
Datum : 27.09.2005
Description:
Steuerung Flurlicht, Erzeugung der Anesenheitsmeldung!
*/
echo
$mLostMove = 3600; // 1 Stunde ohne erkannte Bewegung
$mPowerTime = 90; // Einschaltzeit in sec.
$mMove = GetValueBoolean("Flur.FS20PIRI_K1");
$mLastMove = GetValueInteger("Time_Move_Flur");
$mAnwesend = GetValueBoolean("JemandDa");
$mLichtFlur = GetValueBoolean("FlurLicht.Status");
$mTagNacht = GetValueBoolean("IstTag");
$mIstDunkel = GetValueBoolean("Wetter_IstDunkel");
$mFlurAuto = GetValueBoolean("LichtFlurAuto");
If ($mMove == True) {
SetValueBoolean("Flur.FS20PIRI_K1", False);
SetValueInteger("Time_Move_Flur", Time());
SetValueBoolean("JemandDa", True);
// Beleuchtung einschalten wenn Bewegung, Nacht und Licht auf Automatik!
If (($mIstDunkel == True) && ($mFlurAuto == True)) {
FS20_SwitchDuration(41033, True, $mPowerTime);
IPS_SetScriptTimer("Flur.Licht_RET", $mPowerTime);
}
} Else {
// nach mLostMove Minuten --> keiner da !
If ((Time() >= $mLastMove + $mLostMove) && ($mAnwesend == True)) {
SetValueBoolean("Flur.FS20PIRI_K1", False);
SetValueBoolean("JemandDa", False);
}
}
?>
Über die Zeile :
IPS_SetScriptTimer("Flur.Licht_RET", $mPowerTime);
wird folgendes Script gestartet, was die Statusvariable wieder zurück setzt:
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Flur.Licht_RET.ips.php
Trigger :
Interval :
*/
SetValueBoolean("FlurLicht.Status", False);
IPS_SetScriptTimer("Flur.Licht_RET", 0);
?>
So ich hoffe euch damit geholfen zu haben!
Gruß Hofi