Kann Status nicht auslesen...

hi! Wollte in Anpassung des im Forum vorhandenen Scriptes nicht für jede Variable ein Ereignis anlegen, welches dann z.B. bei LowBAt ausgelöst wird, sondern einfach nacheinander für die Homematci geräte z.B. zeitgesteuert die Status-Variablen auslesen und dann subsequent eine meldung erzeugen z.B. via email wenn nciht in ordnung:
Das klappt soweit, die variablen werden erkannt, aber ich kann den status mit Getvalue nicht bekommen. Irgendeine Idee??? DANKE!!

HIer der code soweit: <?

//Fügen Sie hier ihren Skriptquellcode ein
$variables[1] = ‚ERROR‘; //Homematic - Fehler
$variables[2] = ‚LOWBAT‘; //Homemetic - Batterie schwach
$variables[3] = ‚UNREACH‘; //Homematic - Gerät nicht mehr erreichbar
$variables[4] = ‚LowBatteryVar‘; //FS20 Geräte - Batterie schwach

foreach(IPS_GetInstanceListByModuleType(3) as $id)
{
foreach(IPS_GetInstanceListByModuleType(3) as $id)
{
foreach ($variables as $CurrentVarName)
{
if(IPS_StatusVariableExists($id, $CurrentVarName))
{
$var = IPS_GetStatusVariable($id, $CurrentVarName);
/* print_r($var);*/
if ($var[„VariableName“] == „UNREACH“)
{
$id2 = $var[„VariableID“];
print_r($id2 . "
");
/*Wie man sieht findet er die variable, aber erhält kein feedback von Getvalue… */

           $state1 = GetValue($id2);
           print("test: " . $state1);
           
				}
           if($var['VariableType'] == 0)
           {
           }

           
			}
		}

}
}

?>

Hallo,

mach aus dem boolean Wert ein Integer, dann siehst Du auch was.

$state1 = (int)GetValue($id2);

Ich weiß auch nicht was die doppelte foreach - Anweisung am Anfang soll

Gruß