Onkyo TX-NR414

Hat jemand den Onkyo TX-NR414 in IPS im Einsatz. Mich würden hier Erfahrungswerte interessieren.

Hi!
ja, der läuft bei mir seit ca. einem Jahr. Über IPS habe ich bisher nur die grundlegende Steuerung realisiert:

[ul]
[li]Power
[/li][li]Volume
[/li][li]Mute
[/li][li]Source
[/li][li]Webradio Preset
[/li][li]
[/li][/ul]
Zum Auslesen der Änderungen im 414 hab ich einen ClientSocket mit einem Skript als Target, dass dann die jeweiligen Variablen refreshed.
Zum senden hab ich eine PHP-Klasse geschrieben, die die Commands an den IPS schickt. Bei Interesse kann ich beide files gerne später posten (nach dem nächsten Teil der Weihnachtsfeierei)

Grüße

Chris

Hallo Chris, danke für die Info. Ich würde gern per IPS die Eingänge (HDMI etc.) umschalten.
Das dürfte dann ja Source sein.:slight_smile: Bin an Deinen Scripten sehr interessiert. Dann werde ich mal paar Kröten zusammenkratzen und das Teil bestellen.

Würde mich auch interessieren :),

Guten Morgen zusammen!

So, hier erstmal meine kleine Onkyo Class, die noch um einiges erweitert werden muss, wenn ich mal Zeit hab:

<?php
class Onkyo
{
	private $connection;

	function __construct($ip = "192.168.1.5", $port = 60128)
	{
		$this->connection = fsockopen($ip, $port);
	}

	private function _sendCmd($cmd)
	{
		$cmd2Send = "ISCP\x00\x00\x00\x10\x00\x00\x00\x07\x01\x00\x00\ x00!1" . $cmd . "\x0D";

		fwrite($this->connection, $cmd2Send);

	}

	/**
	 * activates a web radio channel
	 * @param integer $preset
	 *
	 */
	public function setPreset($preset)
	{
		$preset = dechex($preset);
		if (strlen($preset) == 1) {
			$preset = '0' . $preset;
		}
		$this->_sendCmd('NPR' . strtoupper($preset));
	}

	/**
	 * sets mute on and off
	 * @param bool $status
	 */
	public function setMute($status = true)
	{
		if ($status) {
			$cmd = 'AMT01';
		} else {
			$cmd = 'AMT00';
		}
		$this->_sendCmd($cmd);


	}

	/**
	 * Switches the device on and off
	 *
	 * @param bool $status
	 */
	public function setPower($status = true)
	{
		if ($status) {
			$cmd = 'PWR01';
		} else {
			$cmd = 'PWR00';
		}
		$this->_sendCmd($cmd);


	}

	/**
	 * Sets the volume to the given value
	 *
	 * @param integer $volume
	 */
	public function setVolume($volume)
	{
		if ($volume <= 60) { // don't allow to set volume higher then 60
			$volume = dechex($volume);
			if (strlen($volume) == 1) {
				$volume = '0' . $volume;
			}
			$this->_sendCmd('MVL' . strtoupper($volume));
		}
	}

	/**
	 * Switches the input to the given value
	 *
	 * @param integer $input the inputSourceID as defined in this list:
	 * 2 -> GAME
	 * 5 -> PC
	 * 16 -> DVD
	 * 35 -> TV
	 * 43 -> NET
	 */
	public function setInput($input)
	{
		$input = dechex($input);
		if (strlen($input) == 1) {
			$input = "0" . $input;
		}
		$this->_sendCmd('SLI' . strtoupper($input));
	}

	/**
	 * changes the listening mode (direct, theatre dimensional)
	 * @param integer $listeningMode
	 */
	public function setListeningMode($listeningMode)
	{
		$listeningMode = dechex($listeningMode);
		if (strlen($listeningMode) == 1) {
			$listeningMode = "0" . $listeningMode;
		}
		$this->_sendCmd('LMD' . strtoupper($listeningMode));
	}

	/**
	 * trigger refresh of the status
	 */
	public function refresh()
	{
		$this->_sendCmd('PWRQSTN');
		usleep(500);
		$this->_sendCmd('AMTQSTN');
		usleep(500);
		$this->_sendCmd('MVLQSTN');
		usleep(500);
		$this->_sendCmd('SLIQSTN');
		usleep(500);
		$this->_sendCmd('LMDQSTN');
	}


	function __destruct()
	{
		if ($this->connection) {
			fclose($this->connection);
		}
	}
}

Und um auf die Änderungen zu hören, einfach ein Client Socket erstellen und bei Register Variable als Target folgendens Script eintragen (und natürlich vorher die Variablen-IDs anpassen):

<?php

$data = $IPS_VALUE;

function startsWith($haystack, $needle)
{
	return substr($haystack, 0, strlen($needle)) == $needle;
}


$data = substr($data, (strpos($data, '!') + 2));
$split = explode(chr(26), $data);
$data = $split[0];
$typeIdentifier = substr($data, 0, 3);

switch ($typeIdentifier) {
	case "AMT": //MainMute
		$value = startsWith($data, "AMT01");
		setValue(22053, $value);
		break;

	case "PWR": //Power
		$value = startsWith($data, "PWR01");
		setValue(46075, $value);
		break;

	case "MVL": //Master Volume
		$volume = hexDec(substr($data, 3, 2));
		setValue(44670, $volume);
		break;

	case "SLI": //Input
		$input = hexDec(substr($data, 3, 2));
		setValue(50381, $input);
		break;

	case "LMD": //Listening Mode
		$listeningMode = hexDec(substr($data, 3, 2));
		setValue(41462, $listeningMode);
		break;

	default:


}
?>

Die komplette Command-Liste findet man bei google, einfach mal nach „onkyo PWR liste xls“ suchen…

Viel Spaß damit :wink:

Danke für die Scripte … ich werde es damit auch mal versuchen.

Onkyo TX-NR616

Noch einen schönen Feiertag
René

Hallo an Alle,

habe bei mir einen TX-NR609 im Einsatz hier mal im Anhang die RS232/LAN Codeliste. Gilt im großen und ganzen für alle Modelle.

Gruß Sevi

Hi zusammen!
Hats jemand von euch zufällig geschafft, über die Steuerung eine bestimmte Playlist via DLNA zu starten?
Meine Idee: ich hab aufm Server ein paar Playlist (Party, Relax, aus aktuellen Anlass vielleicht auch Xmas), und dann kann ich per befehlt eine der Lists starten (plus Licht runter- und Weihnachtsbaum hochdimmen, aber das geht natürlich schon…)
In der Befehlsliste hab ich nix dazu gefunden, ich könnte zwar über die NTC-Commands mich durchs Menü hangeln, aber ich weiß ja gar nicht, wo im Menü ich bin…
Danke schonmal!
Gruß
Chris

kann jemand zum Set Onkyo HT-BD6315 ein paar Angaben betreffend Klangqualität machen?

@Chris

Danke für Deine Scripte, funktionieren super.
Der Onkyo NR414 ist eine prima Sache.
Was mir aufgefallen ist. der Receiver wird relativ warm und dünstet ganz schön aus. Ist bzw. war das bei Dir auch so?

@Thomas

Ich habe den 616 und muss sagen er riecht auch ganz schön.
Hab ihn aber noch nicht viel benutzt und ich hoffe das gibt sich.

René

Ja scheint öfters vorzukommen, habe da einige Beiträge gelesen… na mal schauen ob das besser wird.

@Chris


if ($volume <= 60) { // don't allow to set volume higher then 60

Hat das einen Grund, es geht ja eigentlich bis 80?

Desweiteren geht der Receiver nach bestimmter Zeit in den Standby.

  1. dann kann ich Ihn per LAN nicht mehr einschalten oder?
  2. wie macht Ihr das bzw. kann ich den Standby verhindern?

Hallo,

bisher habe ich meine 616 nur mit einzelnen http-Befehlen gesteuert … komplette Library ist natürlich eleganter und professioneller: ich werde er mir auf jeden Fall anschauen!

@Ferengi-Master: In den Onkyo Einstellungen gibt es doch einen Punkt bzgl. des Standby-Verhaltens bzw. der Steuerung über das Netzwerk, vielleicht ist es ja wirklich so einfach?!

Gruß und viel Erfolg!
Jörg

Ja geht und ist so einfach, allerdings habe ich den 626.
Und er ‚riecht‘ auch.
Michael

Hi!
@Ferengi-Master: ja, die Volumenobergrenze… Meiner Frau sind irgendwann mal die Ohren weggeflogen, als ich gerade am testen war… Daraufhin ist diese Code-Zeile entstanden. Könnt ihr natürlich einfach ignorieren :wink:
Am Anfang hat er auch ein wenig gerochen, aber das gibt sich mit der Zeit.

Viele Grüße und schönen Abend!

@Ferengi-Master: In den Onkyo Einstellungen gibt es doch einen Punkt bzgl. des Standby-Verhaltens bzw. der Steuerung über das Netzwerk, vielleicht ist es ja wirklich so einfach?!

… war es => Network Setup=> Network Standby On :slight_smile:

Am Anfang hat er auch ein wenig gerochen, aber das gibt sich mit der Zeit.

Stimmt, wird schon weniger.:slight_smile:

So… Steuerung per IPS fuktioniert super, allerdings kommen keine Rückmeldungen über den ClientSocket an. Registervariable und Script sind zugeordnet. Im Debug vom CS kommt leider nix an. Firewall habe ich testweise abgeschaltet. Stecke gerade etwas fest…:frowning:

Hi,

ich bin auch gerade dabei den 626 einzubinden.

@Ferengi-Master: Könntest du uns deine Onky-Class zur Verfügung stellen?
Bezüglich des Client Sockets, bei mir funktionierte es auch erst nachdem ich den Receiver mal rebotet habe, seitdem jedoch ohne Probleme!!

Danke

Bezüglich des Client Sockets, bei mir funktionierte es auch erst nachdem ich den Receiver mal rebotet habe, seitdem jedoch ohne Probleme!!

Ok, werde ich mal testen.

Könntest du uns deine Onky-Class zur Verfügung stellen?

Ich habe die von Chris genommen (siehe oben) und nur ein setAudio (Umschalten der Audioeingänge) dazu gemacht. Wenn Du mehr brauchst sage Bescheid, ich sehe was ich machen kann.:wink: