
Zitat von
Pollibus
Rainer wie machst du das denn? Gibts da ne elegantere Lösung?
Ich denke der Sinn ist, dass man z.B. von eine "Liste" von Links macht und die auf einer Seite anzeigt. Dann hat man eine Seite nur mit den Geräten die aktuell an sind!
Hallo zusammen,
ich habe mir ein Skript gebastelt in dem ich in einer Kategorie für alle eingeschaltene LCN-Verbraucher ein Link erstelle.
PHP-Code:
<?
$links = (IPS_GetChildrenIDs(58273 /*[Verbraucher]*/)); // alle Links in 58273 (Kategorie Verbraucher)
//print_r ($links);
foreach($links as $ID)
{
if ($ID != 22799 /*[Verbraucher\eingeschaltene Verbraucher suchen]*/)
{
IPS_DeleteLink ( $ID );
}
}
foreach(IPS_GetInstanceList() as $item){ // alle Unterobjekte
$M = IPS_GetInstance($item);
$MInfo = $M['ModuleInfo'];
//print_r ($MInfo);
if ($MInfo['ModuleName'] == "LCN Unit") {
$O = IPS_GetObject($item);
$Oh = IPS_GetName($O['ParentID']);
//echo $Oh ."\n";
//print_r(IPS_GetChildrenIDs($item));
foreach(IPS_GetChildrenIDs($item) as $item_2){
$name = IPS_GetName($item_2);
//echo "Name: ".$name."\n";
if ($name == "Status"){
//print_r(IPS_GetVariable($item_2));
$Object = IPS_GetObject($item_2);
if (GetValue($item_2) == true and $Object['ObjectIsHidden'] == 0){
$LinkID = IPS_CreateLink();
IPS_SetParent($LinkID,58273 /*[Verbraucher]*/);
IPS_SetName($LinkID,$Oh.": ".$O['ObjectName']); //Link benennen
IPS_SetLinkChildID($LinkID,$item_2);
//echo "ID: " . $item_2 . " " . $O['ObjectName'] . " " . $Oh . "\n<p>";
}
}
}
}
}
WFC_Reload(55585 /*[WebFront Configurator]*/);
WFC_SwitchPage(55585 /*[WebFront Configurator]*/, "item2314");
?>
Jetzt suche ich auch noch eine Möglichkeit das Skript beim Aufruf der WF-Seite zu triggern.
Vieleicht hat einer eine Idee?
Gruß
Christian