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;
}
?>