Frage zur ShutterControl-Programmierung

Hallo,
habe schon viel gesucht und doch nichts gefunden. Oder ich bin irgendwie blockiert und brauche mal einen Tipp:

Ich suche eine Möglichkeit, um aus der auslesbaren ID der Sendeinstanz im Shutter-Control-Script ($SC_INSTANCE) auf die ID der eigentlichen Shutter Control Instanz zu schließen.

Der umgekehrte Weg, also aus von der Shutter Control Instanz die Sendeinstanz(en) abzuleiten, ist ja per „SC_GetTransmitDevice()“ problemlos möglich.

Oder kann ich als Workaround irgendwie erkennen, welche meiner Instanzen vom Typ „Shutter Control“-Instanzen sind, um in Schleife über alle vorhandenen Instanzen zu testen, welche davon per „SC_GetTransmitDevice()“ mit meiner gegebenen Sende-Instanz übereinstimmt?

Danke, Gerd.

…und hier die inzwischen selbst gefundene Lösung:

function scID($iID) {   // liefert die Shutter-Control-Instanz einer Transmit-Instanz
								// z.B. ausgehend von $SC_INSTANCE im Shutter Control Script
	$guid = "{542CC907-CA63-4E7A-A8C7-92F74639FA4C}";  // Shutter Control
	$arr = IPS_GetInstanceListByModuleID($guid);
	$i = 0;
	$ret = 0;
	while (($ret == 0) and ($i < sizeof($arr))) {
		$td = SC_GetTransmitDevice($arr[$i]);
		if (($td > 0) and ($td == $iID)) {
			$ret = $arr[$i];
		}
		$i++;
	}
	return $ret;   // bei Treffer >0, sonst =0
}

Hab nicht mal die Frage kapiert, von dem her gut, daß Du eine Lösung hast :rolleyes:

Gruß
Bruno

ist doch easy, klingt nur so doof.

Eine Shutter-Control-Instanz sendet per zugeordneter Sendeinstanz (z.B. FS20-Gerät bei FS20MS o.ä.), also immer 2 Instanzen pro Shutter.

Netterweise gibt es ein zentrales ShutterControl-Script, das in den Shutter-Control-Instanzen eingebunden werden kann, und wo eine Änderung im Code sofort auf alle damit beglückten Shutter wirkt. Echt Klasse, das. :slight_smile:

Noch besser: Das Shutter-Control-Script gibt mir zur Laufzeit sogar per Systemvariable „$SC_INSTANCE“ die Instanz-ID des gerade aktiven Shutters zurück. Leider ist das aber nur die ID der Sendeinstanz, nicht die ID der Shutter-Control-Instanz selbst, an der ich aber gerne viele weitere schöne Dinge machen möchte, z.B. live visualisieren, ob das Teil grade hoch, runter oder gar nicht fährt, oder gegen weitere Fahrbefehle verriegeln, solange noch gefahren wird, oder Sonderbehandlungen für Terassentür einbauen, damit ich mich nicht ausschließe weil grad Sonnenuntergang und zugefahren wird (Hoppe-Griff mit EnOcean-Sensor) usw. usf.

Das Problem dabei: Da das zentrale Script ja (glücklicherweise) nur einmal existiert, muß ich, um Shutter-individuell reagieren oder ausgeben zu können natürlich zur Laufzeit wissen, welche Jalousie da grade werkelt, um genau bei dieser und nicht bei einer anderen das darzustellen oder zu beachten.

Ich brauche also die ID der Shutter-Instanz, denn die wird ja z.B. im WF dargestellt und dort „bedient“ (und von mir mit weiterem Zeugs geplant erweitert). „$SC_INSTANCE“ liefert mir aber die ID der Sende-Instanz. Ich muß also irgendwie „zurückschließen“ auf die Shutter-Instanz-ID.

Das tun zu können, das war die Frage. Mehr nicht. :cool:

Gruß Gerd