Denon AVR Plugin

Continuing the discussion from Access to Raw Volume Values:

DenonAVR.plugin (11.0 KB)

Here is a Denon AVR plugin as an alternative to the built-in integration. It adds a couple of additional things:

  • Subwoofer level (saved as device attribute Bass)
  • Max Volume (used in the volume slider)
  • More detailed input switching. I put in 4 settings for each input that I am currently using:
    Common name: What the display name should be within The Home Remote
    Home Remote ID: The Home Remote device ID that should be linked to this input
    Device ID: What the Denon Receiver calls this (may be different especially if you renamed your inputs)
    Denon Protocol ID: How to access this input via the TCP commands

I chose to add this more detailed input switching because of how I use The Home Remote to manage audio throughout the house (one zone is this Denon AVR; the rest of them are on multi-zone controllers). So this was a clean way for me to keep things consistent across all zones and sources.

I fully recognize there are cleaner and more concise ways to do much of this, but this was a good learning experience for me and may help others.

I am using this with a Denon AVR-S650H but expect this will work for quite a number of Denon receivers.


I imported the plugin in a new project, and I put my denon’s Host IP, and hit ok.
then I got “DenonAVR is undefined” error.
I am testing it with Denon X2100W.
Any suggestion?

Had the same issue.
Solved it by replacing all instances of plugin.Name, with ‘DenonAVR’
Hope this helps

do you mean in the DenonAVR.plugin code?
or any plugin in the device folder?

Try the revised file.
DenonAVR_undefinedFix.plugin (11.1 KB)

@amingle It’s lines 180 & 184 in the plugin that’s triggering the “undefined” error. The code is trying to access a device object that doesn’t exist yet. When importing a plugin the “plugin.Devices” collection is empty. I added a condition to make sure the object isn’t null or undefined for those 2 pieces of code.

Yes, thanks for fixing that. I honestly got (incorrectly) accustomed to ignoring that during import. I need to make sure I implement that in all of my plugins.

DenonAVR_11-06-20.plugin (17.1 KB)

Thanks @amingle for creating this. I added a few things to cater to my hrp that others might be interested in. Additions:

Custom inputs increased to 8
Dynamic Volume Level
Cinema EQ
Dynamic EQ
5.1 (Center/FR/FL/SR/SL/Sub) Volume Level
Dialog Volume Level
Surround Type

Master volume is unchanged and still works with a slider, however, no other volume controls will. The other volume controls report the same number that Denon shows on screen and they will work with an “Up” or “Down” command.

1 Like

Hi, love the remote for the Denon.

What do I enter as Binding and Value to trigger these buttons… for example. to toggle Dynamic Volume to Light?

Binding: DenonAVR.DynamicVolumeLevel
Values: Light, Medium, Heavy, Off

Binding: DenonAVR.DynamicReferenceLevel
Values: 0, 5, 10, 15

Binding: DenonAVR.CinemaEqPower
Values: On, Off

Binding: DenonAVR.DynamicEqPower
Values: On, Off

Binding: DenonAVR.DialogVolLevel
Values: Up, Down

Binding: DenonAVR.CenterVol
Values: Up, Down

Binding: DenonAVR.FrontLeftVol
Values: Up, Down

Binding: DenonAVR.FrontRightVol
Values: Up, Down

Binding: DenonAVR.SurroundLeftVol
Values: Up, Down

Binding: DenonAVR.SurroundRightVol
Values: Up, Down

Binding: DenonAVR.SubVol
Values: Up, Down

1 Like

@amingle I’ve been using this for a while now without issue. This morning I started to get “command not implemented! InputSource”. Are you seeing the same behavior?

Hmm that’s strange. No, I have also been using it for awhile without any issue. The error is saying that the “InputSource” attribute is not dealt with in onChangeRequest in the plugin, but that’s not a new thing. Did you happen to change anything on the front end side where it would try sending InputSource to the Denon plugin?

No, but I did customize the plugin quite a bit, I’m sure I messed something up somewhere. Just weird that it’s worked fine for so long. I just removed the custom input names and it’s working now.

Yeah that is strange. If you want me to take a look at anything in particular, let me know.

I would like to add some more functions to this plugin (DTS, Atmos). Once I edit the existing plugin file shared above, what’s the best way to insert the updated plugin into Designer?

Hey Greg, your remote looks awesome sir!
That’s the level of customization I’d like to achieve.

I uploaded your plugin but did not see any of the AVR options you added. The page is blank.
Am I missing something here? Thanksdenon blank

@drift_645 Many ways to skin a cat - personally, I copy all text from the text editor where I made the changes, open the plugin in HR, select all text, delete, then paste what I copied from the text editor. Then, depending on the changes you made, you might need to re-sync (right click the device and choose “Synchronize Devices”).

@Nexx its a custom designed page in the attached project called denonremote.xaml
denon_greg_custom.hrp (110.0 KB)

Thanks for the tip! Looking to add some sound modes, such as DTS, Atmos etc…

Wish me luck! :slight_smile:

Another option which may work for you is to right click the plugin file within HR, then open it in Explorer. You can then edit it in a text editor and save it. The one caveat with this is that you need to make sure you save the HRP file as well - just because you saved changes to the .plugin file does not mean it wrote to the HRP file.

Can anyone assist with getting button Zone 2 on the Denon remote working thru The Home Remote? We have 2 TV’s and I’m trying to get the second TV working thru Zone 2, to mirror Zone 1.

Thanks in advance!