===========================
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.
You can either install the adapter via the ioBroker web interface or on your local machine via npm.
- 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
Navigate into your iobroker folder and execute the following command:
npm i iobroker.denon
Additional to the adapter installation you have to make sure that your AVR is correctly configured.
- 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
-
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 sets "Off”, please set IP address.
Subnet Mask: When 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".
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.
The adapter creates the following buttons:
-
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
-
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
-
tuner.frequencyUp
Increases tuner frequency.
-
tuner.frequencyDown
Decreases tuner frequency.
Following states will be created by the adapter:
-
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.
-
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:
setState('denon.0.zoneMain.selectInput', '5'); // Selects TV as input for Main Zone
-
zoneMain.quickSelect / zone2.quickSelect / zone3.quickSelect
Data type Permission number R/W Emulates the quick select buttons of your remote, with numbers from 1 to 5 for Main Zone / Zone2 / Zone3.
-
zoneMain.sleepTimer / zone2.sleepTimer / zone3.sleepTimer
Data type Permission number R/W Number-value to read and set the sleep timer for the selected zone. The value will be updated in less than 10 seconds.
-
zoneMain.iconURL
Data type Permission string R Contains a link where you can find the cover of the channel/song which is currently played.
NOT SUPPORTED FOR HEOS AVR'S
-
zoneMain.equalizerBass / zone2.equalizerBass / zone3.equalizerBass
Data type Permission number R/W Number value which represents the bass level of the Zone. Value range is from -6 to +6 dB.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
-
zoneMain.equalizerTreble / zone2.equalizerTreble / zone3.equalizerTreble
Data type Permission number R/W Number value which represents the treble level of the Zone. Value range is from -6 to +6 dB.
Bass and treble settings can be adjusted when Dyn EQ is set to OFF and Tone Control is on
-
zoneMain.channelVolumeFrontLeft / zone2.channelVolumeFrontLeft / zone3.channelVolumeFrontLeft / ...
Data type Permission number R/W Number value which represents the current channel volume for each speaker. Each speaker has a separate state. The settings affect the current Select Input Mode. The state can be adjusted from -12 dB to +12 dB.
-
tuner.stationName
Data type Permission string R Read-only string which contains the current station name if available.
-
tuner.frequency
Data type Permission number R/W Number value which represents the current frequency. You can also set a frequency with this state. Values below 500 are on FM frequency and above 500 on AM frequency.
setState('denon.0.tuner.frequency', 106.9); // Set frequency to 106.9 MHz (FM)
-
display.displayContent
Data type Permission string R Read-only string which contains the content of your AVR display. It has nine states 0 - 9.
DISPLAY CONTENT IS NOT SUPPORTED FOR HEOS AVR'S
-
display.brightness
Data type Permission string R/W String value which represents the display brightness. The value can also set the display brightness by the following encoding:
0: Off --> turns display off
1: Dark --> turns display dark
2: Dimmed --> turns display dimmed
3: Bright --> turns display bright
Example:
setState('denon.0.display.brightness', '3'); // Sets display brightness to "Bright"
-
settings.powerSystem
Data type Permission boolean R/W Boolean value which is true, if the AVR is turned on, otherwise false. You can also turn your AVR on and off with this state.
-
settings.surroundMode
Data type Permission string R/W The string value contains the current Surround mode. You can also change the source with the following encoding:
0: STEREO
1: VIRTUAL
2: VIDEO GAME
3: MCH STEREO
4: DTS SURROUND
5: DOLBY DIGITAL
6: MOVIE
7: MUSIC
8: DIRECT
9: PURE DIRECT
10: AUTO
11: GAME
12: AURO3D
13: AURO2DSURR
14: WIDE SCREEN
15: SUPER STADIUM
16: ROCK ARENA
17: JAZZ CLUB
18: CLASSIC CONCERT
19: MONO MOVIE
20: MATRIX
Please note, that not every Surround mode is available on every AVR model.
Example:
setState('denon.0.settings.surroundMode', '3'); // Sets Multi Channel Stereo as surround mode
-
settings.lfeAmount
Data type Permission number R/W Amount of subwoofer signal additional directed to speakers in dB. Range is from 0 dB to -10 dB. Where 10 = -10 dB.
-
settings.expertCommand
Data type Permission string R/W You can send your own custom commands with this state. You can find an overview about the existing commands in the AVR-Control-Protocol.pdf
Example:
setState('denon.0.settings.expertCommand', 'ECOON'); // Turns Main Zone ECO mode on
-
settings.expertReadingPattern
Data type Permission string R/W If you want to get specific answers stored in
settings.expertReadingResult
you have to set a RegEx to this state. RegEx has to be set, so that a RegEx Constructor can use it. It is recommended to use a RegEx tester. Do not set/
at the beginning or end of the RegEx.Example:
setState('denon.0.settings.expertReadingPattern', '(MV.+)|(SSINFAISFSV.+)');
-
settings.expertReadingResult
Data type Permission string R Incoming data, which matches the RegEx of
settings.expertReadingPattern
will be set to this state. -
settings.dialogControl
Data type Permission number R/W The dialog control, which can be operated from 0 dB to 6 dB.
-
settings.dialogLevelAdjust
Data type Permission boolean R/W Turns the dialog level adjustment on, which allows to modify the dialog volume of DTS content.
-
settings.dialogLevel
Data type Permission boolean R/W If dialog level adjustment is turned on you can modify the dialog volume of DTS content between -12 dB and +12 dB.
-
settings.outputMonitor
Data type Permission string R/W Select the output monitor of your AVR. This state will only be created if your AVR supports two HDMI outputs. You can switch the state between:
0: AUTO --> Auto detection of monitor
1: 1 --> Outputs signal to monitor 1
2: 2 --> Outputs signal to monitor 2
Example:
setState('denon.0.settings.outputMonitor', '2'); // Sets monitor 2 as active monitor
-
settings.videoProcessingMode
Data type Permission string R/W Select the video processing mode of your AVR. This state will only be created if your AVR supports it. You can switch the state between:
0: AUTO
1: GAME
2: MOVIE
Example:
setState('denon.0.settings.videoProcessingMode', '2'); // Sets Video Processing Mode to "MOVIE"
-
settings.centerSpread
Data type Permission boolean R/W Boolean-value which is true if center spread is truned on, else false. You can also turn on/off center spread with this state.
-
settings.dynamicEq
Data type Permission boolean R/W Boolean value which represents the state of Dynamic EQ. You can also set Dynamic EQ on and off with this state.
-
settings.subwooferLevelState
Data type Permission boolean R/W Boolean value, if it's true, you are able to make changes on the subwoofer level.
-
settings.subwooferLevel / settings.subwooferTwoLevel
Data type Permission number R/W Number value which indicates the current subwoofer level. The value has a range from -12 to 12 (-12 dB to +12 dB). The SubwooferTwoLevel state will only be created if it is supported by your AVR.
-
settings.audysseyLfc
Data type Permission boolean R/W Boolean value, which contains and is able to control Audyssey Low Frequency Containment status (on/off). The state will only be created, if it is supported by your AVR.
-
settings.containmentAmount
Data type Permission number R/W Number value to set the Low Frequency Containment Amount. The value can be between 1 and 7. The state will only be created, if it is supported by your AVR.
-
settings.multEq
Data type Permission string R/W String value, to set the MultEQ function of your AVR with the following encoding:
0: OFF
1: AUDYSSEY
2: BYP.LR
3: FLAT
4: MANUAL
-
settings.dynamicVolume
Data type Permission string R/W String value to select the Dynamic Volume by following encoding:
0: OFF --> turns Dynamic Volume off
1: LIT --> turns Dynamic Volume to light
2: MED --> turns Dynamic Volume to medium
3: HEV --> turns Dynamic Volume to heavy
-
settings.referenceLevelOffset
Data type Permission string R/W String value to select the Reference Level Offset by the following encoding:
0: 0 dB
5: 5 dB
10: 10 dB
15: 15 dB
Example:
setState('denon.0.settings.referenceLevelOffset', '5'); // Sets Reference Level Offset to 5 dB
-
settings.pictureMode
Data type Permission string R/W String value to set the Picture Mode Direct Change. This state will only be created when your AVR supports it
You can set the following values as string:
'Off'
'Standard'
'Movie'
'Vivid'
'Stream'
'Custom'
'ISF Day'
'ISF Night'
Example:
setState('denon.0.settings.pictureMode', 'Standard'); // Set Picture Mode Direct Change to Standard
-
settings.toneControl
Data type Permission boolean R/W Boolean value, which indicates Tone Control status. You can turn it off/on with this state.
Tone Control can only be turned on when Dyn EQ is set to OFF
-
settings.setupMenu
Data type Permission boolean R/W Boolean indicator, which indicates if setup menu is currently open or closed. You can open and close it with this state.
-
settings.savePreset
Data type Permission number R/W Number value, which can be set to a value of info.onlinePresets. Then the current channel will be saved as a preset to the given number. Only numbers which are contained in info.onlinePresets can be used. The state will not get an acknowledge, no matter the command was successful or not. You can check info.onlinePresets to check if the command has worked as aspected.
-
settings.loadPreset
Data type Permission number R/W Number value, which can be set to a value of info.onlinePresets. This will load the related channel. This state will not get an acknowledge, no matter the command has been successful or not.
-
settings.speakerPreset
Data type Permission number R/W Set the speaker preset if supported by the AVR. Speaker preset can be
1
or2
.
Due to the fact that some AVRs like the DENON POA-3012CI use another logic there are some differences in the states. The states which are equal to the ones listed above are: settings.powerSystem, settings.expertCommand, display.brightness and info.connection. Additional the following states are created for each zone 2-12 (even):
-
zoneX.speakerOneVolume / zoneX.speakerTwoVolume
Data type Permission number R/W Number value, which represents the volume of the AVR's speaker. If operationMode is set to 'BRIDGED' the speakers cannot independently controlled and the control of one also controls the other ones volume.
-
zoneX.selectInputOne / zoneX.selectInputTwo
Data type Permission string R/W Key value pair, which represents the selected input of the AVR's speaker. If operationMode is set to 'BRIDGED' the speakers cannot independently controlled and the control of one also controls the other ones input.
The following values are possible:
'0': 'BUS L'
'1': 'BUS R'
'2': 'BUS M'
'3': 'AUX'
-
zoneX.operationMode
Data type Permission string R/W Key value pair, which represents the operationMode of the AVR. If operationMode is set to 'BRIDGED' the speakers cannot independently controlled and controlling speaker one also controls speaker two.
The following values are possible:
'0': 'NORMAL'
'1': 'BRIDGED'
-
zoneX.lowCutFilterSpeakerOne / zoneX.lowCutFilterSpeakerTwo
Data type Permission boolean R/W Boolean value, which indicates if the low cut filter for the speaker is enabled or disabled. In bridged mode both speakers will depend on each other.
-
zoneX.zoneTurnOnModeChange
Data type Permission string R/W Key value pair, which represents the zone turn on mode change of the zone. You can also control your AVR with this state.
The following values are possible:
'0': 'Constant'
'1': 'Trigger in'
'2': 'Audio signal'
'3': 'Off'
-
zoneX.triggerInput
Data type Permission boolean R/W Turn trigger input on or off with this boolean value.
-
zoneX.audioSignalInput
Data type Permission boolean R/W Boolean value which indicates and controls the audio signal input of your AVR.
If you are missing any functions or detected a bug, please open an issue.
The adapter is tested with an DENON AVR-X1200W and a Marantz SR5009.
- (foxriver76) updated dependencies
- (foxriver76) added tier and license information
- (foxriver76) fixed invalid object
denon.0
- (foxriver76) fixed issue on setting tuner frequency (closes #328)
- (foxriver76) fixed detection of display content if content does not contain
NULL
(closes #323)
- (foxriver76) fixed log entry when setting channel volume states (closes #321)
- (foxriver76) fixed crash case with controller v5
- (foxriver76) fix
displayContent
showing old information (closes #318)
- (foxriver76) implemented missing channel volumes for main zone (closes #307)
- (foxriver76) typescript port
- (foxriver76) fixed issues with decoding of input state
- (foxriver76) we now respect
requestInterval
on determining the AVR model too
- (foxriver76) fixed timeout beeing only applied on first reconnect (fixes #232)
- (foxriver76) fixed requesting interval
- (foxriver76) added
settings.speakerPreset
- (foxriver76) fixed missing digits in
tuner.stationName
- (foxriver76) we introduce tuner states
- (foxriver76) performance optimizations
- (foxriver76) we fixed missing conversion to db on equalizer treble state for additional zones (fixes #162)
- (foxriver76) fixes for silent reconnection - if ETIMEDOUT occurs repeatedly switch to debug, like for other errors (closes #149)
- (foxriver76) implemented dialog level adjustment for DTS content (closes #143)
- (foxriver76) new datapoints are
settings.dialogLevelAdjust
,settings.dialogLevel
,settings.dialogControl
- (foxriver76) fix missing conversion to db on equalizer states for additional zones (fixes #137)
- (foxriver76) we fixed some more types
- (foxriver76) we fixed some datapoints having wrong types or wrong state values set (fixes #130)
- (foxriver76) if an older model (e.g. AVR 3808) just sends
NSE
, we do not set displayContent state anymore (fixes #112)
- (foxriver76) don't poll whole online presets after change, it is unnecessary load
- (foxriver76) return after detecting NSH command
- (foxriver76) use release script
- (foxriver76) auto-detect selectInput of all zones
- (foxriver76) added missing rear height speaker states
- (foxriver76) revert the last added options because they are not working as intended
- (foxriver76) no longer remove digits and spaces from surroundMode response
- (foxriver76) added some missing options for surroundMode
- (foxriver76) prevent writing in destroyed socket on adapter unload
- (foxriver76) add subwoofer states for main zone
- (foxriver76) internal optimizations
- (foxriver76) added states for atmos speakers
channelVolumeSurroundDolbyRight/Left
andchannelVolumeFrontDolbyLeft/Right
- (foxriver76) fixed bug with setting channelVolume of other zones than main
- (foxriver76) added states
channelVolumeFrontHeightRight/Left
andchannelVolumeSurroundHeightLeft/Right
- (foxriver76) fixed timing issue which could lead to state creation procedure triggered more than once
- (foxriver76) better error handling
- (foxriver76) fix potential timeout issues
- (foxriver76) another fix for DENON Picool to keep connection alive when turned off
- (foxriver76) added ability to read desired data by expertReading states
- (foxriver76) fixed bug with selectInput for zone2 and 3
- (foxriver76) added new state settings.lfeAmount
- (foxriver76) fix to detect DENON Ceol
- (foxriver76) added channel volumes for zone2 + 3
- (foxriver76) other optimizations
- (foxriver76) support of DENON POA-3012CI and similar AVRs
- (foxriver76) create db volumes everytime
- (foxriver76) compact mode compatibility added
- (foxriver76) make sure states are never set before creation
- (foxriver76) minor fixes and improvements
- (foxriver76) only updating sleep timer and quick select on change
- (foxriver76) using promises wherever possible
- (foxriver76) minor improvements
- (foxriver76) fix verbose logging on network issues
- (foxriver76) as long as connection error stays the same, logging happens on debug
- (foxriver76) add missing usb to selectInput for all zones
- (foxriver76) use adapter core
- (foxriver76) info.onlinePresets converted to JSON array to work properly with widgets
- (foxriver76) added info.onlinePresets which is a JSON string containing all presets
- (foxriver76) settings.savePreset and loadPreset to save and load presets according to the info.onlinePresets
- (foxriver76) added Bluetooth as select input (BT)
- (foxriver76) formal version increment
- (foxriver76) fix that enables Marantz receiver to use the quickSelect functionality
- (foxriver76) quick select is now acknoledged
- (foxriver76) remove old quick select buttons
- (foxriver76) added possibility to control channelVolume per speaker for Main Zone
- (foxriver76) new states added to readme and documentation
- (foxriver76) fix bug where picture mode command was sent as undefined
- (foxriver76) fallback for advanced settings
- (foxriver76) fix double reconnection when AVR closes the socket
- (foxriver76) fix a problem where callback for pictureMode is called to early
- (foxriver76) pictureMode role fixed
- (foxriver76) added picture mode direct change
- (foxriver76) only create containment amount, audyssey lfc, subwoofer two level if supproted
- (foxriver76) readme updated
- (foxriver76) add state to control center spread
- (foxriver76) readme updated
- (foxriver76) addded video processing mode control
- (foxriver76) optimizations and minor fixes
- (foxriver76) minor code optimization
- (foxriver76) fixes on readme
- (foxriver76) logging undhandled commands on debug
- (foxriver76) fixed displayState non-readable chars for old AVRs
- (foxriver76) fixes on readme
- (foxriver76) capital chars in mainZone volumeUp/down names, are now lowercase
- (foxriver76) removed isPlaying state, because not working properly
- (foxriver76) update readme
- (foxriver76) fix that HEOS does not create http and display content related states
- (foxriver76) added state for setup button
- (foxriver76) added cursors and remote control buttons
- (foxriver76) readme update
- (foxriver76) Added isPlaying state for non-HEOS AVR's, thanks to bluefox
- (foxriver76) Added link to cover for non-HEOS AVR's
- (foxriver76) displayContent, isPlaying, coverURL will only be generated for non-HEOS
- (foxriver76) Updated readme
- (foxriver76) Added placeholder ip in config gui
- (foxriver76) fixed volume in db for main zone
- (bluefox & foxriver76) Names and roles were refactored
- (bluefox) Discovery added
- (foxriver76) Update Readme
- (foxriver76) Implemented separate Play & Pause button
- (bluefox & foxriver76) Internal improvements
- (foxriver76) prevent adapter from doing more than one reconnect attempt at the same time
- (foxriver76) improved stability
- (foxriver76) update readme
- (foxriver76) added possibility to handle states in dB additional
- (foxriver76) minor changes
- (foxriver76) removed unneeded files
- (foxriver76) state lists are now of type string due to better compatibility
- (foxriver76) optimized matching for state lists
- (foxriver76) some state lists can be set by the value additionaly to the key
- (foxriver76) small bug fixes on connection error handling
- (foxriver76) improvements on module size
- (foxriver76) preparations for offical repository
- (foxriver76) improved stability
- (foxriver76) improved fault tolerance on volume (e. g. for use as smart device)
- (foxriver76) adapter sepcific connection error handling
- (foxriver76) minor reconnect fix
- (foxriver76) subwoofer level is now in dB
- (foxriver76) added control of treble, bass and tone control state
- (foxriver76) readme updated
- (foxriver76) connection stability improvements
- (foxriver76) some parameter settings added
- (foxriver76) readme updated
- (foxriver76) sleep timer for every zone
- (foxriver76) admin2 compatibility
- (foxriver76) minor fixes
- (foxriver76) HEOS bug fix (timeout)
- (foxriver76) new state for custom commands (expertCommand)
- (foxriver76) enhanced readme
- (foxriver76) bug fixes for Zone3
- (foxriver76) new state for main zone power
- (foxriver76) minor other improvements
- (foxriver76) Performance optimization
- (foxriver76) Faster display update
- (foxriver76) More appropriate reconnect intervall
- (foxriver76) new readme for npm
- (foxriver76) handling up to three zones
- (foxriver76) handling display content
- (foxriver76) setting display brightness
- (foxriver76) initial release
The MIT License (MIT)
Copyright (c) 2018-2024 Moritz Heusinger moritz.heusinger@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.