Ich habe drei Dachflächenfenster. Diese werden für den Raumtemperaturregler „überwacht“. In Verbindung mit einem Regensensor möchte ich nun eine optoakustische Warnmeldung realisieren.
Hierzu habe ich ein „Watchdog“-Script gebaut. Dies überwacht alle 5 Sekunden den Regensensor UND die Fensterstellung. Frei nach dem Motto: WENN Regen=1 UND WENN (Fenster1 ODER Fenster2 ODER Fenster3 == 1) DANN …
In meinem Fall soll dann ein Audiofile abgespielt und die Philips HUE Lampe alamieren. Um die Audioausgabe später weiterverarbeiten zu können möchte ich ein Flag setzen. Das ganze sieht bis jetzt so aus:
<?
$Regen = GetValue(10088 /*[Sonoff\Regensensor\Regen]*/);
$F1 = GetValueBoolean(53926 /*[Homematic Aktoren\DG Fensterkontakt Badezimmer\STATE]*/);
$F2 = GetValueBoolean(27609 /*[Homematic Aktoren\DG Fensterkontakt Nord\STATE]*/);
$F3 = GetValueBoolean(38047 /*[Homematic Aktoren\DG Fensterkontakt Süd\STATE]*/);
echo "Dachflächenfenster Badezimmer geöffnet = $F1
";
echo "Dachflächenfenster Wohn Nord geöffnet = $F2
";
echo "Dachflächenfenster Wohn Süd geöffnet = $F3
";
$WebFront = 48959 /*[WebFront]*/;
$Mediafile1 = 10098 /*[Regen.mp3]*/;
$Mediafile2 = 31335 /*[Regen_Dachfenster.mp3]*/;
if ($Regen == true)
{
if($F1 or $F2 or $F3 == true)
{
IPS_RunScript(10104 /*[Scripte\Alarme\HUE_Alarm_Regen]*/);
SetValueBoolean(30879 /*[Sonoff\Regensensor\Regen\Regendurchsage]*/,true);
//IPS_SetEventActive(32287 /*[Scripte\Alarme\HUE_Alarm_Regen\Verzögerung\ScriptTimer]*/, true);
WFC_AudioNotification($WebFront, "WARNUNG", $Mediafile2);
}
if($F1 and $F2 and $F3 = NULL)
{
SetValueBoolean(30879 /*[Sonoff\Regensensor\Regen\Regendurchsage]*/,false);
//IPS_SetEventActive(32287 /*[Scripte\Alarme\HUE_Alarm_Regen\Verzögerung\ScriptTimer]*/, false);
//WFC_AudioNotification($WebFront, "WARNUNG", $Mediafile1);
}
}
?>
Die Fensterkontakte (Homematic) liefern 1/true, wenn die Fenster geöffnet sind, aber leider garnichts, wenn sie geschlossen sind. Daher habe ich es mit NULL versucht.
Was geht, was nicht? Ich kann das Flag setzen, aber es setzt sich nicht zurück, wenn die Fenster geschlossen wurden.
Hat jemand eine zielführende Idee hierzu?