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)
{
}
}
}
}
}
?>