Skip to content

ThijsWithaar/DenonControl

Repository files navigation

License: GPL v2 Appveyor build status Cirrus build status Gitub actions Github all releases

DenonControl

A Library and UI for controlling Denon Receivers, for linux and windows:

Components

  • C++ library for parsing the protocols:
    • Telnet
    • SSDP (UPnP) protocol, for automatic discovery of receivers
    • Ipod / http protocol, for control
    • UPnp events, for updates on status changes
  • SSDP bridge, to discover Denon receivers which are on a different subnet. This also allows the official Denon Android app to find a receiver which is on a different subnet.
  • Qt-based UI for basic control and status: power, volume, equalizer.

Denon Protocols

Denon receivers have two ways on communicating. One is the legacy serial protocol which is reachable over telnet (port 23). The other is a combination of HTTP based protocols. An overview is given in the table below:

Port Protocol Path description
27 telnet serial commands/events
8080 http goform/Deviceinfo.xml Android API
8080 http goform/AppCommand.xml Android API
239.255.255.250:1900 ssdp SSDP Device discovery
60006 scdp upnp/desc/aios_device/aios_device.xml UPnP Event description
60006 http upnp/scpd/renderer_dvc/RenderingControl.xml SCDP control
(listen) http upnp/event/renderer_dvc/RenderingControl Volume change events

Although both the Android and UPnP protocols does seem to have more features, they are also a whole lot more complex with xml-wrapped-in-xml constructions. As far as I know, no documentation exists. Since most of the protocol is xml-based, using wireshark and Denon's Android app make it relatively easy to figure things out. This does mean that the parsing code in this archive is far from complete.

About

Library and UI for controlling Denon Receivers

Resources

License

Stars

Watchers

Forks

Packages

No packages published