Last modified 9 years ago Last modified on 2015-12-17 08:00:26

Denon Receiver Control Plugin for Vera

This plugin is a interface to Denon AVR receivers using either Ethernet or serial interface.


Plugin Prerequisites

  • Vera with UI5.
  • Serial interface or Ethernet interface to AVR.

Supported Devices

Any device that supports the DENON AVR Control Protocol should create the main zone at a minimum. To get other zones added device needs to be added to the table in L_DenonReceiver1.lua . Currently the table is as follows: -

local MODEL = {
    ['300'] = {},
    ['400'] = {zones = "2"},
    ['1000'] = {zones = "2"},
    ['1713'] = {zones = "2"},
    ['1913'] = {zones = "2"},
    ['2000'] = {zones = "2"},
    ['2106'] = {zones = "2"},
    ['2112'] = {zones = "2"},
    ['2307'] = {zones = "1"},
    ['2803'] = {zones = "1"},
    ['2805'] = {zones = "2"},
    ['2807'] = {zones = "2"},
    ['3000'] = {zones = "2"},
    ['3312'] = {zones = "2,3"},
    ['3313'] = {zones = "2,3"},
    ['3803'] = {zones = "1"},
    ['3805'] = {zones = "1,2"},
    ['3806'] = {zones = "2,3"},
    ['3808'] = {zones = "2,3"},{zoneAutoName},
    ['4000'] = {zones = "2,3"},
    ['4306'] = {zones = "2,3"},
    ['4520'] = {zones = "2,3,4"},
    ['4802'] = {zones = "1"},
    ['4806'] = {zones = "2,3"},
    ['5803'] = {zones = "1,2"},
    ['5805'] = {zones = "2,3,4"}
}name = 

How To (installation from the MiOS Marketplace)

  • Install the Denon Receiver Control plugin from the MiOS Marketplace.

How To (manual installation)

It is the installation method required if you don't have access to the MiOS marketplace.

  1. Download the plugin files using the Zip Archive link at the bottom of this page: -

  1. Unzip the ZIP archive
  1. Upload the plugin files:
  • In APPS section, open Develop Apps >> Luup Files and upload the following files, check the Restart Luup after upload checkbox and click GO
    • L_DenonReceiver1.lua
    • createJSON.lua
    • D_DenonReceiver1.json for UI5 or D_DenonReceiver1_UI7.json for UI7
    • D_DenonReceiver1.xml for UI5 or D_DenonReceiver1_UI7.xml for UI7
    • I_DenonReceiver1.xml
    • S_DenonReceiver1.xml
    • J_AVRReceiver1.js
    • S_DenonRenderingControl1.xml

  • The icon in the zip archive needs to be uploaded to /www/cmh/skins/default/img/devices/device_states/ using command line in linux and Mac or winscp for windows.

example using linux: -

  scp <PATH/TO/ICON/>av_receiver_default.png root@<VERAIPAddress>:/www/cmh/skins/default/img/devices/device_states/

Create a device

If you installed the plugin from the MiOS Marketplace, one device is automatically created. If you have more than one device or you have installed plugin manually you have to add additional devices in the Vera, one for each device you want to control.

  1. Open APPS section; open Develop Apps >> Create Device.
  1. In the Upnp Device Filename input box enter D_DenonReceiver1.xml for UI5 or D_DenonReceiver1_UI7.xml for UI7.
  1. If the device is controlled via Ethernet in the Ip Address box input ip address.
  1. Click Create device.

  1. Close the popup window that informs you about the creation of a new device, then push the Reload button.
  • The luup engine will reload (three or four times) and build the static json files and point the device to the correct file.
  1. When reload is done, refresh your Web browser cache (Ctrl+F5 in most of the browsers)


  • The current services are supported in the plugin
    service: urn:micasaverde-com:serviceId:InputSelection1
    name: Input1 to Input10
    service: urn:denon-com:serviceId:Receiver1
    name: Input11 to Input20
    service: urn:denon-com:serviceId:Receiver1
    name: SetInputTarget GetInputTarget SendCommand
    service: urn:micasaverde-com:serviceId:DiscretePower1
    name: Off & On
    service: urn:upnp-org:serviceId:SwitchPower1
    name: SetTarget, GetStatus GetTarget
    service: urn:upnp-org:serviceId:RenderingControl1
    name: SetMute GetMute SetVolume GetVolume SetVolumeDB GetVolumeDB
    service: urn:micasaverde-com:serviceId:Volume1
    name: Mute Up Down
  • For any other commands you can use the following service
    name: SendCommand
    Example: -



Maximum allowed inputs is twenty and are mapped as per the following: -

urn:micasaverde-com:serviceId:InputSelection1 Input 1 through to Input 10 inclusive

urn:denon-com:serviceId:Receiver1 Input 11 through to Input 20 inclusive

This convention was chosen due to the dynamic creation of json files for each device. As each device is different there was no point in using named inputs. The first 10 inputs are mapped to micasaverde upnp service for comparability with 3rd party apps.

For changing inputs within a scene you will need to map between what is displayed on the buttons and the actual variables in the Volume\Input tab

Issues and Notes

  • When using Ethernet the Plugin randomly loses connectivity and the only way to re-establish again is by rebooting the receiver. I believe this is a shortcoming of the Telnet implementation on the AVR but am still looking at the issue.

*One possible way to avoid this issue is to use a serial port on the AVR (if available) with a RS232 to Ethernet adapter.

  • When updating to a new version of the plugin it is designed to automatically rebuild the static json files. This is to ensure that added and updated functionality is added.

Trouble Shooting

  • Try powering off receiver then back on again.
  • Check that no other clients are connected to port already.
  • Check "Network Option: Standby Mode Power Saving" is set to off.
    • Serial connection details:-
      • Communication system: A half duplex
      • Communication speed: 9600bps
      • Character length: 8 bits
      • Parity control: None
      • Start bit: 1 bit
      • Stop bit: 1 bit
    • Ethernet connection details:-
      • Communication system: A half duplex
      • speed: 10Mbps/100Mbps
      • port: TCP port 23 (telnet)
  • Under the "Advanced" tab set the "Setup" to "0" then restart the luup engine. This will rewrite the json and xml device files.