Bekomme das einfachste Sript nicht hin

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?:confused:


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 … :smiley:

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“ !