Hallo,
ich hatte schon mal das Problem -jetzt schon wieder- dass sich das Webfront beim automatischen Anlegen von Link´s nicht aktualisiert.
Hier das Skript:
$kategorie = 10599 /*[WebFront\Übersichtsseite\Rechts\Aktiv]*/; //gewünschte Kategorie
$modul = "LCN Unit";
$aktorname = "Status";
//========================================================================================================
$objecte = (IPS_GetChildrenIDs($kategorie)); // alle Objecte in der Kategorie
//print_r ($links);
foreach($objecte as $ID)
{
$type = IPS_GetObject($ID);
if ( $type['ObjectType'] == 6 and $ID != 26924 /*[WebFront\Übersichtsseite\Rechts\Rollos]*/)
{
IPS_DeleteLink($ID);
//IPS_SetHidden($ID, false); //Objekt verstecken
}
}
sleep (1);
foreach(IPS_GetInstanceList() as $item)
{ // alle Unterobjekte
$M = IPS_GetInstance($item);
$MInfo = $M['ModuleInfo'];
//print_r ($MInfo);
if ($MInfo['ModuleName'] == $modul) // nur LCN Unit
{
$O = IPS_GetObject($item);
$Oh = IPS_GetName($O['ParentID']);
//echo $Oh ."
";
//print_r(IPS_GetChildrenIDs($item));
foreach(IPS_GetChildrenIDs($item) as $item_2)
{
$name = IPS_GetName($item_2);
//echo "Name: ".$name."
";
if ($name == $aktorname) //alle mit dem Namen "Status"
{
//print_r(IPS_GetVariable($item_2));
$Object = IPS_GetObject($item_2);
if (GetValue($item_2) == true and $Object['ObjectIsHidden'] == 0) //prüfen ob der Aktor ein ist und ob er sichtbar ist
{
//IPS_SetVariableCustomProfile($item_2, "Switch_farblich");
$LinkID = @IPS_GetLinkIDByName($Oh.": ".$O['ObjectName'], $kategorie); //prüfen ob Link schon vorhanden
if ($LinkID === false)
{
//echo "Link nicht gefunden!";
$LinkID = IPS_CreateLink();
IPS_SetParent($LinkID,$kategorie); //Wenn Link nicht vorhanden wird er angelegt
IPS_SetName($LinkID,$O['ObjectName']); //Link benennen
IPS_SetLinkTargetID($LinkID,$item_2);
IPS_SetPosition($LinkID,20);
//IPS_sleep(2000);
}
}
}
}
}
}
Mit einer 2 Sekunden-Pause geht es.
@paresy: Du hattest damals einen Bug gefunden.
@all: Wie löst ihr das. (Bin ja nicht der einzige der automatisch Link´s anlegt)
Ich habe Win8 mit IPS3.10#3456
Edit:
Abhilfe nur mit F5 oder umschalten der Tab´s und wieder zurück.