Your Universal Remote Control Center
RemoteCentral.com
RTI Control Systems Forum - View Post
Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Original thread:
Post 15 made on Saturday October 25, 2014 at 02:21
aag
Long Time Member
Joined:
Posts:
September 2006
57
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";
    }

?>

 


Hosting Services by ipHouse