Problem mit Shutter Control Skript

Ich bin gerade dabei meine Velux Jalousie über 2 separate HM-LC-Sw4-PCB Ausgänge anzusteuern.
Laufzeit in beide Richtungen ca.38 sek.
Ausgang 1 ist bei Sende-Instanz 1 und A. 2 bei S-I. 2 hinterlegt sowie das Skript bei Abarbeitungsskript.
mit folgendem Skript funktioniert nichts und das Skript wird als fehlerhaft markiert.

ShutterControl auch mit HM-LC-Sw4-PCB möglich? - Seite 2

Habe darauf das Shutterskript aus der Wiki versucht anzupassen. So werden die Ausgänge wenigstens angesteuert, gehen aber nicht nach x sekunden aus.
Handelt es sich dabei um das selbe duration?
Wie könnte ich das ganze zum laufen bringen?

Danke und Gruß

Andree

<?

//Variables provided by ShutterControl Module
//IPS_LogMessage("InstanceID", $_IPS['INSTANCE']); /* InstanceID */
//IPS_LogMessage("Direction", $_IPS['DIRECTION']); /* {0..2} Stop, Up, Down */
//IPS_LogMessage("Duration", $_IPS['DURATION']); /* ms */

if($_IPS['SENDER'] != "ShutterControl")
    die("This script can only be started by the ShutterControl Module");

define("SC_DIRECTION_STOP", 0);
define("SC_DIRECTION_UP", 1);
define("SC_DIRECTION_DOWN", 2);

$instance = IPS_GetInstance($_IPS['INSTANCE']);
switch($instance['ModuleInfo']['ModuleID'])
{

    case "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}": //Homematic Shutter
        switch($_IPS['DIRECTION'])
        {
            case SC_DIRECTION_STOP:
                HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", false);
                HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", false);
                break;
            case SC_DIRECTION_UP:
                HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", true);
                if($_IPS['DURATION'] > 0)
                {
                    IPS_Sleep($_IPS['DURATION']);
                    HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", false);
                }
                break;
            case SC_DIRECTION_DOWN:
                HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", true);
                if($_IPS['DURATION'] > 0)
                {
                    IPS_Sleep($_IPS['DURATION']);
                    HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", false);
                }
                break;
        }
        break;
    default:
        die("No Handler for Module ".$instance['ModuleInfo']['ModuleName']." found");
}

function CreateVariableByName($id, $name, $type)
{
    $vid = @IPS_GetVariableIDByName($name, $id);
    if($vid===false) {
        $vid = IPS_CreateVariable($type);
        IPS_SetParent($vid, $id);
        IPS_SetName($vid, $name);
        IPS_SetInfo($vid, "This Variable was created by Script");
    }
    return $vid;
}

?>

Ist eigentlich korrekt, nur veraltete Systemvariablen.
Was für ein Fehler kommt den ?
Michael

Danke Michael, es waren die alten Variablen.

Hier das Skript wie es funktioniert, zu beachten ist,
aus der Shutter Instanzkonfiguration bei „Hoch“ & „Runter“ läuft keine Zeit mit, nur bei Bedienung aus dem Webfront.

<?
//Variables provided by ShutterControl Module
//IPS_LogMessage("InstanceID", $_IPS['INSTANCE']); /* InstanceID */
//IPS_LogMessage("Direction", $_IPS['DIRECTION']); /* {0..2} Stop, Up, Down */
//IPS_LogMessage("Duration", $_IPS['DURATION']); /* ms */

if($_IPS['SENDER'] != "ShutterControl")
 die("This script can only be started by the ShutterControl Module");

define("SC_DIRECTION_STOP", 0);
define("SC_DIRECTION_UP", 1);
define("SC_DIRECTION_DOWN", 2);

$instance = IPS_GetInstance($_IPS['INSTANCE']);
switch($instance['ModuleInfo']['ModuleID'])
{

    case "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}": //Homematic
      switch($_IPS['DIRECTION'])
      {
         case SC_DIRECTION_STOP:
              HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", false);
              HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", false);
              break;
         case SC_DIRECTION_UP:
              HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", false);
              HM_WriteValueFloat($_IPS['INSTANCE'], "ON_TIME", $_IPS['DURATION'] / 1000);
              HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", true);
              break;
         case SC_DIRECTION_DOWN:
              HM_WriteValueBoolean($_IPS['INSTANCE'], "STATE", false);
              HM_WriteValueFloat($_IPS['INSTANCE2'], "ON_TIME", $_IPS['DURATION'] / 1000);
              HM_WriteValueBoolean($_IPS['INSTANCE2'], "STATE", true);
              break;
      }
    break;
  default:
    die("No Handler for Module ".$instance['ModuleInfo']['ModuleName']." found");
}
?>