Denon Modul [Testversion]

Ich würde mal davon ausgehen das das schon zu steuern ist, da sich an der Art und Weise wie über Port 23 kommuniziert wird nichts geändert hat. Bisher werden nur die Benennung der Inputs ausgelesen, falls das bei Deinem AVR Typ auf die schnelle nicht möglich sein sollte, muss man nur ein Feld einbauen in dem Du die Input Bezeichnungen manuell einträgst.

Nutzt Du auch HEOS oder kann das nur der AVR? Wenn Du HEOS besitzen solltest hast Du das mal probiert?

Ich habe nur den Receiver, sonst keine HEOS-Komponenten.

Inzwischen habe ich die Netzwerkanalyse mit Wireshark auch grob überflogen.
Das von der App genutzte Protokoll weicht ziemlich von der bisherigen http-Kommunikation ab:
Es werden wohl primär POSTs auf POST /goform/AppCommand.xml HTTP/1.1
und Port 8080 mit einem XML, z,B.

<?xml
        version="1.0"
        encoding="utf-8"
        ?>
    <tx>
        <cmd
            id="1">
            GetECO
            </cmd>
        <cmd
            id="1">
            GetAllZonePowerStatus
            </cmd>
        <cmd
            id="1">
            GetAllZoneMuteStatus
            </cmd>
        </tx>

ausgeführt, der User-Agent ist: De2014AVR/3629 CFNetwork/811.5.4 Darwin/16.7.0

Ergebnis ist dann ebenfalls ein XML, z.B.

<?xml
        version="1.0"
        encoding="utf-8"
        ?>
    <rx>
        <cmd>
            <status>
                1
                </status>
            <mode>
                0
                </mode>
            <pwondefault>
                3
                </pwondefault>
            <display>
                2
                </display>
            </cmd>
        <cmd>
            <zone1>
                OFF
                </zone1>
            <zone2>
                OFF
                </zone2>
            <zone3>
                OFF
                </zone3>
            </cmd>
        <cmd>
            <zone1>
                off
                </zone1>
            <zone2>
                off
                </zone2>
            <zone3>
                off
                </zone3>
            </cmd>
        </rx>

dann nächste Anfrage:

<?xml
        version="1.0"
        encoding="utf-8"
        ?>
    <tx>
        <cmd
            id="1">
            GetAllZoneSource
            </cmd>
        <cmd
            id="1">
            GetAllZoneVolume
            </cmd>
        </tx>

und Antwort:

<?xml
        version="1.0"
        encoding="utf-8"
        ?>
    <rx>
        <cmd>
            <zone1>
                <source>
                    SAT/CBL
                    </source>
                </zone1>
            <zone2>
                <source>
                    SOURCE
                    </source>
                </zone2>
            <zone3>
                <source>
                    SOURCE
                    </source>
                </zone3>
            </cmd>
        <cmd>
            <zone1>
                <volume>
                    -42.0
                    </volume>
                <state>
                    variable
                    </state>
                <limit>
                    OFF
                    </limit>
                <disptype>
                    ABSOLUTE
                    </disptype>
                <dispvalue>
                    38.0
                    </dispvalue>
                </zone1>
            <zone2>
                <volume>
                    -40
                    </volume>
                <state>
                    variable
                    </state>
                <limit>
                    -10.0
                    </limit>
                <disptype>
                    ABSOLUTE
                    </disptype>
                <dispvalue>
                    40
                    </dispvalue>
                </zone2>
            <zone3>
                <volume>
                    -40
                    </volume>
                <state>
                    variable
                    </state>
                <limit>
                    -10.0
                    </limit>
                <disptype>
                    ABSOLUTE
                    </disptype>
                <dispvalue>
                    40
                    </dispvalue>
                </zone3>
            </cmd>
        </rx>

Zudem gibt’s mindestens noch eine zweite URL, auf der auch Kommandos gesendet werden:
POST /goform/AppCommand0300.xml HTTP/1.1

  • ebenfalls Port 8080.

Werde die nächsten Tage mal probieren, ob ich die Anfragen auch aus PHP senden kann und ob Teile von HEOS über Telnet auch gehen.

PS: Ich bin mit den neuen PHP-Modulen noch nicht so fit - könnte ich per Skript die notwendigen Konfigurationen auch an der Receiver-Konfiguration der Instanz „vorbei“ setzen? (und dann im Denon-Modul per Telnet zugreifen)?

Grüße,
Martin

Nutzt Du den Master oder den Beta Zweig des Moduls? Wenn Du den Master Zweig nutzt kannst Du mal probieren als Modell den AVR-3808A auszuwählen und zu schauen was damit funktioniert über das Telnet Modul. Ansonsten muss man dann mal schauen wie und wann man das in den Beta mit übernehmen kann.

Es gibt nun eine neue Beta Version, die auch den Denon X6300H (ohne Web-Interface) unterstützt.

Feedback ist willkommen :slight_smile:

Gruß

Burkhard

Die gesamten Änderungen die bumaas am Modul vorgenommen hat sind jetzt im master Branch verfügbar. Dort werden jetzt Marantz Modelle sowie die Denon Modelle der Ursprungs Version unterstützt. Durch die Änderungen am Modul durch bumaas sollte es in Zukunft einfacher möglich sein neue noch nicht unterstützte Modelle einzupflegen. Wenn jemand also so ein Modell besitzt, das nicht aufgeführt wird, dann melden, dann muss dies in Zukunft nachgepflegt werden.

An der Stelle noch mal ganz herzlichen Dank an bumaas für das Umbauen der Struktur und das Einpflegen aller Marantz Modelle und erweitern um zusätzliche Funktionen.

Ansonsten melden wenn es nach dem Update zu Problemen kommen sollte, eine Prüfung aller Funktionen bei allen Modellen ist unmöglich und kann letztendlich immer nur der Besitzer des jeweiligen Modells beurteilen was funktioniert bzw. ob es irgendwo Probleme gibt.

nachdem ich ein paar Komponenten bei mir getauscht habe, ist nun ein AVR-X3400H in meinem Besitz.
dieser ist ja nicht in der Liste geführt, hab mal den 6300H genommen aber bringt leider keine Werte.

Wäre schön wenn der X3400H irgendwann in der Liste wäre, Danke schon mal im Voraus.

Abend Fonzo!

Ich habe ja den Marantz SR5011…und bis ich gestern das Update gemacht habe (davor hatte ich laaange keines gemacht –
war noch „deine Modul-Version“), war die Input Source mit den von mir eingegebenen Namen versorgt (z.B. Sonos, PS4, …).
Du erinnerst dich, wir hatten da ziemlich am Anfang geschaut, dass die Namen der Inputs eingelesen werden und die vom User eingegeben Namen angezeigt werden, statt den jetzt angezeigten Namen (Phono, Tuner, BD, …).

Absicht? Bug? …?

Viele Grüße,
Chris

Da muss ich mal mit Bumaas Rücksprache halten, er weis am besten wo was geändert wurde. Wenn es aber schon mal funktioniert hat sollte es ja möglich sein das wieder so anzupassen. Absicht eher nicht wenn dann ist da was durchgerutscht, daher danke fürs Feedback. Sonst geht alles?

Sonst ist mir erstmal nichts aufgefallen… Umschalten der Inputs hat funktioniert, Lautstärke, Mute, Power, …alles ok :slight_smile:

Grüße,
Chris

Hallo Chris,

da scheint wohl bei dir etwas noch nicht korrekt zu laufen. Lege mal bitte eine Datei mit Namen ‚denondebug.txt‘ im Logverzeichnis von IPS an. Dann werden erweiterte Logeinträge ins IPS Logfile geschrieben. Die Einträge, die beim ‚Übernehmen‘ der Instanzparameter deines SR5011 geschrieben werden würden mich interessieren.

Da müsste sowas auftauchen wie

30.10.2017 19:16:40 | 00000 | CUSTOM  | DENONIPSProfiles::GetAssociationsOfInputSourcesAccordingToHTTPInfo | filename: http://xxx.xxx.xxx.xxx/goform/formMainZone_MainZoneXml.xml?_=&ZoneName=ZONE1
30.10.2017 19:16:40 | 00000 | CUSTOM  | DENONIPSProfiles::SetInputSources | Associations: [[0,"TUNER","TUNER"],[1,"SONOS","CD"],[2,"NET\/USB","NET\/USB"],[3,"TV","TV"],[4,"HORIZON","SAT\/CBL"],[5,"APPLETV","DVR"],[6,"V.AUX","V.AUX"],[7,"Favoriten","FAVORITES"],[8,"Internet Radio","IRADIO"],[9,"Server","SERVER"],[10,"Napster","NAPSTER"],[11,"LastFM","LASTFM"],[12,"Flickr","FLICKR"]]

Gruß

Burkhard

Abend!

Ich habe die Datei angelegt, im Modul auf „Status initialisieren“ geklickt und dann die gewünschten Zeilen im Log gefunden :slight_smile:

19:32:11 | 00000 | CUSTOM  | DenonSplitterTelnet::GetInputVarMapping | InputsMapping: {"AVRType":"Marantz-SR5011","Inputs":[{"Source":"CBL\/SAT","RenameSource":"VUultimo4K"},{"Source":"Blu-ray","RenameSource":"OPPO"},{"Source":"GAME","RenameSource":"PS4"},{"Source":"AUX1","RenameSource":"AUX1"},{"Source":"AUX2","RenameSource":"AUX2"},{"Source":"MediaPlayer","RenameSource":"NvidiaShield"},{"Source":"iPod\/USB","RenameSource":"iPod\/USB"},{"Source":"CD","RenameSource":"Sonos"},{"Source":"NETWORK","RenameSource":"OnlineMusic"},{"Source":"TVAUDIO","RenameSource":"TVAudio"},{"Source":"Bluetooth","RenameSource":"Bluetooth"},{"Source":"SOURCE","RenameSource":"SOURCE"}],"Writeprotected":false}
19:32:11 | 00000 | CUSTOM  | DENONIPSProfiles::__construct | AVRType: Marantz-SR5011, InputMapping: {"SAT\/CBL":0,"BD":1,"GAME":2,"AUX1":3,"AUX2":4,"MPLAY":5,"USB\/IPOD":6,"CD":7,"NET":8,"TV":9,"BT":10,"SOURCE":11}
19:32:11 | 00000 | CUSTOM  | DENONIPSProfiles::__construct | Association: [[0,"","SAT\/CBL"],[1,"","BD"],[2,"","GAME"],[3,"","AUX1"],[4,"","AUX2"],[5,"","MPLAY"],[6,"","USB\/IPOD"],[7,"","CD"],[8,"","NET"],[9,"","TV"],[10,"","BT"],[11,"","SOURCE"],[12,"Source","SOURCE"]]

Interessanterweise sind dort auch die korrekten Namen von meinen Inputs zu lesen :confused:

Beim Variablenprofil „…-SR5011.Zone2InputSource“ stehen die richtigen (meine) Input-Namen drin. Beim Profil „…-SR5011.InputSource“ die falschen/originalen Input-Namen.

Danke und Grüße,
Chris

PS: Ich darf noch anmerken > die Methode mit dem Log finde ich ein wenig umständlich. Wäre es hier nicht einfacher einen Haken „Debug“ in die form.json zu bauen und dann einfach erweiterte Debug-Ausgaben mit „$this->SendDebug“ ins Debug der Modul-Instanz zu „senden“? So mache mache ich das bei mir.

EDIT: —ERLEDIGT—
Wo ich grad das mit „Übernehmen“ lese…habe nochmal was geändert in der Modul-Instanz, dann auf „Übernehmen“ gedrückt und schwups…da waren meine Input-Namen korrekt da :slight_smile: Dann hat da nur beim Update was nicht geklappt und sich dann beim Klick auf „Übernehmen“ selbst "repariert :slight_smile: Hat sich also erledigt. Danke!

Hallo Burkhard,

für die neuen Modelle, so wie mein AVR-X6300H, hattest Du doch die Option zum Auslesen der Bezeichnungen der Eingänge deaktiviert, da hier die Web-API nicht mehr so wie früher zu Verfügung steht - evtl. hängt’s damit zusammen.

Habe übrigens vorhin vom Beta auf den Master-Zweig gewechselt und die Instanz komplett neu eingerichtet - funktioniert bei mir weiterhin problemlos - weitere Tests folgen in den nächsten Tagen - Urlaub :slight_smile:

Viele Grüße,
Martin

Die Web-API steht nur für die neuen „H“-eos Modelle nicht mehr zur Verfügung. Der SR5011 gehört nicht dazu :slight_smile:

Das Problem habe ich auch schon einmal beobachtet. Wenn der Receiver nicht antwortet, dann werden die Standardnamen übernommen. Vielleicht lag es daran.

Auch eine Möglichkeit, aber dann hat man die Ausgaben getrennt in den jeweiligen Instanzen. So habe ich im Supportfall alles zusammen. Zudem kann auch getraced werden, wenn schon beim Anlegen der Instanz etwas schiefläuft.:slight_smile:

Gruß

Burkhard

Da hast du natürlich recht :slight_smile: Wieder was gelernt :slight_smile:

Grüße,
Chris

Hallo, ich will mir einen neuen AV-Receiver kaufen. Für mich perfekt wäre der Denon X2400H. Leider finde ich ihn nicht in der Modulliste. Werden trotzdem ein paar Funktionen unterstützt?
Ich finde das Modul super und würde es gerne nutzen. Davon mache ich meine Kaufentscheidung abhängig.

Schöne Grüße

Chris

Hallo Chris,

frag mal bitte beim Denon Support nach der ‚Denon AVR control protocol‘-Beschreibung für den 2400H. Wenn ich die habe ist der AVR sicherlich schnell eingebaut.

Er wird sich wahrscheinlich nicht sehr vom 4300H unterscheiden.

Gruß

Burkhard

Neu scheint zu sein das amerikanische Hausautomationssysteme jetzt damit werben das das Ding einfach per SSDP alles mitteilt und dann wohl über UPNP gesteuert werden kann, eine IP Steuerung ist aber wohl auch immer noch möglich gefunden habe ich dazu jetzt aber erst mal nichts. Dann kann man nur hoffen das Denon für die Käufer eines solchen Geräts auch die Steuerbefehle rausrückt, wenn sie damit schon Werbung machen dass sich das Ding auch per 3rd party control devices steuerbar ist.

Ich hab’s probiert und gleich bekommen. Werde den X2400H somit in den nächsten Tagen einbauen.

Gruß

Burkhard

Wow, das ging schnell! Super! Vielen Dank! Verstärker ist schon bestellt :smiley:
Ich schulde Euch ein Bier :wink:

LG Chris