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. 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
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?
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?
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.
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.
- dann kann ich Ihn per LAN nicht mehr einschalten oder?
- 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
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
Am Anfang hat er auch ein wenig gerochen, aber das gibt sich mit der Zeit.
Stimmt, wird schon weniger.
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…
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.