Habe es jetzt mal so gemacht wie Du geschrieben hast, ich sehe da keinen Unterschied. Die Meldungen kommen genauso:confused:
Jetzt hat es klick gemacht. Geht aber so auch nicht. Da ist noch was faul.
So passt es jetzt.
if (!$Haustuer && !$Keller) // Wenn Haustür AND Kellertür zu sind ..
{
echo "Keine Tür offen."; // dann schreibe ...
SetValueBoolean("Alarm", false);
SetValueString("Alarmtext", "Alle Türen geschlossen");
FS20_SwitchMode(55214, false); // und schalte ...
}
else //wenn das nicht zutrifft ...
{
if ($Haustuer) // und es die Haustüre war ..
{
echo "Haustür ist offen."; // dann schreibe ...
SetValueBoolean("Alarm", true);
SetValueString("Alarmtext", "Alarm: Haustür nicht geschlossen");
}
//else // wenn nicht, dann wars der Keller ..
if ($Keller)
{
echo "Kellertür ist offen."; // dann schreibe ...
SetValueBoolean("Alarm", true);
SetValueString("Alarmtext", "Alarm: Kellertür nicht geschlossen");
}
FS20_SwitchMode(55214, true); // und egal welche von beiden .. schalte ...
}
Bekommst du eine Fehlermeldung, oder was meinst du damit?
if (!$Haustuer && !$Keller) // Wenn Haustür AND Kellertür zu sind ..
echo "Keine Tür offen."; // dann schreibe ...
SetValueBoolean("Alarm", false);
SetValueString("Alarmtext", "Alle Türen geschlossen");
FS20_SwitchMode(55214, false); // und schalte ...
}
else //wenn das nicht zutrifft ...
{
if ($Haustuer) // und es die Haustüre war ..
{
echo "Haustür ist offen."; // dann schreibe ...
SetValueString("Alarmtext", "Alarm: Haustür nicht geschlossen");
}
//else // wenn nicht, dann wars der Keller ..
else
{
echo "Kellertür ist offen."; // dann schreibe ...
SetValueString("Alarmtext", "Alarm: Kellertür nicht geschlossen");
}
FS20_SwitchMode(55214, true); // und egal welche von beiden .. schalte ...
SetValueBoolean("Alarm", true);
}
Er hat die Variable Alarm nicht auf true gesetzt, jetzt macht er es.
und man muss die „Code optiemirung“ ja nicht bis „ultimo“ treiben …
schön das es jetzt läuft …
du hast noch einen „Denkfehler“. Macht der „Einrecher“ die Türe direkt wieder zu , ist auch der Alarm weg …
du solltest die Variabele „Alarm“ und den Schaltausgang „nur“ über einen „Quittieren“ Button zurücksetzen, damit der Alarm „verstummt“ … :eek:
erstes Script „Alarm- prüfung & auslösung“ getriggert von „OnChange Haustuer oder OnChange Kellertuer“:
if (!$Haustuer && !$Keller) // Wenn Haustür AND Kellertür zu sind ..
{
echo "Keine Tür offen."; // dann schreibe ...
SetValueString("Alarmtext", "Alle Türen geschlossen");
}
else //wenn das nicht zutrifft ...
{
if ($Haustuer) // und es die Haustüre war ..
{
echo "Haustür ist offen."; // dann schreibe ...
SetValueString("Alarmtext", "Alarm: Haustür nicht geschlossen");
}
//else // wenn nicht, dann wars der Keller ..
else
{
echo "Kellertür ist offen."; // dann schreibe ...
SetValueString("Alarmtext", "Alarm: Kellertür nicht geschlossen");
}
FS20_SwitchMode(55214, true); // und egal welche von beiden .. schalte ...
SetValueBoolean("Alarm", true);
}
Zweites Script „Quittierung“:
// Trigger mit Var Boolen "quittierung OnValue True"
//getriggert von einem Schlüsselschalter oder einer Fernbedienung
SetValueBoolean("Alarm", false);
FS20_SwitchMode(55214, false); //
ein „Quittieren“ Schalter ist in dem Fall immer ein immer ein „Schließer“ damit , wenn der Einbrecher den Schlüsselschalter „durchknipst“ der Alarm nicht quittiert wird. Bei „Notaus“ oder „Sensoren“ wie Fenster- und Tür- Kontakt" immer ein „Öffner“ zur „Drahtbruchsicherheit“ !