Hallo,
habe mir mal zum Test den Aktor „HomeMatic HM-LC-Bl1PBU-FM Funk-Rollladenaktor für Markenschalter, 1fach Unterputzmontage“ gekauft. Soweit funktioniert alles. Angelernt habe ich das Teil auch schon. Geht mir nur noch um die Anbindung an IPS.
Was habt ihr bei den Einstellmöglichkeiten innerhalb von Homematic eingestellt? (siehe Anhang)
Habt ihr für die Ansteuerung evtl. schon ein fertiges Script, welches ihr mir zur Verfügung stellen könntet oder wo zumindest ansatzweise erste Schritte hierzu erkennbar sind?
Habe ich das ShutterControl aus der Doku so korrekt für die Homematic-Sache gekürzt?
//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'], "STOP", true);
break;
case SC_DIRECTION_UP:
HM_WriteValueFloat($_IPS['INSTANCE'], "LEVEL", 1.0);
if($_IPS['DURATION'] > 0)
{
IPS_Sleep($_IPS['DURATION']);
HM_WriteValueBoolean($_IPS['INSTANCE'], "STOP", true);
}
break;
case SC_DIRECTION_DOWN:
HM_WriteValueFloat($_IPS['INSTANCE'], "LEVEL", 0.0);
if($_IPS['DURATION'] > 0)
{
IPS_Sleep($_IPS['DURATION']);
HM_WriteValueBoolean($_IPS['INSTANCE'], "STOP", true);
}
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 #".$_IPS['SELF']);
}
return $vid;
}
Viele Grüße