Boolean entweder 1 oder leer

Hallo,

ich hab hier Boolean-Variablen, die entweder leer oder 1 zeigen. Das erscheint mir aber irgendwie nicht logisch.

Hab ich irgendwo was übersehen?

Ja, du nutzt vermutlich Echo zum ausgeben?
Echo kann nur String ausgeben, somit wird alles andere immer automatisch in einen String konvertiert.
Und false ist dabei halt nix => also leer.
Benutze Mal var_dump($var).
Michael

Hallo Michael,

sorry für die verspätete Antwort. Damit geht es. Das Skript aber trotzdem nicht. Vor dem 5.1 Update ging das aber noch :confused:


if (GetValueBoolean(20933 /*[Messen\Sensoren\Erdgeschoß\KNX/EIB Wohnen Kontakt Tuer 1\Wert]*/) && GetValueBoolean(14470 /*[Messen\Sensoren\Erdgeschoß\KNX/EIB Wohnen Kontakt Tuer 2\Wert]*/)) {
 	SetValue(41680 /*[Sicherheit\Fenster/Türen\Erdgeschoss\Wohnen\Tür\Zustand]*//*[Sicherheit\Fenster/Türen\Erdgeschoß\Essen\Fenster\links]*/,2);
 }
 elseif (GetValueBoolean(20933 /*[Messen\Sensoren\Erdgeschoß\KNX/EIB Wohnen Kontakt Tuer 1\Wert]*/) && !GetValueBoolean(14470 /*[Messen\Sensoren\Erdgeschoß\KNX/EIB Wohnen Kontakt Tuer 2\Wert]*/)) {
 	SetValue(41680 /*[Sicherheit\Fenster/Türen\Erdgeschoss\Wohnen\Tür\Zustand]*//*[Sicherheit\Fenster/Türen\Erdgeschoss\Essen\Fenster\links]*/,1);
 }
 else
 {
 	SetValue(41680 /*[Sicherheit\Fenster/Türen\Erdgeschoss\Wohnen\Tür\Zustand]*//*[Sicherheit\Fenster/Türen\Erdgeschoss\Essen\Fenster\links]*//*[Sicherheit\Fenster/Türen\Erdgeschoß\Essen\Fenster\links]*/ ,0);
 }

Gruß,
Jörg

Hallo Jörg,

was macht denn das Script? Hast Du Dir mal den Inhalt der Variablen anzeigen lassen? An welcher Stelle steigt es aus?

Grüße, Gerhard

Das Verhalten liegt an PHP und ist quasi schon immer da. Nutz am besten echo (int)$variable, um das Problem zu umgehen.

paresy

Hallo miteinander.

Danke wege der Hinweise mit der Ausgabe.

Das Skript hingegen funktioniert. Der eine Sensor war abgefallen und hat deshalb einen geöffneten Wert gegeben, den das Skript nicht abfragt, weil er unlogisch ist und ich somit von falschen Grundbedingungen ausgegangen bin :banghead: