Ich nutze eine Homematic und steuere diese (seit neuestem) über IPS.
Ich habe Probleme meine Rollläden (22 an der Zahl) beim Öffnen der Haustür alle gleichzeitig runter bzw, hochzufahren. Einige Rollläden fahren und andere halt nicht. Schicke ich den Befehl mehrfach funktioniert es irgendwann. Der Erfolg oder Misserfolg des Funktionsaufrufes wird korrekt über die Statusabfrage des Befehlsaufrufs angezeigt. Das möchte ich ausnutzen und habe dazu ein Script mit dem Namen „SafeExecution“ geschrieben. Das Prinzip basiert darauf das man über den Funktionsaufruf IPS_RunScriptWaitEx Parameter übergeben kann so das „SafeExecution“ mehrfach Verwendung findet. Das sieht dann so aus :
IPS_RunScriptWaitEx(44319, Array(„BlINDID“ => 46290, „MAXCOUNT“ => 10, „LEVEL“ => 1.0, „SLEEP“ => 500));
Wobei 44319 die ID des Scripts „SafeExecution“ darstellt.
Ich übergebe die ID des zu steuernden Rolladens mit „BLINDID“ => 46290,
dann als Sicherheit einen Zähler zum Abbruch der aufgerufenen Funktion „MAXCOUNT“ => 10,
den Rolladenstand mit „LEVEL“ => 1.0,
und eine Zeitverzögerung mit „SLEEP“ => 500
Die aufgerufene Funktion (ID 44319) sieht wie folgt aus
<?
$check = false;
$Counter = 0;
while (!$check)
{
$check = HM_WriteValueFloat($BlINDID,„LEVEL“,$LEVEL);
IPS_Sleep($SLEEP);
$Counter++;
if ($Counter >= $MAXCOUNT)
{
$check = true;
}
else
{
}
}
?>
Ich bekomme die folgende Fehlermeldung (Warum kann ich die eigentlich nicht kopieren ?) :
Die folgenden Variablen sind angeblich nicht bekannt:
$BlINDID,
$LEVEL
$SLEEP
$MAXCOUNT
Hat jemand eine Idee was ich falsch mache ???