Moin zusammen,
seit einigen Tagen betreibe ich an meiner Garagenwand eine Instar 5905 HD Kamera.
Wenn es regnet bekomme ich leider sehr viele Fehlalarme.
Nun würde ich gerne per Skript die Alarmierung deaktivieren wenn zu viele Alarmmeldung in kurzer Zeit kommen und dann wieder aktivieren wenn es eine bestimmte Zeit ruhig war.
Hierzu habe ich folgendes Skript erstellt:
SetValue(20345 /*[Haustür est\letzte Aktualisierung Zähler Merker]*/,GetValue(27616 /*[Haustür est\letzte Aktualisierung Zähler alt]*/));
IPS_Sleep(1000);
$dataZähleralt = IPS_GetVariable(56208 /*[Haustür est\Zähler Alarm Kamera Garage alt]*/);
$last_upZähleralt = ($dataZähleralt['VariableUpdated']);
SetValue(14382 /*[Haustür est\letzte Aktualisierung Zähler neu]*/,$last_upZähleralt);
$last_upZählermerker = GetValue(20345 /*[Haustür est\letzte Aktualisierung Zähler Merker]*/);
$last_upZählerneu = GetValue(14382 /*[Haustür est\letzte Aktualisierung Zähler neu]*/);
echo $last_upZählermerker."
";
echo $last_upZähleralt."
";
echo $last_upZählerneu."
";
echo ($last_upZählerneu - $last_upZählermerker)."
";
if (($last_upZählerneu - $last_upZählermerker) !=0 and ($last_upZählerneu - $last_upZählermerker) < 15)
{
SetValue(19150 /*[Haustür est\Anzahl Alarme überschritten]*/, true);
}
if (($last_upZählerneu - $last_upZählermerker) ==0 or ($last_upZählerneu - $last_upZählermerker) > 15)
{
SetValue(19150 /*[Haustür est\Anzahl Alarme überschritten]*/, false);
}
IPS_Sleep(1000);
SetValue(27616 /*[Haustür est\letzte Aktualisierung Zähler alt]*/,GetValue(14382 /*[Haustür est\letzte Aktualisierung Zähler neu]*/));
?>
Dieser Skript wird zyklisch jede Minute ausgeführt und wenn die Variable „Zähler alt“ aktualisiert wird.
Nun kann ich leider immer nur zwei Auslösungen zeitlich miteinander vergleichen.
Mein Wunsch wäre nun ein Skript zu erstellen was abprüft wieviele Meldungen innerhalb einer bestimmten Zeit auflaufen und eine entsprechende Variable auf „true“ oder „false“ setzt.
Hat jemand eine Idee?
Gruß
Axel