GetValue funktioniert nicht mit boolean

Hallo,

irgendwie steh ich total am Schlauch.
Ich hab mein Gastherme via KNX im IPS.
Dafür gibts ein EIB Switch Objekt mit dem Warmwasserstatus, welche einen Boolean Wert für on/off enthält.

Nun möchte ich mir den Status in einem Skript ausgeben lassen und dann abhängig davon weitere Aktivitäten setzen.
Wenn ich mir den Warmwasserstatus ausgeben lasse (mit echo), wird nichts ausgegeben.

$WWstatusvariable = GetValue(11362 /*[Visualization\WebFront\Heizung\Heizungssteuerung Gastherme\Status Brauchwasser - Status Brauchwasser melden\Status Brauchwasser]*/);
echo "WW Status: $WWstatusvariable 
";

Ausgabe ist das:
WW Status:
ich hätte mir hier erwartet, dass entweder off oder on da steht.
Wißt ihr, wo ich da meinen Denkfehler habe?
Danke.

Probier mal

echo "WW Status: ".(int)$WWstatusvariable." 
";

bool-Variablen werden bei false als Leerzeichen angezeigt.

oder Du nutzt GetValueFormatted(id);

Hallo,

mit der (int) wird jetzt eine 0 oder 1 angezeigt.

Wenn ich den Wert in dem Skript weiterverwenden will, muß ich dann z.b. die if abfrage mit 0 oder 1 machen oder mit true oder false?

Danke.

Wie oben ergänzt könntest Du auch mit GerValueFormatted arbeiten, dann bekommst Du die Werte aus der Assoziation des Variablenprofiles.

Sicherer arbeiten würde ich mit den true/false aus der Variable, ansonsten kann es Dir passieren wenn Du das Variablenprofil einmal anpasst das dein Skript nicht mehr funktioniert.

Kleine Basics. Boolean-Variablen sind immer true/false. Das was Du in der Console sieht ist nur eine Assoziation aus dem Variablenprofile das der Variable auferlegt ist.

Hi Werner,

super, danke für deine Erklärung.

Ich hab die Unterscheidung jetzt mit True/False gemacht und kann hinkünftig auch den Gasverbrauch für die Warmwassererwärmung extra mitloggen :smiley: