IoBroker.denon
Denon AVR adapter for ioBroker
Install / Use
/learn @foxriver76/IoBroker.denonREADME

ioBroker.denon
===========================
Disclaimer
DENON and Marantz are trademarks of D&M Holdings Inc. The developers of this module are in no way endorsed by or affiliated with D&M Holdings Inc., or any associated subsidiaries, logos or trademarks.
Installation
You can either install the adapter via the ioBroker web interface or on your local machine via npm.
Browser-based
- Open your ioBroker web interface in a browser (eg: 192.168.30.70:8081)
- Click on Tab "Adapters"
- Type "Denon" in the Filter
- Click on the three points and then on the "+" symbol of the DENON AVR adapter

Local machine
Navigate into your iobroker folder and execute the following command:
npm i iobroker.denon
Setup
Additional to the adapter installation you have to make sure that your AVR is correctly configured.
ioBroker
- Open your ioBroker interface in a browser (eg: 192.168.1.33:8081)
- Navigate to Tab "Adapters"
- Click on the three points and then on the "+" symbol of the DENON AVR adapter

- Now you can see the adapter configuration page --> type in the ip-address of your DENON AVR or click on the search
icon to find AVRs in your network (via UPnP)

- If you also want to adjust the request/poll interval, make sure to click on the "Advanced Settings" Tab.
By decreasing the Poll Interval the adapter will decrease the time between updating the display contents.
By decreasing the request interval the time between sending commands will be decreased.
The default settings should fit well for the most users.

- Click on Save & Close
Network Setup of AV Receiver
-
Press SETUP button, then Menu appears on FL-display(and GUI)
-
Select "Network" --> "Settings"
-
Set parameters described below
DHCP: "ON" (Use this setting when DHCP server is on the local network.)
IP Address: When <DHCP> sets "Off”, please set IP address.
Subnet Mask: When <DHCP> sets "Off", please set Subnet Mask.
Gateway: Set the address of Gateway when Gateway is on the local network.
Primary DNS: Do not set this parameter.
Second DNS: Do not set this parameter.
Proxy: Set this parameter "Off".
-
Press SETUP button, then Menu appears on FL-display (and GUI)
-
Select “Network" --> Network Control/IP Control"
-
Set this parameter to "Always On".
Usage
Take note, that the AVRs can only manage a single telnet connection. If you are having an active telnet connection e. g. with the javascript adapter, the AVR will refuse the connection of this adapter. Here you can find a description of the states and how to use them.
Buttons
The adapter creates the following buttons:
Channel: zoneMain / zone2 / zone3
-
zoneMain.playPause
Play and pause music from Bluetooth, Online, USB/iPod sources.
-
zoneMain.play
Play music from Bluetooth, Online, USB/iPod sources.
-
zoneMain.pause
Pause music from Bluetooth, Online, USB/iPod sources.
-
zoneMain.skipMinus
Skip to previous title.
NOT FULLY SUPPORTED FOR HEOS AVR'S
-
zoneMain.skipPlus
Skip to next title.
NOT FULLY SUPPORTED FOR HEOS AVR'S
-
zoneMain.volumeDown / zone2.volumeDown / zone3.volumeDown
Decrease volume of Main Zone / Zone2 / Zone3.
-
zoneMain.volumeUp / zone2.volumeUp / zone3.volumeUp
Increase volume of Main Zone / Zone2 / Zone3.
-
zoneMain.equalizerBassUp / zone2.equalizerBassUp / zone3.equalizerBassUp
Button which increases bass level of the Zone.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
-
zoneMain.equalizerBassDown / zone2.equalizerBassDown / zone3.equalizerBassDown
Button which decreases bass level of the Zone.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
-
zoneMain.equalizerTrebleUp / zone2.equalizerTrebleUp / zone3.equalizerTrebleUp
Button which increases treble level of the Zone.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
-
zoneMain.equalizerTrebleDown / zone2.equalizerTrebleDown / zone3.equalizerTrebleDown
Button which decreases treble level of the Zone.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
Channel: settings
-
settings.subwooferLevelDown / settings.subwooferTwoLevelDown
Reduce subwoofer level by pressing the button.
-
settings.subwooferLevelUp / settings.subwooferTwoLevelUp
Increase subwoofer level by pressing the button.
-
settings.containmentAmountDown
Decrease Audyssey LFC amount. The button will only be created, if it is supported by your AVR.
-
settings.containmentAmountUp
Increase Audyssey LFC amount. The button will only be created, if it is supported by your AVR.
-
settings.cursorUp / settings.cursorDown / settings.cursorLeft / settings.cursorRight
Simulates the cursor buttons of your remote control
-
settings.enter
Simulates the enter button of your remote control
-
settings.return
Simulates the return/back button of your remote control
-
settings.option
Simulates the option button of your remote control
-
settings.info
Simulates the info button of your remote control
Channel: tuner
-
tuner.frequencyUp
Increases tuner frequency.
-
tuner.frequencyDown
Decreases tuner frequency.
States
Following states will be created by the adapter:
Channel: info
-
info.connection
|Data type|Permission|
|:---:|:---:| |boolean|R|Read-only boolean indicator. If your broker is connected to your DENON AVR, the state is true otherwise false.
-
info.friendlyName
|Data type|Permission|
|:---:|:---:| |string|R|Read only string. Contains the friendly name of the connected AVR.
-
info.onlinePresets
|Data type|Permission| |:---:|:---:| |string|R|
String in JSON array format, which represents the current saved favorites by its id and channel. The names of each channel are limited by 20 digits. You can save the current channel to an id by setting settings.savePreset and load one by setting settings.loadPreset to the related id.
Channel: zoneMain / zone2 / zone3
-
zoneMain.volume / zone2.volume / zone3.volume
|Data type|Permission|
|:---:|:---:| |number|R/W|Number value which represents the current Main Zone / Zone2 / Zone 3 volume of your AVR. You can also set the volume here. The volume is represented in dB too in separate states, e. g. mainVolumeDB
Range is from 0 to 98 (maybe lower due to maximumVolume), where 80 = 0 dB
Example:
setState('denon.0.zoneMain.volume', 45.5); // Sets volume of Main Zone to 45.5 -
zoneMain.maximumVolume
|Data type|Permission|
|:---:|:---:| |number|R|Read-only number which represents the maximum possible volume, where 80 = 0 dB. The volume is also set in dB in the maximumVolumeDB state.
-
zoneMain.muteIndicator / zone2.muteIndicator / zone3.muteIndicator
|Data type|Permission|
|:---:|:---:| |boolean|R/W|Boolean value, which is true if the Main Zone / Zone2 / Zone3 is muted, otherwise false. You can mute your AVR with this state.
Example:
setState('denon.0.zoneMain.muteIndicator', true); // Mutes the Main Zone of your AVR -
zoneMain.powerZone / zone2.powerZone / zone3.powerZone
|Data type|Permission|
|:---:|:---:| |boolean|R/W|Boolean value, which is true if the Zone is turned on, otherwise false. You can turn your AVR / Zone on and off with this state.
-
zoneMain.selectInput / zone2.selectInput / zone3.selectInput
|Data type|Permission|
|:---:|:---:| |string|R/W|The string value contains the current input source. You can also set the input source with the following encoding:
0: PHONO
1: CD
2: TUNER
3: DVD
4: BD
5: TV
6: SAT/CBL
7: MPLAY
8: GAME
9: NET
10: SPOTIFY
11: LASTFM
12: IRADIO
13: SERVER
14: FAVORITES
15: AUX1
16: AUX2
17: AUX3
18: AUX4
19: AUX5
20: AUX6
21: AUX7
22: BT
23: USB
Please note, that not every input source is available on every AVR model. If your AVR has additional inputs, they will be appended to the list, once they have been detected.
Example:
Related Skills
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

