Verstärker Pioneer VSX-920 per Lan steuern

Servus Joachim

Hmm, Du willst also ein 5.1 System + 2 Stereozonen.
Das geht mit den 7.2 Receivern schon mal nicht, zumindest nicht direkt.

Mit 9.2 könnte klappen, ist aber preislich gleich mal doppelten so hoch. Trotzdem unbedingt vorher die Bedienungsanleitungen studieren ob die Signale tatsächlich so wie gewünscht geroutet werden können.

Mit 7.2 Geräten klappt es mit Abstrichen.

  1. Zone in 5.1 im Wohnzimmer
  2. Zone im Garten
    Und für die Küche einen zweiten kleinen Verstärker an die PreMain Buchsen. (dieser Verstärker kann ja ganz was einfaches gebrauchtes sein).
    Nachteil: Du kriegst nur das Signal der FrontLS der Main Zone in die Küche, d.h. bei Sourround codierten Filmen fehlt dir ggfl. die Sprache die außm Center kommt. Oder du spendierst auch der Küche einen dritten LS.

Bedingung: der Receiver muß Premain Anschlüße haben ( hat mein RX775, der VSX923 glaub ich nicht)

gruß
bb

Hallo bb,

abermals Dank für Deine Antwort.

Die Küchenlautsprecher sind im Wesentlich für Musik gedacht (Radio, vielleicht mal CD), von daher würde das passen. Der Charme Deiner Variante ist ja offensichtlich auch die bessere IPS-Integrierbarkeit.
Mal sehen was ich zum Receiver ggf. noch an Informationen finden kann…

Joachim

Ob besser kann ich nicht sagen, da ich den Pioneer nicht kenne.
Sehr gut und sehr leicht integrierbar stimmt aber in jedem Fall.
Hab auch hier was dazu geschrieben:

schöne grüße
Bernhard

Der 1122k (auch schon wieder überholt) ist echt klasse, wirklich jedes Setting gibt eine Rückmeldung ans IPS… Wechsel ich die Source schalten sich dank IPS auch die entsprechenden Geräte oder gar Lichtszenen an, selbst wenn man die Source direkt am Verstärker am Drehrad wechselt oder per Fernbedienung. IPSLOVE

Wäre doch ein nettes Gimmick seinen FunSave mittels des Drehens des Lautstärkeschalters auf mehrere gewisse Positionen zu öffnen hahaha…

Hi,
versuche gerade meinen VSX-923 nach der Anleitung einzubinden. Die Display Anzeige funktioniert, die Lautstärke letzt sich jedoch nur im letzten Bereich des Schiebereglers im Webfront regeln, stelle ich ihn weiter nach vorne tut sich nichts. Außerdem geht bei jedem Klick in der Webfront Oberfläche für den Receiver oben eine Meldung „Fehler“ auf, auch bei dem Mute Button, obwohl dieser funktionert. Die Felder Funktion und Listening Mode funktionieren auch nicht, hier wird einfach eine „0“ angezeigt, ich habe keine Auswahlmöglichkeit. Weiß da jemand Abhilfe?

Gruß

Hallo Leute,

auf Basis dieses Threads habe ich nun versucht meinen Pioneer BDP 450 in IPS einzubinden. Dem Prinzip folgend klappt es auch ganz gut - zumindest in eine Richtung…

Eine Liste der verfügbaren Aktionen findet man auch hier.

In einem anderen Dokument (siehe Anhang) gibt es - zumindest für die Verstärker - einen „Automatic feedback“, wenn der Benutzer etwas über di Fernbedienung macht. M.E. ist das hier in diesem Thread noch nicht verfolgt worden?

Ich habe versucht dieses mit einem ServerSocket der auf Port 8102 „lauscht“ umzusetzen, leider bekomme ich keinerlei Informationen auf diesem Weg. Dieses kann zum einen daran liegen, dass ich einen Bluray-Player damit versuche „auszuhorchen“, zum anderen weil mein Ansatz falsch ist.

Gibt es dazu von Euch Tipps und Tricks?

Joachim

Pioneer AVR 2011 (Command SERIAL and ETHERNET).pdf (464 KB)

Hi Leute, das Thema ist zwar schon älter aber ich probiere es trotzdem. Hat hier jemand alles am Laufen mit einem VSX 923 oder 924 inkl. Internetradio?

Internetradio funktioniert nicht, im Skript wird auf eine Seite beim Receiver zugegriffen, diese gibt es allerdings bei mir (924) nicht. Vielleicht hat ja jemand auch noch weitere Funktionen eingefügt, die Interessant wären. Super, wenn jemand seine Config hier zur Verfügung stellen würde.

Hallo Zusammen,

kann mir jemand mit der Fehlermeldung bei der Sccripterstellung helfen, ich habe nämlich keine Erklärung was die Meldung bedeutet.

Tom

Abend Tom!

Du hast nicht zufällig IPS 4 im Einsatz?

So oder so sollte die alte Schreibweise der Systemvariablen durch die neue abgelöst werden!

ALT >> $IPS_SELF
NEU >> $_IPS[‚SELF‘]
Systemvariablen — IP-Symcon :: Automatisierungssoftware

Grüße,
Chris

Hallo Chris,

Danke für die schnelle Antwort, ich habe mal 2 Anhänge zugefügt im Strukturbaum vom IPS Ordner sieht es für mich so aus das php5 drauf sein sollte. Im Script habe ich mal den neuen Befehl eingefügt aber die Fehlermeldung bleibt die Gleiche, ich habe erwartet das er an ainer anderen Stelle hängen bleibt. Selbst wenn ich folgenden Befehl versuche in einem neuen Script ausführe kommt die gleiche Fehlermeldung:

$ID_INSTANZ_CUTTER=*IPS_CREATEINSTANCE("{AC6C6E74-C797-40B3-BA82-F135D941D1A2}");
IPS_SETName($ID_INSTANZ_CUTTER,„AV_CUTTER“);

Viele Grüße
Tom

Struktur IPS.PNG

Moin!

Die Klammern solltest du nicht entfernen, die werden gebraucht :wink:

$object = IPS_GetObject($_IPS['SELF']);

Siehe hier: IPS_GetObject — IP-Symcon :: Automatisierungssoftware

Grüße,
Chris

Hallo,

läuft das Script auch noch unter IPS 4 ?
Sorry für die vielleicht etwas dämliche Anfängerfrage :wink:

MFG Dennis

Ich habe es nicht getestet, aber wenn man die Systemvariablen an die seit gefühlt 3 Jahren existierende Schreibweise anpasst, sollte es keine Probleme geben.

Gruß,
Christoph

Oh okay sowas in der Art habe ich mir schon gedacht.
Dazu benötige ich dann glaube ich doch etwas mehr knowhow …

Ja…vor einem PHP-Zeichen (<?) oder danach (?>) dürfen keine Leerzeichen sein; dies wird von IPS als Fehler gemeldet

Im Skript von „mäc“ (-> herzlichen Dank übrigens dafür - tolle Arbeit) bzw. im letzten Update war eine Funktion zum Auslesen der Internet-Radio-Stationen enthalten

function ReadStationList()
{
	$radiostations = file_get_contents('http://10.0.0.42/InternetRadioSettingListHandler.asp');

mein VSX-923 reagiert nicht auf diese Website, bzw. mit diesem Fehler:

Access Error: Site or Page Not Found
Cannot open URL

Liegt das an einer Einstellung im VSX-923? Wie löst man das Problem

Auch wenn ich sehr lange schon nichts mehr an dem Script gemacht habe.
Bei einem 923 habe ich keine Ahnung. Sorry

Vielen Dank für die Rückmeldung. Wäre es möglich das Sie noch mal ihren letzten Stand posten?

Ich hab das Installationsscript nicht weiter gepflegt. Hier mal meine letzten Dateien, welche nach wie vor noch funktionieren.

PioneerAVR.php

<?
include "PioneerAVR_Const.ips.php";
include "PioneerAVR_Vars.ips.php";
include "PioneerAVR_Inet.ips.php";     // Internetradio Funktionen

// Name des variablenprofils für den funtionsschalter
$VAR_PROFILE_FUNCTION="AV_Function";

// ab hier braucht nichts geändert zu werden

$INET_RADIO_HIDDEN=true;
$TUNER_RADIO_HIDDEN=true;

// aufruf per register variable, script oder webfront?
if($IPS_SENDER == "RegisterVariable") {
	// daten aus dem cutter aufruf registervariable
	$data=$IPS_VALUE;
	//echo $data ;

	// lange zeile? dann war es die display anzeige
	if (strlen($data) ==32 )
	{
		// display
		$display = hex2str($data);
		//echo $display;

		// display variable updaten
		SetValueString(ID_DISPLAY, $display);

		// solange daten kommen ist das gerät an. aber dann jedesmal die power variable updaten und prüfen ist zu langsam
	}
	else
	{
	   // befehl bzw. antwort parsen
      //echo $data ;
      // funktionen gibt es mit drei und zwei zeichen
      $lv_fkt2 = substr($data,0,2);  // funktion ersten 2 zeichen
      $lv_val2 = substr($data,2,4);  // value die letzten zeichen
      $lv_fkt3 = substr($data,0,3);  // funktion ersten 3 zeichen
      $lv_val3 = substr($data,3,3);  // value die letzten zeichen

		// lautstärke
		if ($lv_fkt3=="VOL")
    	{
    	   // umrechnung des wertes in dB quelle: pioneer javascript
    	   // echo (($lv_val3-161)*0.5)."dB";

			// verstärker anzeige in dB. Rückgabe aber als Integer einfach als Prozent übernehmen
			// nur bei veränderung aktualisieren
			if (GetValue(ID_VOL) != $lv_val3)
			{
				SetValue(ID_VOL,$lv_val3);
			}
		}

		// mute
		if ($lv_fkt3=="MUT")
	  	{
	  	   // mute ändern nur wenn die variable nicht aktuell ist
			if($lv_val3=="1" && GetValue(ID_MUTE)==true)
			{
				SetValue(ID_MUTE,false);	// mute off
			}
			if($lv_val3=="0" && GetValue(ID_MUTE)==false)
			{
				SetValue(ID_MUTE,true);    // mute on
			}
		}
		// funktion (eingänge)
		if ($lv_fkt2=="FN")
	  	{
	  	   // funktion ändern nur wenn die variable nicht aktuell ist
			if (GetValue(ID_FUNCTION) != $lv_val2)
			{
				// liste der gültigen funktionen
				if ($lv_val2==26 || $lv_val2==25 || $lv_val2==21 || $lv_val2==20 || $lv_val2==17 || $lv_val2==2)
				{
			   	SetValue(ID_FUNCTION,$lv_val2);    // funktion setzen
			   	echo"set ".$lv_fkt2." to ".$lv_val2.$function_list[0];
			   	// beschriftung des feldes ändern wieder auf default
			   	IPS_SetVariableProfileAssociation($VAR_PROFILE_FUNCTION,0,$function_list[0],"",-1);
				}
		 		else
		 		{
		 		   echo "integer".(integer)$lv_val2;
		 		   SetValue(ID_FUNCTION,0);    // funktion =0 also diverses für die keine schaltfläche hinterlegt sind. bzw nicht gebraucht werden.
		 		   // beschriftung des feldes ändern
		 		   IPS_SetVariableProfileAssociation($VAR_PROFILE_FUNCTION,0,$function_list[(integer)$lv_val2],"",-1);
		 		}
		 	}

			// wenn internet radio und die optionen noch nicht eingeblendet dann einblenden.
			if ($lv_val2==26 && $INET_RADIO_HIDDEN==true)
			{
			   // inet radion steuerung einblenden. methode führt refresh automstisch aus
			   InetRadioOn();
			}
			else
			{
			   // inet radion steuerung einblenden. methode führt refresh automstisch aus
			   InetRadioOff();
			}

			// wenn tuner  radio und die optionen noch nicht eingeblendet dann einblenden.
			if ($lv_val2==02 && $TUNER_RADIO_HIDDEN==true)
			{
			   // tuner radion steuerung einblenden. methode führt refresh automstisch aus
			   TunerRadioOn();
			}
			else
			{
			   // tuner radion steuerung einblenden. methode führt refresh automstisch aus
			   TunerRadioOff();
			}
			
		}
		// listening mode
		if ($lv_fkt2=="LM")
		{
			echo "Listening Mode".$lv_val2;
		   SetValue(ID_LISTENING_MODE,$listening[$lv_val2]);    //
 		}
 		// key lock
		if ($lv_fkt3=="PKL")
		{
			//echo "Key Lock".$lv_val3;
		   SetValue(ID_KEYLOCK,$lv_val3);    //
 		}
 		// request input name
		if ($lv_fkt3=="RGB")
		{
			echo "request input name".$lv_val3;
		   //SetValue(ID_KEYLOCK,$lv_val3);    //
 		}

	}
}
if($IPS_SENDER == "WebFront") {

	// aktion per webfront
	
	// TODO: anpassen auf das installscript
	// internetradio buttons
	if ($IPS_VARIABLE==ID_INET_RADIO)
	{
	   //echo "test ".$IPS_VALUE;
	   SetValue(ID_INET_RADIO,$IPS_VALUE);    //

		// letzten Status merken ob play oder stop
		if ($IPS_VALUE<=1)
         SetValue(ID_INET_RADIO_BUTTONS,$IPS_VALUE);    //
	   
	   if ($IPS_VALUE == 0)
	   {
	   	$ret = sendCommand("20NW");
	   }
	   if ($IPS_VALUE == 1)
	   	$ret = sendCommand("10NW");
	   if ($IPS_VALUE == 2)
	   	$ret = sendCommand("12NW");
	   if ($IPS_VALUE == 3)
	   	$ret = sendCommand("13NW");
      if ($IPS_VALUE == 4)
	   	$ret = sendCommand("18NW");
	   	
		// da die buttons nicht dauerhaft aktiv sein können, wird einfach der wert -1 gesetzt, so
		// ist keiner aktiv, aber nur bei aktionen >1
		if ($IPS_VALUE>1)
      	SetValue(ID_INET_RADIO, GetValue(ID_INET_RADIO_BUTTONS));    //
	}
	
	// power schalter
	if ($IPS_VARIABLE==ID_POWER)
	{
	   // je nach zustand ausschalten. einschalten geht nicht über lan!
	   if ($IPS_VALUE == true)
	   {
	      // wenn der pioneer eingeschaltet ist und dann vom netz getrennt wird und danach wieder strom bekommt
	      // behält er den letzten zustand. fazit: schaltbare steckdose
	      // nachteil: dann ggf. einschalten über die fernbedienung nicht mehr möglich
	      //
	      // wenn auf true gewechelt, dann kein wechsel vornehmen da einschalten nicht möglich
	   	//SetValue($ID_POWER, false);
	   	
	   	//socket aktualisieren da unter umständen keine verbinung zustande kommt
	   	IPS_ApplyChanges(ID_SOCKET);
	   }
	   else
		{
			$ret = sendCommand("PF");     		/// ausschaltbefehl
	   	SetValue(ID_POWER, $IPS_VALUE);     // varaible für power off setzen
	   	avOff();										// variablen + schalter ausblenden
	   }
	}

	// display schalter zur statusabfrage
	if ($IPS_VARIABLE==ID_DISPLAY)
	{
		$ret = sendCommand("STS");     // Display Status abfrage, ergebnis wird nach und nach angezeigt
 	}

	// mute schalter
	if ($IPS_VARIABLE==ID_MUTE)
	{
	   // je nach zustand ausschalten. einschalten geht nicht über lan!
	   if ($IPS_VALUE == true)
	   {
			$ret = sendCommand("MO");     // mute on
	   	SetValue(ID_MUTE, $IPS_VALUE);
	   }
	   else
		{
			$ret = sendCommand("MF");     // mute off
	   	SetValue(ID_MUTE, $IPS_VALUE);
	   }
	}

	// lautstärke schalter
	if ($IPS_VARIABLE==ID_VOL)
	{
	   //echo $IPS_VALUE."VL";
	   if (GetValue(ID_VOL) != $IPS_VALUE )
	   {
	      // Werte von 0 bis 161(voll aufgedreht)
	      // so muss auch das profil der volumen variablen angelegt sein.
			$ret = sendCommand($IPS_VALUE."VL");     // vol direkt setzen
	   	SetValue(ID_VOL, $IPS_VALUE);
	   }
	}

	// funktions schalter
	if ($IPS_VARIABLE==ID_FUNCTION)
	{
	   //echo $IPS_VALUE."FN";
	   if (GetValue(ID_FUNCTION) != $IPS_VALUE )
	   {
	      // einstelige zahlen mit 0 voranstellen
	      $tmp_val = substr("0".$IPS_VALUE,-2);
			$ret = sendCommand($tmp_val."FN");     // Funktion direkt setzen

			// bei internetradio ein und ausblenden
	   	if ($IPS_VALUE==26)
	   	{
	   	   InetRadioOn();
         }
         if (GetValue(ID_FUNCTION)==26)
	   	{
	   	   InetRadioOff();
         }
         
         SetValue(ID_FUNCTION, $tmp_val);
	   }
	}

	// listening mode schalter
	if ($IPS_VARIABLE==ID_CHANGE_LISTENING_MODE)
	{
	   	//echo "Value ".$IPS_VALUE;
			if ($IPS_VALUE=="0")
	      {
	         $ret = sendCommand("0005SR");     // auto cycle
	      }
       	else if ($IPS_VALUE=="1")
	      {
	         $ret = sendCommand("0001SR");     // STEREO cycle
	      }
	      else if ($IPS_VALUE=="2")
	      {
	         $ret = sendCommand("0010SR");     // Standard cycle
	      }
	      else if ($IPS_VALUE=="3")
	      {
	         $ret = sendCommand("0100SR");     // Adv. Surround cycle
	      }
	      // einstelige zahlen mit 0 voranstellen
	      //$tmp_val = substr("0".$IPS_VALUE,-2);
			//$ret = sendCommand($tmp_val."FN");     // Funktion direkt setzen
	   	SetValue(ID_CHANGE_LISTENING_MODE, $IPS_VALUE);
	}
	// key lock schalter
	if ($IPS_VARIABLE==ID_KEYLOCK)
	{
		setValue(ID_KEYLOCK,$IPS_VALUE);
	   $ret = sendCommand($IPS_VALUE."PKL");     // key lock setzen
   }
}

// zeitliche events abfragen
if($IPS_SENDER == "TimerEvent") {

	// aktion per timer (hearth beat script)

	// Socket prüfung funktioniert nicht. daher die ping variante
	// hearthbeat für power on
	if (Sys_Ping($IP_DEVICE, 1000) )
   {
   	// gerät eingeschaltet, aber variable nicht erneut setzen wenn schon on
   	if (GetValue(ID_POWER)==false)
  		{
  		   echo "Now ON";
   		SetValue(ID_POWER,true);

			// prüfkommando nur beim einschalten absenden
			// regelmäßige prüfung nicht notwendig da bei fernbedienungsaktionen die anworten empfangen werden
			$ret = sendCommand("?V");     // welche lautstärke
			$ret = sendCommand("?M");     // mute
			$ret = sendCommand("?F");     // funktion
			$ret = sendCommand("?L");     // listening mode
			$ret = sendCommand("?PKL");   // keylock
			
			avOn();		// variablen, schalter einblenden
		}
   }
  	else
 	{
   	// gerät ausgeschaltet, aber variable nicht erneut setzen wenn schon off
   	if (GetValue(ID_POWER)==true)
  		{
		 	// beschriftung der funktion wieder auf default ändern
		 	IPS_SetVariableProfileAssociation($VAR_PROFILE_FUNCTION,0,$function_list[0],"");

   		SetValue(ID_POWER,false);
			avOff();		// variablen, schalter ausblenden
   	}
   }
}

// funktion um die hexzeile vom reciever in ascii zu decodieren
function hex2str($hex)
{
	// die ersten  zeichen gehören zur funktionsart
	$hex = substr($hex,4,strlen($hex) - 4);

	//echo $hex;
	// TODO: for schleife ist eigentlich zu langsam, gibt es was besseres?
	$str="";
	for($i=0;$i<strlen($hex);$i+=2)
	{
		$str.=chr(hexdec(substr($hex,$i,2)));
	}
	return $str;
}

function sendCommand($com)
{
	$feedback= CSCK_SendText(ID_SOCKET, $com.chr(13));

	return $feedback;
}

// av reciver on - also bedienelemente sichtbar machen
function avOn()
{
	// power wurde nicht ausgeblendet
	IPS_SetHidden(ID_MUTE, false);
	IPS_SetHidden(ID_VOL, false);
	IPS_SetHidden(ID_FUNCTION, false);
	IPS_SetHidden(ID_LISTENING_MODE, false);
	IPS_SetHidden(ID_DISPLAY, false);
	IPS_SetHidden(ID_CHANGE_LISTENING_MODE, false);
	IPS_SetHidden(ID_KEYLOCK, false);
	// beim einschalten ist ggf. noch der modus internetradio aktiv gewesen. dann aktivieren damit danach das ausblenden funktioniert
	if (GetValue(ID_FUNCTION) == 26)
	{
	   // inet radion steuerung einblenden. methode führt refresh automstisch aus
	   InetRadioOn();
	}

	IPS_SetHidden(ID_TUNER_CONTROL, false);

}

// av reciver off - also bedienelemente ausblenden, dadurch kein exception handling im script
function avOff()
{
	// power bleibt immer sichtbar damit bleibt es beim zusammenklappen im webfront (oder falls mal einschalten geht)
	// das diplay löschen damit im ausgeschalteten zustand nicht ein alter text stehen bleibt.
	SetValue(ID_DISPLAY, " ");           // bei aus das diplay löschen
	// andere elemente ausblenden
	IPS_SetHidden(ID_MUTE, true);
	IPS_SetHidden(ID_VOL, true);
	IPS_SetHidden(ID_FUNCTION, true);
	IPS_SetHidden(ID_LISTENING_MODE, true);
	IPS_SetHidden(ID_DISPLAY, true);
	IPS_SetHidden(ID_LISTENING_MODE, true);
	IPS_SetHidden(ID_CHANGE_LISTENING_MODE, true);
	IPS_SetHidden(ID_KEYLOCK, true);
	IPS_SetHidden(ID_TUNER_CONTROL, true);
	
	InetRadioOff();
}

// TODO: ins installscript übernehmen
function InetRadioOn()
{
	$INET_RADIO_HIDDEN= false;
	IPS_SetHidden(ID_INET_RADIO, false);
	IPS_SetHidden(ID_INET_RADIO_BUTTONS, false);
	IPS_SetHidden(ID_INET_STATION, false);
	
	$html = ReadStationList();
	setValue(ID_INET_STATION,$html);

}

function InetRadioOff()
{
   $INET_RADIO_HIDDEN=true;
	IPS_SetHidden(ID_INET_RADIO, true);
	IPS_SetHidden(ID_INET_RADIO_BUTTONS, true);
	IPS_SetHidden(ID_INET_STATION, true);
	

}

// TODO: ins installscript übernehmen
function TunerRadioOn()
{
	$TUNER_RADIO_HIDDEN= false;
	//IPS_SetHidden(ID_INET_RADIO, false);
	//IPS_SetHidden(ID_INET_STATION, false);
	IPS_SetHidden(ID_TUNER_CONTROL, false);
	//$html = ReadStationList();
	//setValue(ID_INET_STATION,$html);

}

function TunerRadioOff()
{
   $TUNER_RADIO_HIDDEN=true;
	//IPS_SetHidden(ID_INET_RADIO, true);
	IPS_SetHidden(ID_TUNER_CONTROL, true);
	//IPS_SetHidden(ID_INET_STATION, true);

}

?>

PioneerAVR_Inet.php

<?

function ReadStationList()
{
	$radiostations = file_get_contents('http://192.168.0.48/InternetRadioSettingListHandler.asp');

	// anfangs und endzeichen abschneiden damit besser geparst werden kann
	// todo: um ein anständiges parsen kümmern ala dtd
	//$mark =chr(34)."R".chr(34).":[";
	//$pos = strrpos($radiostations, $mark);
	//$pos2 = strripos($radiostations, "]
}");

	//$cleanedList = substr($radiostations, $pos + strlen($mark), $pos2-($pos + strlen($mark)));

	// die geschweiften klammern entfernen, stören später
	$radiostations = str_replace("{
", "", $radiostations);
	$radiostations = str_replace("},", ",", $radiostations);
	$radionArray = explode(",
",$radiostations);

	//print_r($radionArray);

	// position über "C":
	$mark_pos_c = chr(34)."C".chr(34).":";
	// Name über "T":
	$mark_pos_t = chr(34)."T".chr(34).":";
	// URL über "U":
	$mark_pos_u = chr(34)."U".chr(34).":";

	// durch array laufen und die positionen suchen.
	$StationList;
	for ($i = 0; $i < count($radionArray); $i=$i+3) {

		$zeile_1 = explode(chr(34).":",$radionArray[$i]);
		$zeile_2 = explode(chr(34).":",$radionArray[$i+1]);
		$zeile_3 = explode(chr(34).":",$radionArray[$i+2]);

	   $val_c= $zeile_1[count($zeile_1)-1];
	   $val_t = trim(str_replace("
","", $zeile_2[count($zeile_2)-1]),chr(34));
	   $val_u = trim(str_replace("
	","", $zeile_3[count($zeile_3)-1]),chr(34));

	   $StationList[$val_c]=array($val_t,$val_u);
	}
	//print_r($StationList);
	
	return AnzeigeAufbereiten($StationList);
}


// anzeige aufbereiten in eine html box
function AnzeigeAufbereiten($StationList)
{
	// Anzeige aufbereiten
	$str = "<table width='90%' align='center'>"; // Farbe anpassen oder style entfernen
	$str .= "<tr><b></b><td><b>Nr</b></td><td><b>Station</b></td><td><b>Nr</b></td><td><b>Station</b></td><td><b></b></td><td><b></b></td><td><b></b></td></tr>";

	//echo "size".sizeof($bahn->timetable);
	for($i=1; $i<=sizeof($StationList) / 2; $i++)
	{
	    $eintrag[0] = $i;
	    $station =  $StationList[$i];
	    $eintrag[1] = $station[0];

	    $eintrag[2] = sizeof($StationList) / 2 + $i;
	    $station =  $StationList[sizeof($StationList) / 2 + $i];
	    $eintrag[3] = $station[0];

	        $str .= "<tr>";
	        foreach($eintrag as $data)
	            $str .= '<td>'.$data.'</td>';
	        $str .= "</tr>";
	}
	$str .= "</table>";

	return $str;
}

?>

PioneerAVR_Vars.php

<?
// statusvariablen des verstärkers
define ("ID_POWER", 22689 /*[EG\Wohnzimmer\AV Reciever\Power]*/);
define ("ID_DISPLAY", 23232 /*[EG\Wohnzimmer\AV Reciever\Display]*/);
define ("ID_MUTE", 50311 /*[EG\Wohnzimmer\AV Reciever\Mute]*/);
define ("ID_VOL", 37499 /*[EG\Wohnzimmer\AV Reciever\Lautstärke]*/);
define ("ID_FUNCTION", 27244 /*[EG\Wohnzimmer\AV Reciever\Funktion]*/);
define ("ID_LISTENING_MODE", 33459 /*[EG\Wohnzimmer\AV Reciever\Active Listening Mode]*/);
define ("ID_CHANGE_LISTENING_MODE", 18331 /*[EG\Wohnzimmer\AV Reciever\Listening Mode]*/);

define ("ID_INET_RADIO", 28544 /*[EG\Wohnzimmer\AV Reciever\Internet Radio Controll]*/);
define ("ID_INET_RADIO_BUTTONS", 50525 /*[EG\Wohnzimmer\AV Reciever\Internet Radio Button]*/);
define ("ID_INET_STATION", 54532 /*[EG\Wohnzimmer\AV Reciever\Internet Radio Stationen]*/);

define ("ID_KEYLOCK", 18908 /*[EG\Wohnzimmer\AV Reciever\Tastensperre]*/);

define ("ID_TUNER_CONTROL", 20834 /*[EG\Wohnzimmer\AV Reciever\Tuner Control]*/);

$IP_DEVICE="192.168.0.48";
// statusvariablen webfront und socket
define ("ID_SOCKET", 32739 /*[AV_SOCKET]*/);
define ("ID_WEBFRONT", 21641 /*[WebFront]*/);
?>

PioneerAVR_Const.php

<?

// funktionen ggf umbenenen falls diese auch im gerät umbenannt wurden
$function_list = array(
0 => "DIVERSE",
4 => "DVD",
25 => "BD",
5 => "TV/SAT",
15 => "DVR/BDR",
10 => "XBOX",
14 => "VIDEO 2",
19 => "PS3",
20 => "Apple TV",
21 => "Blueray",
17 => "iPod/USB",
1 => "CD",
97 => "CD-R/TAPE",
2 => "TUNER",
26 => "INTERNET RADIO",
33 => "ADAPTER PORT"
);

// listening modes
$listening = array(
"0001" => "STEREO",
"0002" => "F.S.SURR FOCUS",
"0003" => "F.S.SURR WIDE",
"0004" => "RETRIEVER AIR",
"0101" => "DOLBY PLIIx MOVIE",
"0102" => "DOLBY PLII MOVIE",
"0103" => "DOLBY PLIIx MUSIC",
"0104" => "DOLBY PLII MUSIC",
"0105" => "DOLBY PLIIx GAME",
"0106" => "DOLBY PLII GAME",
"0107" => "DOLBY PRO LOGIC",
"0108" => "Neo:6 CINEMA",
"0109" => "Neo:6 MUSIC",
"010a" => "XM HD Surround",
"010b" => "NEURAL SURR",
"010c" => "",
"010d" => "DOLBY PLIIz HEIGHT",
"010e" => "WIDE SURR MOV",
"010f" => "WIDE SURR MUS",
"0201" => "ACTION",
"0202" => "DRAMA",
"0203" => "SCI-FI",
"0204" => "MONO FILM",
"0205" => "ENT.SHOW",
"0206" => "EXPANDED",
"0207" => "TV SURROUND",
"0208" => "ADVANCED GAME",
"0209" => "SPORTS",
"020a" => "CLASSICAL",
"020b" => "ROCK/POP",
"020c" => "UNPLUGGED",
"020d" => "EXT.STEREO",
"020e" => "PHONES SURR",
"0301" => "DOLBY PLIIx MV +THX",
"0302" => "DOLBY PLII MV +THX",
"0303" => "DOLBY PL +THX CIN",
"0304" => "Neo:6 CIN +THX",
"0305" => "THX CINEMA",
"0306" => "DOLBY PLIIx MS +THX",
"0307" => "DOLBY PLII MS +THX",
"0308" => "DOLBY PL +THX MS",
"0309" => "Neo:6 MUS +THX",
"030a" => "THX MUSIC",
"030b" => "DOLBY PLIIx GM +THX",
"030c" => "DOLBY PLII GM +THX",
"030d" => "DOLBY PL +THX GM",
"030e" => "THX ULTRA2 GM",
"030f" => "THX SELCT2 GM",
"0310" => "THX GAMES",
"0311" => "DOLBY PLIIz +THX MV",
"0312" => "DOLBY PLIIz +THX MU",
"0313" => "DOLBY PLIIz +THX GM",
"0401" => "STEREO",
"0402" => "DOLBY PLII MOVIE",
"0403" => "DOLBY PLIIx MOVIE",
"0404" => "Neo:6 CINEMA",
"0405" => "",
"0406" => "DOLBY DIGITAL EX",
"0407" => "DOLBY PLIIx MOVIE",
"0408" => "DTS+Neo:6",
"0409" => "ES MATRIX",
"040a" => "ES DISCRETE",
"040b" => "DTS-ES 7.1",
"040c" => "XM HD Surround",
"040d" => "NEURAL SURR",
"040e" => "RETRIEVER AIR",
"0501" => "STEREO",
"0502" => "DOLBY PLII MOVIE",
"0503" => "DOLBY PLIIx MOVIE",
"0504" => "Neo:6 CINEMA",
"0505" => "",
"0506" => "DOLBY DIGITAL EX",
"0507" => "DOLBY PLIIx MOVIE",
"0508" => "DTS+Neo:6",
"0509" => "ES MATRIX",
"050a" => "ES DISCRETE",
"050b" => "DTS-ES 7.1",
"050c" => "XM HD Surround",
"050d" => "NEURAL SURR",
"050e" => "RETRIEVER AIR",
"0601" => "STEREO",
"0602" => "DOLBY PLII MOVIE",
"0603" => "DOLBY PLIIx MOVIE",
"0604" => "Neo:6 CINEMA",
"0605" => "",
"0606" => "DOLBY DIGITAL EX",
"0607" => "DOLBY PLIIx MOVIE",
"0608" => "",
"0609" => "ES MATRIX",
"060a" => "ES DISCRETE",
"060b" => "DTS-ES 7.1",
"0701" => "",
"0702" => "DOLBY PLII MOVIE",
"0703" => "DOLBY PLIIx MOVIE",
"0704" => "Neo:6 CINEMA",
"0705" => "",
"0706" => "DOLBY DIGITAL EX",
"0707" => "DOLBY PLIIx MOVIE",
"0708" => "",
"0709" => "ES MATRIX",
"070a" => "ES DISCRETE",
"070b" => "DTS-ES 7.1",
"0881" => "OPTIMUM",
"0e01" => "HDMI THROUGH",
"0f01" => "MULTI CH IN",
"1101" => "DOLBY PLIIx MOVIE",
"1102" => "DOLBY PLIIx MUSIC",
"1103" => "DOLBY DIGITAL EX",
"1104" => "",
"1105" => "ES MATRIX",
"1106" => "ES DISCRETE",
"1107" => "DTS-ES 7.1",
"1108" => "",
"1109" => "DOLBY PLIIz HEIGHT",
"110a" => "WIDE SURR MOV",
"110b" => "WIDE SURR MUS",
"1301" => "THX Surr EX",
"1302" => "Neo:6 +THX CIN",
"1303" => "ES MTRX+THX CN",
"1304" => "ES DISC+THX CN",
"1305" => "ES 7.1+THX CIN",
"1306" => "DOLBY PLIIx MV +THX",
"1307" => "THX ULTRA2 CIN",
"1308" => "THX SELCT2 CIN",
"1309" => "THX CINEMA",
"130a" => "Neo:6 +THX MS",
"130b" => "ES MTRX+THX MS",
"130c" => "ES DISC+THX MS",
"130d" => "ES 7.1 +THX MS",
"130e" => "DOLBY PLIIx MS +THX",
"130f" => "THX ULTRA2 MS",
"1310" => "THX SELCT2 MS",
"1311" => "THX MUSIC",
"1312" => "Neo:6 +THX GM",
"1313" => "ES MTRX+THX GM",
"1314" => "ES DISC+THX GM",
"1315" => "ES 7.1 +THX GM",
"1316" => "DOLBY EX +THX GM",
"1317" => "THX ULTRA2 GM",
"1318" => "THX SELCT2 GM",
"1319" => "THX GAMES",
"131a" => "DOLBY PLIIz +THX MV",
"131b" => "DOLBY PLIIz +THX MU",
"131c" => "DOLBY PLIIz +THX GM",
)
?>

Herzlichen Dank :slight_smile:

Frage 1 : Braucht man eine Erlaubnis, wenn man Skripte die hier zur Verfügung gestellt worden sind auf die eigenen Bedürfnisse angepasst wieder zur Verfügung stellt?

Frage 2: Wie stellt man anderen so ein komplexes Skript zur Verfügung, sodass auch alle Profile &Co. mit kommen? Geht sowas nur mit einem Installationsskript?