Script bei Fehlermeldung ausführen

Ich habe das Problem, das ich an einem USB Line Extender (USB über CAT5 Kabel) einen Z-Wave Stick habe.
Da hängt sich die ser. Schnittstelle immer wieder auf (Win Error 22).
Wenn ich die Schnittstelle schließe und wieder öffne, ist wieder alles gut. Habe mir auch schon ein Script gebastelt, was genau das tut.

IPS_SetProperty ( 32388 /*[Serial Port Z-Wave]*/, "Open", 0 );
IPS_ApplyChanges(32388 /*[Serial Port Z-Wave]*/);
IPS_SetProperty ( 32388 /*[Serial Port Z-Wave]*/, "Open", 1 );
IPS_ApplyChanges(32388 /*[Serial Port Z-Wave]*/);

Nun will ich das Script genau dann ausführen, wenn die Fehlermeldung für den ser. Port kommt.
An dieser Stelle weiß ich nun nicht weiter, bin aber sicher, das einer von den Spezis mir bestimmt helfen kann.
Danke!

Schau mal in das Event Control und die Systemvariablen. Damit geht so was.
Musst nur im Script den Fehlercode z.b. alles ab 200 abfragen, da das Script auch durch das Eventcontrol ausgelöst wird wenn der Status wieder OK oder inaktiv (100er Werte) ist.
Michael

Kann nicht ganz folgen, kannst Du das etwas genauer beschreiben?

Hast du es dir im Baum mal angesehen ?
Hier die Doku dazu :
http://www.ip-symcon.de/service/dokumentation/modulreferenz/event-control/
Michael

Sofern ich dich richtig verstehe, bist du auf der Suche nach dem, was ich bei mir z.B. mit dem per USB angeschlossenen LightManager mache…

Diese Skript wird beim Starten von IPS aufgerufen:

<?
// Skript wird einmalig nach dem Starten von IPS aufgerufen
// Verbindet den LightManager I/O Socket neu

$socket_id = IPS_GetInstance(19737 /*[LightManager Pro]*/);

if($socket_id['InstanceStatus'] != 102) {
   echo "FEHLER - Socket nicht verbunden!";
	IPS_SetProperty(19737 /*[LightManager Pro]*/, "Open", false); //I/O Instanz soll aktiviert sein.
	IPS_ApplyChanges(19737 /*[LightManager Pro]*/); //Neue Konfiguration übernehmen
	IPS_Sleep(1000);
	IPS_SetProperty(19737 /*[LightManager Pro]*/, "Open", true); //I/O Instanz soll aktiviert sein.
	IPS_ApplyChanges(19737 /*[LightManager Pro]*/); //Neue Konfiguration übernehmen

	$socket_check = IPS_GetProperty(19737 /*[LightManager Pro]*/, "Open");
	if ($socket_check == 1) {
	   echo "Socket ist wieder verbunden!";
	}
	else {
		IPS_SetProperty(19737 /*[LightManager Pro]*/, "Open", false); //I/O Instanz soll aktiviert sein.
		IPS_ApplyChanges(19737 /*[LightManager Pro]*/); //Neue Konfiguration übernehmen
		IPS_Sleep(1000);
		IPS_SetProperty(19737 /*[LightManager Pro]*/, "Open", true); //I/O Instanz soll aktiviert sein.
		IPS_ApplyChanges(19737 /*[LightManager Pro]*/); //Neue Konfiguration übernehmen
	}
}
else {
   echo "Socket ist verbunden!";
}
?>

Grüße,
Chris