Bei Denon würde ich einfach das Denon Modul nutzten, da sollten sämtliche Befehle enthalten sein und Du hast dann schon Variablen, dann kannst Du Dir den umständlichen Weg mit extra Skripten sparen. Für die VU+ gibt es auch verschiedene PHP Module für Enigma, so das dort auch nicht notwendig sein sollte für jeden Befehl ein Skript zu verschicken. Für den Rest kannst Du Dir dann Variablen anlegen Bool für ein/aus, Integer wenn mehrere Befehle über einen Variable abgesetzt werden sollen (s.u.)
In so einem Fall kannst Du Dir z.B. eine Integer Variable anlegen. Du möchtest ja unterschiedliche verschiedene Befehle absetzten. Im Variablen Profil gibst Du dann jedem Befehl einen eindeutigen Namen, so kannst Du also mit einer Variable ziemlich viele Befehle nutzten. Unter IPS5 wurde das Limit von 32 für ein Variablenprofil glaube ich jetzt aufgehoben, so das da wohl fast eine Variable für ein Gerät ausreicht.
Dann hast Du ein Actionscript, hier unterscheidest Du dann nach dem Wert, auf den die Variable gesetzt wird.
Du must dann nur für jedes Befehl ein Switch Case einsetzten und das Command, das Du senden willst, wenn Die Variable den Wert annimmt, anpassen.
<?
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
// Variablenprofil mit 1,2, 3
switch ($_IPS['VALUE']) {
case 0:
// Command 1
$command = "sendir,1:1,1,38000,1,69,341,172,21,21,21,65,21,65,21,65,21,21,21,65,21,65,21,65,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,65,21,21,21,65,21,1425,341,85,21,3651\r";
break;
case 1:
// Command 2
$command = "sendir,1:1,1,38000,1,69,341,172,21,21,21,65,21,65,21,65,21,21,21,65,21,65,21,65,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,65,21,21,21,65,21,1425,341,85,21,3651\r";
break;
case 2:
// Command 3
$command = "sendir,1:1,1,38000,1,69,341,172,21,21,21,65,21,65,21,65,21,21,21,65,21,65,21,65,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,65,21,65,21,65,21,21,21,65,21,21,21,65,21,1425,341,85,21,3651\r";
break;
default:
$command = false;
}
if($command)
{
CSCK_SendText(53893, $command);
}
?>
Den Befehl für Case 2, 3 musst Du dann natürlich anpassen bzw. so viele Cases ergänzen wie Du benötigst.