ich möchte gern folgendes realisieren, aber mir fehlt die nötige php-Erfahrung:
Ich habe 5 Türen (HM-Türkontakte).
Nun möchte ich bei einem Ereignis das mir eine push Nachricht gesendet wird, welche Türen alle offen sind.
Überlegt habe ich mir, das wenn das Skript ausgelöst wird, das jede Tür die STATE „true“ führt, eine Variable $XY füllt. z.B.:
Tür 1 und 3 sind offen, dann soll in
$XY = ‚Garagentor und Kellertür‘ stehen.
Wenn keine Tür offen steht soll in
$XY = ‚keine‘ stehen
und wenn nur Tür 1 offen steht soll in
$XY = ‚Garagentor‘ stehen.
Diese Variable kann ich dann in meine funktionierende Prowl - Funktion packen.
ABER wie programmiere ich eine „Schleife???“ Die meine 5 Eingangsvariablen $T1, $T2, $T3, $T4 und $T5 auf true auswertet und dann die Variable $XY entsprechend füllt.
Mit eine if-Schleife gehts ja glaube ich nicht, da ja auch mehrere Türen offen stehen können und dann steht immer der „letzte“ Texte in $XY.
leider kommt folgende Fehlermeldung mit der ich erstmal nichts anfangen kann:
IPS-Err-PHP 2013-11-05 19:29:43.469 Warning: Variable #0 existiert nicht Error in Script C:\IP-Symcon\scripts\16898.ips.php on Line 9 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 37 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 9 in 16898.ips.php (call GetValue)
Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\16898.ips.php on line 9
IPS-Err-PHP 2013-11-05 19:29:43.481 Warning: Variable #0 existiert nicht Error in Script C:\IP-Symcon\scripts\16898.ips.php on Line 11 133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 37 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 11 in 16898.ips.php (call GetValue)
Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\16898.ips.php on line 11
…
PS. Sorry für die if- … => das hätte ich zumindest wissen sollen!
ich stehe grade vor einem ähnlichen Problem. Ich frage bei meinen Fenstern zwei Stellungen bzw. drei
Stellungen ab. 0= geschlossen 1= Kippstellung 2= geöffnet
Zur Zeit sieht die Auswertung so aus
if (sizeof($Fenster) == 1)
$text = implode(" und ", $Fenster);
else
$text = implode(" und ", $Fenster);
if (sizeof($Fenster) == 2)
$text = implode(" und ", $Fenster);
.
Da ich kein php experte bin habe ich keine Idee für einen Lösungsansatz wie man eine Unterscheidung hinbekommen kann das Angezeigt wird welche Fenster auf Kippe oder geöffnet ist . Hintergrund ist ich möchte eine Meldung erzeugen die mir bei Verlassen des Hauses angezeigt welches Fenster offen bzw. welches auf Kippe steht.