Moin Frad!
Ist mir nicht bekannt, dass es diese Funktion gibt.
Ich bau mir sowas immer selbst… Wenn ich z.B. eine Stehlampe über den Taster anschalte, dann wird eine Variable „gesperrt“ auf TRUE geschaltet. Und im Bewegungsmelder-Skript wird diese Variable abgefragt. Also wenn gesperrt, dann kein schalten durch den Bewegungsmelder. Erst wenn der Taster wieder betätigt wird, dann kann auch der Bewegungsmelder wieder schalten.
…so sperre ich auch zu bestimmten Zeiten die Bewegungsmelder-Schaltvorgänge komplett, wenn z.B. nur zu bestimmten Zeiten etwas passieren soll.
…meine Bewegungsmelder sind 1 Minute auf aktiv, wenn keine Bewegung dann schalten sie auf inaktiv und das Skript wird erneut aufgerufen, 15 Sekunden gewartet, wenn in der Zeit keine Bewegung ist, dann Licht aus.
Beispiel - Stehlampen Skript (getriggert durch Taster oder geschaltet vom WebFront/Mobile-App):
<?
$stehlampe4_status = GetValue(48463 /*[Hardware\HomeMatic\Zwischenstecker\L09 (Stehlampe 4 - Gästezimmer)\Schalter\STATE]*/);
$stehlampe4_WFstatus = 38652 /*[Skripte & Variablen\Beleuchtung\Gästezimmer - Stehlampe 4\Status]*/;
$stehlampe4_id = 37453 /*[Hardware\HomeMatic\Zwischenstecker\L09 (Stehlampe 4 - Gästezimmer)\Schalter]*/;
$b05deaktiviert = 26483 /*[Skripte & Variablen\Bewegungsmelder\Gästezimmer\Bewegungsmelder deaktiviert]*/;
if (GetValue($stehlampe4_WFstatus) == false) {
SetValue($b05deaktiviert, true);
SetValue($stehlampe4_WFstatus, true);
HM_WriteValueBoolean($stehlampe4_id, "STATE", true);
}
else {
SetValue($b05deaktiviert, false);
SetValue($stehlampe4_WFstatus, false);
HM_WriteValueBoolean($stehlampe4_id, "STATE", false);
}
?>
Beispiel - Bewegungsmelder Skript (getriggert durch Motion vom Bewegungsmelder):
<?
$nacht = GetValue(50635 /*[Skripte & Variablen\Astro-Funktion\Nacht]*/);
$stehlampe4_WFstatus = 38652 /*[Skripte & Variablen\Beleuchtung\Gästezimmer - Stehlampe 4\Status]*/;
$stehlampe4_status = GetValue(48463 /*[Hardware\HomeMatic\Zwischenstecker\L09 (Stehlampe 4 - Gästezimmer)\Schalter\STATE]*/);
$stehlampe4_id = 37453 /*[Hardware\HomeMatic\Zwischenstecker\L09 (Stehlampe 4 - Gästezimmer)\Schalter]*/;
$b05bewegung = GetValue(30757 /*[Hardware\HomeMatic\Bewegungsmelder\B05 (Gästezimmer)\Sensor\MOTION]*/);
$b05deaktiviert = GetValue(26483 /*[Skripte & Variablen\Bewegungsmelder\Gästezimmer\Bewegungsmelder deaktiviert]*/);
if ($nacht == false) {
// TAGSÜBER KEINE SCHALTUNG
}
else {
if ($b05deaktiviert == false) {
if ($b05bewegung == true) {
if ($stehlampe4_status == false) {
SetValue($stehlampe4_WFstatus, true);
HM_WriteValueBoolean($stehlampe4_id, "STATE", true);
}
}
else {
IPS_SetScriptTimer($IPS_SELF, 15);
}
}
}
$timestamp = time();
$datum = date("d.m.Y - H:i", $timestamp);
$datum = $datum. " Uhr";
SetValueString(27657 /*[Skripte & Variablen\Bewegungsmelder\Letzte Bewegung]*/, $datum);
if($IPS_SENDER == "TimerEvent") {
if ($b05deaktiviert == false) {
if ($b05bewegung == true) {
IPS_SetScriptTimer($IPS_SELF, 0);
}
else {
if ($stehlampe4_status == true) {
SetValue($stehlampe4_WFstatus, false);
HM_WriteValueBoolean($stehlampe4_id, "STATE", false);
}
}
IPS_SetScriptTimer($IPS_SELF, 0);
}
}
?>
Grüße,
Chris