HTTP interface support

I’ve recently started messing around with this plugin, and ran into the same issue others have reported: from time to time, the plugin will lose connection, requiring a reset of the amp. This seems to happen when Vera restarts…

Anyway, the HTTP interface that some Denon amps offer seems to be more reliable and offers more or less the same functionality. Are there any plans to offer the HTTP interface as an option in the plugin?

[quote=“intveltr, post:1, topic:190051”]I’ve recently started messing around with this plugin, and ran into the same issue others have reported: from time to time, the plugin will lose connection, requiring a reset of the amp. This seems to happen when Vera restarts…

Anyway, the HTTP interface that some Denon amps offer seems to be more reliable and offers more or less the same functionality. Are there any plans to offer the HTTP interface as an option in the plugin?[/quote]

Wish I could, but I own a 3808 which does not support the newer HTTP interface. From a automation point of view I wouldn’t recommend a Denon if you were going to use the Ethernet port for connectivity.

I am going to stop supporting this plugin because people are just having to many issues and I can’t really help them.

From a automation point of view I wouldn’t recommend a Denon if you were going to use the Ethernet port for connectivity.
That’s what my home automation partner told me as well, a few days I bought one on sale.

If I find a little time, I might have a stab at adding HTML support myself, at least for the basic stuff.

@intveltr
If you do, I suggest you start a new plugin. I think it would be a lot cleaner and easier.

@zoot1612 and @ intveltr re: HTTP control of Denon:

I had similar connections problems with a Yamaha AVR. The Yamaha original plugin used a socket connection, which just stopped working every now and then. Came to the conclusion it was a Vera problem but I can’t be definite about that.

Regardless I wrote a plugin that uses HTTP for control and now have no problems. The plugin doesn’t have a fancy control panel in the UI but allows control of most functions through actions called by scenes. See actions available here:

http://forum.micasaverde.com/index.php?action=dlattach;topic=23079.0;attach=28136

I got the Yamaha code and rehashed it to suit a Denon. Please note this just a mash up and I don’t have a Denon. However it may at least work the On/Off, Mute and Vol Up/Dwn plus input selection? It could be a good starting point for an Denon HTTP control?

Create the plugin and assign the Denon IP address and do all the required restarts.

It would be helpful if someone could post the Denon responses to the various URL’s, listed here:

https://translate.google.com.au/translate?hl=en&sl=de&u=http://blue-pc.net/2013/12/28/denon-av-reciever-ueber-http-steuern/&prev=search

as broader understanding of the functionality would be useful. Also need to know what the Denon AVR replies with, when an incorrect URL is sent to it - see commented out code in function urlRequest()

A Vera example:

http://forum.micasaverde.com/index.php/topic,24464.msg171112.html#msg171112

The attached plugin code contains Futzle’s XML parser, so that can employed as needed. The debug also lists the returned pages from the Denon, so the log file is worth watching.

In particular does any one single URL provide information that indicates how many zones there are, for the Denon of interest. The code currently tries various URLs sent to different zones to see if a response occurs and counts the successes. See getConfig() function. Parsing a single URL would be a better approach. See commented out code for Yamaha example in function parseXMLconfig()

Also need to know the min and max volume levels and the minimum volume step size for the functions setVolume() and setVolumeUpDown().

I used the function fakeDenonStatusReply() to test some of the coding. The m_Marantz_Family flag does nothing so far. Functions playControl() and selectPreset() are not implemented. They could be rehashed to serve some other purpose.

The plugin has a link to the Denon’s internal web page on the UI. But I’m not sure I have the link right. See the variable “linkToDeviceWebPage”.

Also in some cases the control URL’s may need to be escaped - untested.

Final note - code will definitely need work - it is not by any means a finished product but I can’t proceed any further without more info. Be interested to hear if any of it works.

@a-lurker
My understanding is that this only works on 2011+ models (xx12 series).

Anyway in the interest of “giving anything a go to fix this issue” I tried and failed. It seems the older versions of the AVR use asp and feedback html/javascript pages exclusively.

Here is one an excerpt from the log: -

50	01/07/16 10:19:11.100	luup_log:473: DenonRxHTTP debug: zCmdStr: MainZone <0x2deed680>
50	01/07/16 10:19:11.101	luup_log:473: DenonRxHTTP debug: zVarStr: MainZone <0x2deed680>
50	01/07/16 10:19:11.101	luup_log:473: DenonRxHTTP debug: zNum: 1 <0x2deed680>
50	01/07/16 10:19:11.237	luup_log:473: DenonRxHTTP debug: URL = http://192.168.0.32/goform/formMainZone_MainZoneXml.xml <0x2deed680>
50	01/07/16 10:19:11.238	luup_log:473: DenonRxHTTP debug: URL request result: b = <html><head><title>Document Error: Data follows</title></head>
		<body><h2>Access Error: Data follows</h2>
		<p>Form formMainZone_MainZoneXml.xml is not defined</p></body></html>

 <0x2deed680>
50	01/07/16 10:19:11.238	luup_log:473: DenonRxHTTP debug: URL request result: c = 200 <0x2deed680>
50	01/07/16 10:19:11.238	luup_log:473: DenonRxHTTP debug: URL request result: h = table: 0x126b888 <0x2deed680>
50	01/07/16 10:19:11.239	luup_log:473: DenonRxHTTP debug: Returned web page data is : <html><head><title>Document Error: Data follows</title></head>
		<body><h2>Access Error: Data follows</h2>
		<p>Form formMainZone_MainZoneXml.xml is not defined</p></body></html>

 <0x2deed680>
50	01/07/16 10:19:11.239	luup_log:473: DenonRxHTTP debug: 1 --> Connected <0x2deed680>
50	01/07/16 10:19:11.239	luup_log:473: DenonRxHTTP debug: Successful execution of getZoneStatus for zone 1: XML is <html><head><title>Document Error: Data follows</title></head>
		<body><h2>Access Error: Data follows</h2>
		<p>Form formMainZone_MainZoneXml.xml is not defined</p></body></html>

 <0x2deed680>
50	01/07/16 10:19:11.240	luup_log:473: DenonRxHTTP debug: zCmdStr: MainZone <0x2deed680>
50	01/07/16 10:19:11.240	luup_log:473: DenonRxHTTP debug: zVarStr: MainZone <0x2deed680>
50	01/07/16 10:19:11.240	luup_log:473: DenonRxHTTP debug: zNum: 1 <0x2deed680>
01	01/07/16 10:19:11.242	luup_log:473: DenonRxHTTP debug: Error: updateVariable was supplied with a nil value <0x2deed680>
01	01/07/16 10:19:11.242	luup_log:473: DenonRxHTTP debug: Error: updateVariable was supplied with a nil value <0x2deed680>
01	01/07/16 10:19:11.242	luup_log:473: DenonRxHTTP debug: Error: updateVariable was supplied with a nil value <0x2deed680>
My understanding is that this only works on 2011+ models (xx12 series).
Yes that's my understanding too. Even so, you seem to be getting responses, so it may be possible to make some use of them? Can you control your particular AVR with any Denon app or via a browser?

@a-lurker
Yes, pages are a mixture of html and javascript so it could be done, but I am not sure it is worth the time.

Once I am in a position to get dump from a page I will attached it here so you can get an idea of the html layout.

Attached is the index.asp and MAINZONE/r_mainzone.asp responses. A bit of a mess if you ask me lots of nested GET’s.