Hallo Marcus,
ich habe es bei mir so gelöst.
<?
// Rolladen Gruppensteuerung
// Für die Gruppensteuerung müssen einfach nur die Gerätelinks,
// in der Kategorie "Geräte" angelegt werden.
$Rollos = GeraeteIDS();
if($IPS_SENDER == "WebFront"){
SetValue($IPS_VARIABLE, $IPS_VALUE);
Rollo_fahren($Rollos, $IPS_VALUE);
// Buttonwert zurücksetzen
IPS_Sleep(500);
SetValue($IPS_VARIABLE, -1);
}
if($IPS_SENDER == "TimerEvent"){
switch ($_IPS['ACTION']) {
case 0: //Geschlossen
Rollo_fahren($Rollos, 0);
break;
case 1: //25%
Rollo_fahren($Rollos, 25);
break;
case 2: //50%
Rollo_fahren($Rollos, 50);
break;
case 3: //75%
Rollo_fahren($Rollos, 75);
break;
case 4: //99%
Rollo_fahren($Rollos, 99);
break;
case 5: //Geschlossen
Rollo_fahren($Rollos, 100);
break;
}
}
function Rollo_fahren($Rollos, $Befehl){
foreach ($Rollos as $Rollo){
IPS_RunScriptText("SC_Move(".$Rollo.",".$Befehl.");");
IPS_Sleep(300);
}
}
function GeraeteIDS(){
$ParentID = IPS_GetParent($_IPS['SELF']);
$ObjektID = @IPS_GetObjectIDByName("Geräte", $ParentID);
if ($ObjektID === false)
echo "Objekt nicht gefunden!";
else
$LinkIDS = IPS_GetChildrenIDs($ObjektID);
for ($i=0; $i < count($LinkIDS); $i++) {
$GeräteID[$i] = IPS_GetLink($LinkIDS[$i])['TargetID'];
}
return $GeräteID;
}
if($IPS_SENDER == "Execute"){
Wochenplan();
}
function Wochenplan()
{
$EreignisID = IPS_CreateEvent(2); //Legt ein “Wochenplan” Ereignis an
IPS_SetEventScheduleGroup($EreignisID, 0, 1); //Mo
IPS_SetEventScheduleGroup($EreignisID, 1, 2); //Di
IPS_SetEventScheduleGroup($EreignisID, 2, 4); //Mi
IPS_SetEventScheduleGroup($EreignisID, 3, 8); //Do
IPS_SetEventScheduleGroup($EreignisID, 4, 16); //Fr
IPS_SetEventScheduleGroup($EreignisID, 5, 32); //Sa
IPS_SetEventScheduleGroup($EreignisID, 6, 64); //So
IPS_SetEventScheduleAction($EreignisID, 0, "Geöffnet", 10079232, "");
IPS_SetEventScheduleAction($EreignisID, 1, "25%", 13434879, "");
IPS_SetEventScheduleAction($EreignisID, 2, "50%", 10930928, "");
IPS_SetEventScheduleAction($EreignisID, 3, "75%", 3368703, "");
IPS_SetEventScheduleAction($EreignisID, 4, "99%", 16744576, "");
IPS_SetEventScheduleAction($EreignisID, 5, "Geschlossen", 16711680, "");
IPS_SetParent($EreignisID, $_IPS['SELF']); //Eregnis zuordnen
IPS_SetEventActive($EreignisID, false); //Ereignis aktivieren
}
?>
Gruß Marcel