DMX via ServerSocket von V2.2 zur V1

Aufgrund der Tatsache das es wohl keine Unterstützung mehr des DMX -Adapters von Digital-Enlightenment in der V2.x geben wird, hab ich mal versucht einen Workaround für alle Nutzer zu basteln.
Denn ich persönlich halte den Adapter von Digital-Enlightenment für einen der besten und nutze ihn gerne.

grundlage ist das Verbindungstest-Script von HJH http://www.ip-symcon.de/forum/f18/variable-exchange-v2-5069/index3.html#post55584
Nach dieser Anleitung hab ich mir die Verbindung eingerichtet.
Beide (also V2.2 und V1) Laufen auf einem System.

Das Sender-Script wird vom Webfront getriggert:


// ab hier dmx-werteingabe
switch ($IPS_SENDER)
{

case "WebFront":

   SetValue($IPS_VARIABLE, $IPS_VALUE);
 if($IPS_VARIABLE == 15699 /*[Obergeschoss\Balkon\Licht\Stufenlos]*/) {
  $dmx_wert = $IPS_VALUE;
 }

 if($IPS_VARIABLE == 28177 /*[Obergeschoss\Balkon\Licht\10er Schritte]*/) {
  $dmx_wert = $IPS_VALUE;
 }
 
 if($IPS_VARIABLE == 26047 /*[Obergeschoss\Balkon\Thema]*/) {
  $dmx_wert = $IPS_VALUE;
 }
 
break;
// ende der dmx-werteingabe

}

// senden des dmx-wertes
$ID = 23051 /*[Server Socket DMX]*/;
$text = "DMX-System";                       // String zum erkennen des senders
$dmx_channel = (512);                       // DMX-Kanal 512
//$dmx_wert = (250);                        // wert des dmx
SSCK_SendText($ID, $text. "|". serialize($dmx_channel). "|". serialize($dmx_wert)); // "|" wurde hier als Trennzeichen gewählt


Das Empfangs_Script wird durch ein Update der Registervariablen getriggert:


$arr = explode("|", $IPS_VALUE);          // den empfangenen String am Trennzeichen trennen
$text = $arr[0];                          // Text auslesen
$dmx_channel = unserialize($arr[1]);       //Channel  auslesen
$dmx_wert    = unserialize($arr[2]);       // Wert auslesen
// print "$text,$dmx_channel,$dmx_wert";

DMX_Set(18831,$dmx_channel,$dmx_wert);      // setzen des werters im Channel


somit kann man seine „alte Hardware“ weiternutzen.
Dieser Weg (Natürlich Angepasst) kann für alles benutzt werden.

Flyship