Mein "Alarm-Disco-Script"

Servus zusammen,

langsam aber sicher komm ich rein. Mich würde es dennoch freuen wenn hier mal jemand drüber schauen und mir Feedback geben könnte.

Ich habe zwei Alarm Scripts. Da ich derzeit nur Licht steuern kann (aus Mangel an „Lärmaktoren“ :smiley: ) Besteht das „AbwesendAlarm“ Script darin, Das Licht 5 Sekunden lang einzuschalten und dann wieder auszuschalten. Das Script wird alle 7 Sekunden wiederholt, ergo geht nach 2 Sekunden das Licht wieder an. Sobald ich den Schalter im Webfront auf „OK“ stelle, wird das Script deaktiviert und die Lichter bleiben aus. In der Zukunft sollen noch Rauchmelder folgen, die dann mit losgehen. Eventuell noch eine „MP3-Gong“ mit nem coolen Spruch oder so. Aktuell wühl ich mich jetzt noch durchs Forum, damit ich per Email benachrichtigt werde.

<?
IPS_SetScriptTimer(xxxxx /*[Skripte\Security\AlarmAbwesend]*/, 7);
$Anwesenheit_val = getValueBoolean (xxxxx /*[Anwesend]*/);
$Alarm_val = getValueBoolean (xxxxx /*[Alarm]*/);
if (($Anwesenheit_val == false) && ($Alarm_val == true))
{
HM_WriteValuefloat (xxxxx /*[Wohnzimmer\Licht\Licht vorne]*/, "ON_TIME", 5);
HM_WriteValueBoolean(xxxxx /*[Wohnzimmer\Licht\Licht vorne]*/, "STATE", true);
HM_WriteValuefloat (xxxxx /*[Wohnzimmer\Licht\Licht hinten]*/, "ON_TIME", 5);
HM_WriteValueBoolean(xxxxx /*[Wohnzimmer\Licht\Licht hinten]*/, "STATE", true);
HM_Writevaluefloat (xxxxx /*[Schlafzimmer\Licht]*/, "ON_TIME", 5);
HM_WriteValueBoolean(xxxxx /*[Schlafzimmer\Licht]*/, "STATE", true);
}
if ($Alarm_val == false)
{
IPS_SetScriptTimer($IPS_SELF, 0);
}
?>

Das zweite ist das „AlarmAnwesend“-Script. In diesem werden nur die entsprechenden Lichter und die Webcams aktiviert. Sobald ich hier auch wieder auf „OK“ switche bleiben die Lichter an und die Cams werden wieder deaktiviert.

<?
$Anwesenheit_val = getValueBoolean (xxxxx /*[Anwesend]*/);
$Alarm_val = getValueBoolean (xxxxx /*[Alarm]*/);
if (($Anwesenheit_val == true) && ($Alarm_val == true))
{
SetValueBoolean (xxxxx /*[Wohnzimmer\Licht]*/, true);
IPS_SetHidden(xxxxx /*[xxxx\Cam]*/, false);
HM_WriteValueBoolean(xxxxx /*[Schlafzimmer\Licht]*/, "STATE", true);
}
if ($Alarm_val == false)
{
IPS_SetHidden(xxxxx /*[xxxx\Cam]*/, true);
}
IPS_SetScriptTimer(xxxxx /*[Skripte\Security\AlarmAnwesend]*/, 3);
if ($Alarm_val == false)
{
IPS_SetScriptTimer($IPS_SELF, 0);
}
?>

Ausgelöst wird alles durch Tür/Fenster Aktoren. Kann ich diese Scripte nun noch irgendwie optimieren? Oder passt das so?

Viele Grüße

Flo

Sieht erstmal okay aus und scheint ja auch zu klappen, oder?

Ich frage mich allerdings gerade nach dem tieferen Sinn. Dein Skript alamiert dich wenn Du da bist bzw. weg bist, damit du das dann händisch bestätigst und der Lichtzustand entsprechend bleibt? Welchen Vorteil hat das gegenüber dem „Normalen“ (natürlich IPS gesteuertem :slight_smile: ) Schalter?

Anti

Der Sinn ist einfach erklärt: Im Anwesenheitsmodus geht beim schalten eines Aktors das gesamte Licht an (man will ja auch was mitbekommen :wink: )

Im Abwesenheitsmodus soll im Haus Disko sein. Alles flackert und soll später Lärm machen. Ich bekommen eine Email und kuck über die Kameras rein was Sache ist.

Und in WFE schalten mach ich nur, weil ich derzeit keinen Wandsender habe :wink: