Wer kann mir helfen ?
Will ein Skript welches einen FS20 Schalter mehrmals am Tag ein und ausschaltet. Habe mich irgendwie verrannt.
<?
/***********************
Weihnachtsbeleuchtung schalten
Trigger: Zyklisch alle 15 Minute
***********************/
define("VarWBFlag", 31875 /*[Zeitsteuerung\Weihnachtsbeleuchtung\VarWBFlag]*/, true); // 12345 durch die ID der BOOLEAN-Var. ersetzen (siehe Text unten)
$OnTime = GetValue (21448 /*[.Astronomische Zeitsteuerung\Astronomische Zeitsteuerung\Sonnenuntergang]*/); //Einschaltzeitpunkt - Abends
$OnTime_1 = "06:15:00"; //Einschaltzeitpunkt - Morgens
$Offset = 0; // Offset zu Sunset in Minuten
$OffTime = "22:45:00"; // Ausschaltzeitpunkt - Abends
$OffTime_1 = GetValue (22076 /*[.Astronomische Zeitsteuerung\Astronomische Zeitsteuerung\Sonnenaufgang]*/); // Ausschaltzeitpunkt - Morgens
// Ein- und Ausschaltzeitpunkt in Unix-Timestamp umwandeln
$ot = explode(":", $OffTime);
$ot_1 = explode(":", $OffTime_1);
$nt = explode(":", $OnTime);
$nt_1 = explode(":", $OnTime_1);
$ontime = mktime((int)$nt[0], (int)$nt[1], (int)$nt[2]) + ($Offset * 60);
$ontime_1 = mktime((int)$nt_1[0], (int)$nt_1[1], (int)$nt_1[2]) + ($Offset * 60);
$offtime = mktime((int)$ot[0], (int)$ot[1], (int)$ot[2]);
$offtime_1 = mktime((int)$ot_1[0], (int)$ot_1[1], (int)$ot_1[2]);
// Weihnachtsbeleuchtung Abens schalten
if (GetValue(VarWBFlag) == false AND time() >= $ontime AND time() <= $offtime) {
// Einschalten
FS20_SwitchMode(53160 /*[Funk-Schalter-Mobil\Funk-Schalter-S2]*/, true);
SetValue(VarWBFlag, true); // Wir haben eingeschaltet...
} elseif (GetValue(VarWBFlag) == true AND time() >= $offtime); {
// Ausschalten
FS20_SwitchMode(53160 /*[Funk-Schalter-Mobil\Funk-Schalter-S2]*/, false);
SetValue(VarWBFlag, false); // Wieder bereit machen für den nächsten Tag
}
// Weihnachtsbeleuchtung Morgens schalten
if (GetValue(VarWBFlag) == false AND time() >= $ontime_1 AND time() <= $offtime_1) {
// Einschalten
FS20_SwitchMode(53160 /*[Funk-Schalter-Mobil\Funk-Schalter-S2]*/, true);
SetValue(VarWBFlag, true); // Wir haben eingeschaltet...
} elseif (GetValue(VarWBFlag) == true AND time() >= $offtime_1) {
// Ausschalten
FS20_SwitchMode(53160 /*[Funk-Schalter-Mobil\Funk-Schalter-S2]*/, false);
SetValue(VarWBFlag, false); // Wieder bereit machen für den nächsten Tag
}
Echo $OffTime_1;
Echo "_ _";
Echo $OnTime;
Echo "_ _";
Echo $ontime;
Echo "_ _";
Echo $ontime_1;
Echo "_ _";
Echo $offtime;
Echo "_ _";
Echo $offtime_1;
Echo "_ _";
Echo time();
?>
Grüße Ralf