konny
28. Oktober 2011 um 20:11
1
Meine Türkontakte werden mir nicht über die Aktualisierungsscripts angezeigt???
Ein Bild sagt mehr als tausend Worte.
Fenster vorhanden, Türen nicht.
Wo hab ich da einen Denkfehler?
im Fensterscript:
foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
if(IPS_StatusVariableExists($id, "STATE"))....
Gruß Konny
RWN
28. Oktober 2011 um 20:42
2
und wie sieht das ganze Script dazu aus.
konny
29. Oktober 2011 um 10:05
3
<?
$bordercolor = "#505050"; // Rahmenfarbe anpassen
$str = "<table width='100%' cellspacing='0'>";
foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
if(IPS_StatusVariableExists($id, "STATE"))
{
$var = IPS_GetStatusVariable($id, "STATE");
// Integer Variable
if($var['VariableType'] == 1)
{
if(@IPS_GetEventIDByName("Event".$var['VariableID'], $IPS_SELF) === false)
{
$ereignis = IPS_CreateEvent(0);
IPS_SetEventTrigger($ereignis, 1, $var['VariableID']);
IPS_SetParent($ereignis, $IPS_SELF);
IPS_SetName($ereignis, "Event".$var['VariableID']);
IPS_SetEventActive($ereignis, true);
}
switch(GetValue($var['VariableID']))
{
case 0:
$value = "<td style='border:1px solid $bordercolor;' align='center' bgcolor=#004000>zu</td>";
break;
case 1:
$value = "<td style='border:1px solid $bordercolor;' align='center' bgcolor='#C08800'>kipp</td>";
break;
case 2:
$value = "<td style='border:1px solid $bordercolor;' align='center' bgcolor=#800000>offen</td>";
break;
}
$name = IPS_GetObject($var['VariableID']);
$str .= "<tr height='25px'><td style='border:1px solid $bordercolor;' bgcolor=#00292B width='84%'>".IPS_GetName(IPS_GetParent($name['ParentID']))." ".IPS_GetName($name['ParentID'])."</td>".$value."</tr>";
}
}
}
$str .= "</table>";
SetValue(41855 /*[HomeMatic\Test\Fensterstatus]*/, $str);
?>
Auf der Homematicoberfläche wird alles aktualisiert und angezeigt, ebenso im Homematickonfigurator.
Leider wird weder der Status geändert noch die Türen angezeigt.
RWN
29. Oktober 2011 um 10:28
4
Das Script ist auch für Fenstergriffe. Da wo Du das Script her hast ist auch weiter unten die Abfrage für Türen.
konny
29. Oktober 2011 um 15:46
5
Ich dachte mit der ModulID frist das alle Kontakte…
Ich werd’s suchen
Danke
Konny
RWN
29. Oktober 2011 um 15:48
6
Nö, das fängt schon mit den Variablen an. Fenstergriffe sind Integer, Tür, Boolean.
konny
29. Oktober 2011 um 16:11
7