--- title: Denon AVR Network Receivers description: Instructions on how to integrate Denon AVR Network Receivers into Home Assistant. ha_category: - Media Player ha_iot_class: Local Polling ha_release: 0.7.2 ha_domain: denonavr ha_codeowners: - '@scarface-4711' - '@starkillerOG' --- The `denonavr` platform allows you to control [Denon Network Receivers](https://www.denon.com/en-gb/shop/networkmusicsystem/ceolpiccolon4) from Home Assistant. It might be that your device is supported by the [Denon] platform. Known supported devices: - Denon AVR-X1000 - Denon AVR-X1200W - Denon AVR-X1300W - Denon AVR-X1500H - Denon AVR-X2000 - Denon AVR-X2100W - Denon AVR-X2200W - Denon AVR-X2300W - Denon AVR-X3400H - Denon AVR-X4100W - Denon AVR-X4300H - Denon AVR-X4500H - Denon AVR-1912 - Denon AVR-2312CI - Denon AVR-3311CI - Denon AVR-3312 - Denon AVR-4810 - Denon AVR-S710W - Denon AVR-S750H - Marantz M-CR510 - Marantz M-CR603 - Marantz M-CR610 - Marantz SR5008 - Marantz SR6007 - SR6012 - Marantz NR1504 - Marantz NR1604 - Marantz NR1506 - Marantz NR1607 - Other Denon AVR receivers (untested) - Marantz receivers (experimental) If your model is not on the list then give it a test, if everything works correctly then add it to the list by clicking on the **Edit this page on GitHub** link above.
If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry media_player: - platform: denonavr host: IP_ADDRESS name: NAME show_all_sources: true timeout: POSITIVE INTEGER zones: - zone: Zone2 / Zone3 name: NAME ``` {% configuration %} host: description: IP address of the device, e.g., 192.168.1.32. If not set, auto-discovery is used. required: false type: string name: description: Name of the device. If not set, friendlyName of the receiver is used. required: false type: string show_all_sources: description: If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed. Some receivers have a bug that marks all sources as deleted in the interface. In this case, this option could help. required: false default: false type: boolean timeout: description: Timeout in seconds for HTTP requests to the receiver. required: false default: 2 type: integer zones: description: List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports. required: false type: list keys: zone: description: Zone which should be activated. Valid options are `Zone2` and `Zone3`. required: true type: string name: description: Name of the zone. If not set the name of the main device + zone as a suffix is taken. required: false type: string {% endconfiguration %} A few notes: - An additional option for the control of Denon AVR receivers with a built-in web server is using the HTTP interface with `denonavr` platform. - The `denonavr` platform supports some additional functionalities like album covers, custom input source names and auto discovery. - Marantz receivers seem to a have quite a similar interface. Thus if you own one, give it a try. - To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings. - Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel. #### Service `denonavr.get_command` Generic commands are supported, in particular, any command supported by the telnet protocol can be sent to `/goform/formiPhoneAppDirect.xml`, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2` to switch HDMI outputs on supported receivers. IR remote codes can also be sent to this endpoint, e.g., "/goform/formiPhoneAppDirect.xml?RCKSK0410370" as a mute toggle. A comprehensive list of telnet protocol commands is [also available](http://assets.denon.com/_layouts/15/xlviewer.aspx?id=/DocumentMaster/us/AVR-X6400H_X4400H_X3400H_X2400H_X1400H_S930H_S730H_PROTOCOL_V01.xlsx) and so is a [full list of IR codes](http://assets.denon.com/DocumentMaster/UK/AVR3313_IR_CODE_V01.pdf) | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | | `entity_id` | no | Name of entity to send command to. For example `media_player.marantz`| | `command` | no | Command to send to device, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2`| [Denon]: /integrations/denon