Also wenn der Benutzer warten muss, damit es Funktioniert, wirst du das nicht über IPS regeln können, sondern nur mit dem Benutzer. Der muss dann halt nochmal drücken, wenn das Gerät so weit ist.
Wenn du möchtest, dass IPS deine Befehle in gewissen Abständen sendet, kannst du dir gerne ein Beispiel an meiner Lösung nehmen.
<?
$status=GetValueBoolean(12644 /*[Erdgeschoss\Wohnzimmer\MediaCenter\MediaCenter Power Ist]*/);
if ($status) {
IPS_SetScriptTimer($IPS_SELF, 0);
return;
}
$commands =array( //Fernbedienung, Befehl, Anzahl/Wiederholungen, Pause (minimal 1)
array("mediacenter","livetv",2,1),
array("panasonicplasma","power on",4,5),
array("logisound","power",2,2),
array("panasonicplasma","input pc",2,1),
array("logisound","analog",2,1),
array("mediacenter","livetv",2,1)
);
if($IPS_SENDER == "RunScript") {
IPS_Execute("c:\\ip-symcon\programme\wakeonlan\startpcmce.bat", "", false, false);
SetValue(12909 /*[Erdgeschoss\Wohnzimmer\MediaCenter\Mediacenter einschalten\Step]*/,0);
IPS_SetScriptTimer($IPS_SELF,1);
}
if($IPS_SENDER == "TimerEvent"){
$step=GetValue(12909 /*[Erdgeschoss\Wohnzimmer\MediaCenter\Mediacenter einschalten\Step]*/);
$count = count($commands);
if($step<$count){
$rep = $commands[$step][2];$i=0;
while ($i < $rep) {
USCK_SendText(45331 /*[UDP Socket - IR-Trans Wohnzimmer]*/, "snd ".$commands[$step][0].",".$commands[$step][1]);
$i++;
}
IPS_SetScriptTimer($IPS_SELF, $commands[$step][3]);
$step++;
SetValue(12909 /*[Erdgeschoss\Wohnzimmer\MediaCenter\Mediacenter einschalten\Step]*/,$step);
}
else{
SetValue(12644 /*[Erdgeschoss\Wohnzimmer\MediaCenter\MediaCenter Power Ist]*/,true);
IPS_SetScriptTimer($IPS_SELF, 0);
}
}
?>
Dieses Script müsste natürlich, falls du es überhaupt gebrauchen kannst/willst angepasst werden.
Gruß
Smudo