Denon avr-x

Hallo zusammen,

ich experimentiere zurzeit mit einem Denon AVR-X2000 zwecks Einbindung in IPS (Ich weiß, es gibt eine tolle, fertige Lösung von Raktenschnecke zu DENON, aber die Geräte haben sich ja weiterentwickelt in den letzten 3 Jahren).

Wenn es darum geht, Kommandos auf den Receiver zu schicken, ist keine Register Variable mehr erforderlich. Man kann die Befehle direkt auf den Webserver des AMPs posten. Dazu nutzt man die dort (eigentlich für Smartphone) hinterlegten XML-Dateien.

Beispiel Lautstärke anheben: http://<AV IP-Adresse>/goform/formiPhoneAppDirect.xml?MVUP
CD als Quelle auswählen: http://<AV IP-Adresse>/goform/formiPhoneAppDirect.xml?SICD

In IPS kann man das recht einfach mittels CURL-Commands integrieren :


$bef="MVUP";
$ip="192.168.178.36"; 
$ch=curl_init("http://$ip//goform/formiPhoneAppDirect.xml?$bef");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=$command=curl_exec($ch);

So lässt sich jedes Kommando, das lt. Befehlsreferenz möglich ist, relativ einfach in IPS integrieren.
Die Referenzen gibt es offiziell bei Denon: http://assets.denoneu.com/DocumentMaster/DE/AVRX2000_E400_PROTOCOL(10.1.0)_V04.pdf

Das läuft so äußerst stabil. Will man auch geänderte Zustände, z.B. ausgelöst durch die Fernbedienung, „aufschnappen“ und in IPS updaten, kommt man um die Registervariable und einen Socket auf Port 23 (telnet) nicht herum. Dieser hängt sich hier allerdings in regelmäßigen Abständen weg, so dass ich ihn mit einem zyklischen Skript am Leben halten muss :frowning:

Weitere Status-Meldungen bekommt man ebenfalls aus XML-Dateien des Webservers geliefert :

http:///goform/formMainZone_MainZoneXml.xml
http:///goform/formMainZone_MainZoneXmlStatus.xml
http:///goform/formMainZone_MainZoneXmlStatusLite.xml
http:///goform/formNetAudio_StatusXml.xml
http:///goform/formNetAudio_StatusXml.xml?ZoneName=MAIN+ZONE
http:///goform/formZone2_Zone2XmlStatus.xml
http:///goform/formZone2_Zone2XmlStatusLite.xml
http:///goform/Deviceinfo.xml

Diese lassen sich dann z.B. per XML_load in IPS auswerten :

$simple = simplexml_load_file("http://192.168.178.36/goform/formNetAudio_StatusXml.xml");

Hier stehen dann übrigens auch die Titelbeschreibungen aus Net/InetRadio etc.

Das aktuelle Bild zum Inet-Stream oder Inet-Radio kann man dann hier abgreifen :
http://AV Adresse/NetAudio/art.asp-jpg

Mit den o.a. Befehlen und XML-Informationen konnte ich relativ schnell die für mich wichtigsten Funktionen in IPS integrieren :

So, ich forsche mal weiter. Vielleicht gibt’s noch ein paar mehr Interessante Dinge zu entdecken :rolleyes:

Gruß
Walter

Au ja bitte: forsche und berichte.
Ich hoffe dass das für die ganze X Reihe gültig ist. Ich bin nämlich gerade heute dabei meinen neuen X3100W auf zu bauen. Und der soll natürlich später mit in IPS. :slight_smile:

Hallo Walter,
hast du das Problem auch mit dem Skript von Raketenschnecke?

Ich nutze das Skript von Raketenschnecke und habe dieses für meinen X4000 erweitert.
Die Verbindung ist absolut stabil. Einzig beim trennen der Stromversorgung des X4000 bricht die Verbindung so ab, so dass diese auch beim nächsten Anschalten Probleme bereitet hatte.
Dieses Problem habe ich so gelöst, dass der Socket deaktiviert wird, sobald der Denon nicht mehr erreichbar ist und wieder aktiviert wird, sobald der Denon erreichbar ist.
Auf diese Weise funktioniert das Ganze bei mir zu 100% zuverlässig.

Falls Bedarf besteht:
RS_DENONAVR_Connector_V0.95_X4000_Brovning.rar (14.7 KB)

Hallo,

nein, ich arbeite nicht mit dem Skript von RS. Ich habe allerdings genau das von Dir beschriebene Problem nach Abschalten des Stroms. Ich habe mir mit einem „Socket deaktivieren/aktivieren Skript“ geholfen, das jetzt immer nach ein paar Sekunden nach Einschalten der Stromversorgung läuft. So klappt es eigentlich ganz gut.

Gruß
Walter

Ok, super!
Würde mich übrigens auch über dein DENON Skript freuen, sobald es eine vorzeigbaren Stand hat.