Hallo zusammen, ich möchte wenn ein Gerät einen Gerätefehelr hat, denn befehl (z.b. Rollo Position -> 100%) nochmal senden. Er soll dafür aber 3-5 Minuten warten und die Position sich dabei merken. Normalerweise würde ich das über nen TimerEvent lösen, so das sich das Skript selbst aufruft. Aber kann es auch sich selbt Werte übergeben?
Ausschnit aus der setShutterPosition Methode:
if ($retry) {
IPS_RunScriptEx(44207 /*[Schnittstellen\HomePilot\HomePilot Retry]*/, Array("deviceId" => $device, "pos" => $pos, "type" => "shutterPos", "deviceBug" => false)));
}
HomePilot Retry Skript:
<?
ini_set('max_execution_time', 120); //max. Scriptlaufzeit definieren
if ($_IPS['SENDER'] === "RunScript") {
echo "ERROR: Nur Sender = \"RunScript\" möglich.";
return;
}
if ($_IPS['deviceBug'] === true) {
IPS_Sleep(100*1000);
} else {
IPS_Sleep(30*1000);
}
if ($_IPS['type'] === "shutterPos") {
HP_setShutterPos($_IPS['deviceId'], $_IPS['pos'], false, false);
} else if ($_IPS['type'] === "shutterAuto") {
HP_setShutterAuto($_IPS['deviceId'], $_IPS['state'], false, false);
} else if ($_IPS['type'] === "switchingSocketState") {
HP_setSwitchingSocketState($_IPS['deviceId'], $_IPS['state'], false, false);
}
?>
Danke!
Gruß Basti