FS20 TC8 - Ein super Touchschalter von E*V - Automatisches Script

Hallo

zur Zeit gibt es bei E*V den Touchschalter (Drucklos) für günstiges Geld als Bausatz, oder auch in Fertig.
http://www.elv.de/Der-Wandschalter-f%C3%BCr-alle-F%C3%A4lle-FS20-Touchcontrol-Sendeeinheit-FS20-TC8/x.aspx/cid_726/detail_36358

Dieser hat 8 Schalter mit jeweiliger Unterscheidung zwischen tasten und gedrückthalten.

Für die Installation in IPS habe in ein Script geschrieben, dass für jeden Schalter automatisch die passenden Variablen anlegt.

Dieses Script muss einfach nur in den Unterordner in dem auch die ganzen Variablen sind angelegt werden und anschließend ausgeführt werden.

Anschließend hat man für jeden Taster ein eigenes Script

<?

// Erstellt automatisch für jede Taste ein Script für kurz tasten und lang halten


$Script 			= $_IPS['SELF'];
$ParentID 		= IPS_GetParent($Script);

$tastern    = 18;
$halten     = 21;


for ($Auswahl = 0; $Auswahl <= 15; $Auswahl++) {

switch ($Auswahl) {
    case 0:
        $NameValue 	= "Device Data (1111)";        $NameScript 	= "Schalter 01 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 1:
        $NameValue 	= "Device Data (1111)";        $NameScript 	= "Schalter 01 lang halten";        $Triggerwert = $halten;        break;
    case 2:
        $NameValue 	= "Device Data (1112)";        $NameScript 	= "Schalter 02 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 3:
        $NameValue 	= "Device Data (1112)";        $NameScript 	= "Schalter 02 lang halten";        $Triggerwert = $halten;        break;
    case 4:
        $NameValue 	= "Device Data (1113)";        $NameScript 	= "Schalter 03 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 5:
        $NameValue 	= "Device Data (1113)";        $NameScript 	= "Schalter 03 lang halten";        $Triggerwert = $halten;        break;
    case 6:
        $NameValue 	= "Device Data (1114)";        $NameScript 	= "Schalter 04 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 7:
        $NameValue 	= "Device Data (1114)";        $NameScript 	= "Schalter 04 lang halten";        $Triggerwert = $halten;        break;
    case 8:
        $NameValue 	= "Device Data (1121)";        $NameScript 	= "Schalter 05 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 9:
        $NameValue 	= "Device Data (1121)";        $NameScript 	= "Schalter 05 lang halten";        $Triggerwert = $halten;        break;
    case 10:
        $NameValue 	= "Device Data (1122)";        $NameScript 	= "Schalter 06 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 11:
        $NameValue 	= "Device Data (1122)";        $NameScript 	= "Schalter 06 lang halten";        $Triggerwert = $halten;        break;
    case 12:
        $NameValue 	= "Device Data (1123)";        $NameScript 	= "Schalter 07 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 13:
        $NameValue 	= "Device Data (1123)";        $NameScript 	= "Schalter 07 lang halten";        $Triggerwert = $halten;        break;
    case 14:
        $NameValue 	= "Device Data (1124)";        $NameScript 	= "Schalter 08 kurz tasten";        $Triggerwert = $tastern;		  break;
    case 15:
        $NameValue 	= "Device Data (1124)";        $NameScript 	= "Schalter 08 lang halten";        $Triggerwert = $halten;        break;
		  }


$SchalterID    = IPS_GetVariableIDByName ($NameValue,$ParentID);     // Sucht die Schaltvariable

$ScriptID 		= IPS_CreateScript(0);											// Erstellt eine Scriptdatei
IPS_SetParent($ScriptID, $ParentID);      									//Verschieben
IPS_SetName($ScriptID, $NameScript);          								//Name

$eid = IPS_CreateEvent(0);                 									//Trigger hinzufügen
IPS_SetEventTrigger($eid, 4,$SchalterID);       							// bei bestimmten Wert
IPS_SetEventTriggerValue ($eid, $Triggerwert);  							// der bestimmte Wert
IPS_SetParent($eid, $ScriptID);         										//Ereignis zuordnen
IPS_SetEventActive($eid, true);             									//Ereignis aktivieren

}

?>