Anyway, I resolved my issue - without the help of any Nobel Prize winners.
The RTi uses the 2-way driver to broadcast a little UDP string "RtiSystemOn" to the LAN. The string is picked up by the
IPS server and triggers the following PHP script preventing the movement-triggered lights from going on whenever the AV system is running. When the system switches off, the string "RtiSystemOff" is broadcast, which resets the flag and reactivates the movement triggers.
<?
// wenn das Skript von einer RegisterVariable-Instanz aus aufgerufen worden ist
if ($_IPS['SENDER'] == "RegisterVariable")
{
// bereits im Puffer der Instanz vorhandene Daten in $data kopieren
$data = RegVar_GetBuffer($_IPS['INSTANCE']);
// neu empfangene Daten an $data anhängen
$data .= $_IPS['VALUE'];
// wenn das Trennzeichen ; in $data gefunden worden ist
if (strpos($data, ';'))
{
// $data in durch ; separierte Datensätze zerlegen
$datasets = explode(';', $data);
// alle nicht durch ; terminierten Datensätze ausgeben
for ($i = 0; $i < count($datasets) - 1; $i++)
{
echo "empfangener Datensatz: ".$datasets[$i]."\n";
switch ($datasets[$i]) {
case "RtiSystemOn":
SwitchOffLights;
setvalue (21140 /*[ProjectorNiche\RtiSystemOnOffState]*/,True);
break;
case "RtiSystemOff":
setvalue (21140 /*[ProjectorNiche\RtiSystemOnOffState]*/,False);
break;
case 2:
echo "i=2";
break;
}
}
// $data auf den Inhalt des letzten (unvollständigen) Datensatzes setzen
$data = $datasets[count($datasets) - 1];
}
// Inhalt von $data im Puffer der RegisterVariable-Instanz speichern
RegVar_SetBuffer($_IPS['INSTANCE'], $data);
}
#---------------------------------------------
function SwitchOffLights($SchalterID)
{
ENO_DimSet( 18516 /*[EnOcean Aktoren\EltakoDimmaktorEingang]*/ , 0); //Dimmer Eingang setzen
IPS_sleep(400);
ENO_SwitchMode (58057 /*[EnOcean Aktoren\EltakoSchaltaktorTreppe - in Gruempelchammer]*/ , false);
IPS_sleep(400);
//ENO_SwitchMode (58057 /*[EnOcean Aktoren\EltakoSchaltaktorTreppe - in Gruempelchammer]*/ , false);
//IPS_sleep(400);
//ENO_DimSet( 18516 /*[EnOcean Aktoren\EltakoDimmaktorEingang]*/ , 0); //Dimmer Eingang setzen
//IPS_sleep(400);
ENO_SwitchMode (33468 /*[EnOcean Aktoren\BlaueDeckenlampeSchalter]*/ , false);
echo "function SwitchOffLights executed";
}
?>