Automatisches Anlegen von WuT-Inputs / Outputs

Hallo,

habe eine Script zum Anlegen der 12 Input sowie 12 Outputs eines Wut 57630. (siehe unten)
Nun möchte ich die Channels auch per Script den Variablen zuweisen. In den 3 IPS-Funktionen WUT… (Strg+Space) gibt es da nichts Dokumentiertes.

Habe irgendwo den Befehl „WUT_SetIONum“ her. Nur macht der weder, was ich erhoffte, noch gibt es Suchtreffer im Forum bzw. in der IPS-Hilfe. Es gibt aber auch keine Fehlermeldung. Den Befehl gibt es also doch?

Dann muss ich den Teilen ja noch das passende WuT-Gateway geben. Wie mache ich das automatisiert?

<?
// unterhalb von Script wird eine neue Kategorie angelegt, daruntern dann die neuen Instanzen.
// erstellt W&T Inputs und Outputs mit Standard-Namen z.B. WuT Outout 0

$category_id = IPS_CreateCategory();
IPS_SetParent($category_id, $IPS_SELF);
IPS_SetName($category_id, "WuT Inputs");

$inputs = 12;
for ($i=0;$i<$inputs;$i++)
	{
   $instance_id = IPS_CreateInstance("{C3D0F82C-CD07-4AA8-AE5C-7AD983FE91F3}"); // Instanz-ID für WuT_Input
	IPS_SetParent($instance_id, $category_id);
	IPS_SetName($instance_id, "WuT Input ".$i);
	IPS_SetPosition($instance_id, $i);
	WUT_SetIONum($instance_id, $i);
	}


$category_id = IPS_CreateCategory();
IPS_SetParent($category_id, $IPS_SELF);
IPS_SetName($category_id, "WuT Outputs");

$outputs = 12;
for ($i=0;$i<$outputs;$i++)
	{
   $instance_id = IPS_CreateInstance("{E85C40B3-C1E9-4A60-85C7-6CDDA3D8D7BF}"); // Instanz-ID für WuT_Output
	IPS_SetParent($instance_id, $category_id);
	IPS_SetName($instance_id, "WuT Output ".$i);
	IPS_SetPosition($instance_id, $i);
	WUT_SetIONum($instance_id, $i);
	}

?>

EDIT: Punkt 1 konnte ich mit einem

IPS_ApplyChanges($instance_id);

beheben. Bleibt noch die Zuweisung der übergeordneten Instanz.

EDIT 2: Auch das konnte ich mit viel Suchen und Probieren hinbekommen. Ob es DER Weg ist, weiß ich nicht, aber funktionieren tut es:

<?
// unterhalb von diesem Script werden zwei neue Kategorien angelegt
// erstellt darunter dann die neuen Instanzen der Ein- bzw. Augänge mit Standard-Namen z.B. Web-IO 2 Input 0
// gleiche Bezeichnung im Info-Feld für eine bessere spätere Zuordnung
// das WuT Gateway vorher anlegen (automatisch wird ein WWW-Reader erstellt)

$name = "Web-IO 2";
$gateway = 56121 /*[WuT Gateway 2]*/;

// -----------------------------------------------------------------------------
// Ab hier nichts mehr ändern!


$category_id = IPS_CreateCategory();
IPS_SetParent($category_id, $IPS_SELF);
IPS_SetName($category_id, $name . " Inputs");

$inputs = 12;
for ($i=0;$i<$inputs;$i++)
	{
   $instance_id = IPS_CreateInstance("{C3D0F82C-CD07-4AA8-AE5C-7AD983FE91F3}"); // Instanz-ID für WuT_Input
	IPS_SetParent($instance_id, $category_id);
	IPS_SetName($instance_id, $name . " Input ".$i);
	IPS_SetInfo($instance_id, $name . " Input ".$i);
	IPS_SetPosition($instance_id, $i);
	WUT_SetIONum($instance_id, $i);
	IPS_ApplyChanges($instance_id);
	IPS_ConnectInstance($instance_id, $gateway);
	}

$category_id = IPS_CreateCategory();
IPS_SetParent($category_id, $IPS_SELF);
IPS_SetName($category_id, $name . " Output");

$outputs = 12;
for ($i=0;$i<$outputs;$i++)
	{
   $instance_id = IPS_CreateInstance("{E85C40B3-C1E9-4A60-85C7-6CDDA3D8D7BF}"); // Instanz-ID für WuT_Output
	IPS_SetParent($instance_id, $category_id);
	IPS_SetName($instance_id, $name . " Output ".$i);
	IPS_SetInfo($instance_id, $name . " Output ".$i);
	IPS_SetPosition($instance_id, $i);
	WUT_SetIONum($instance_id, $i);
	IPS_ApplyChanges($instance_id);
	IPS_ConnectInstance($instance_id, $gateway);
	}

?>