diff --git a/HELP.md b/HELP.md
index d935958..576f75c 100644
--- a/HELP.md
+++ b/HELP.md
@@ -87,6 +87,12 @@ CLASSES
| disable_tone_control(self)
| Disable tone control to change settings like bass or treble.
|
+ | dynamic_eq_off(self)
+ | Turn DynamicEQ off.
+ |
+ | dynamic_eq_on(self)
+ | Turn DynamicEQ on.
+ |
| enable_tone_control(self)
| Enable tone control to change settings like bass or treble.
|
@@ -173,6 +179,9 @@ CLASSES
| Volume is send in a format like -50.0.
| Minimum is -80.0, maximum at 18.0
|
+ | toggle_dynamic_eq(self)
+ | Toggle DynamicEQ.
+ |
| toggle_play_pause(self)
| Toggle play pause media player.
|
@@ -205,6 +214,12 @@ CLASSES
| bass_level
| Return level of bass.
|
+ | dynamic_eq
+ | Return value of Dynamic EQ.
+ |
+ | dynamic_volume_setting_list
+ | Return a list of available Dynamic Volume settings.
+ |
| frequency
| Return frequency of current radio station as string.
|
@@ -223,6 +238,9 @@ CLASSES
| model_name
| Return the model name of the device as string.
|
+ | multi_eq_setting_list
+ | Return a list of available MultiEQ settings.
+ |
| muted
| Boolean if volume is currently muted.
|
@@ -254,6 +272,9 @@ CLASSES
| receiver_type
| Return the receiver's type.
|
+ | reference_level_offset_setting_list
+ | Return a list of available reference level offset settings.
+ |
| serial_number
| Return the serial number of the device as string.
|
@@ -294,12 +315,6 @@ CLASSES
| treble_level
| Return level of treble.
|
- | volume
- | Return volume of Denon AVR as float.
- |
- | Volume is send in a format like -50.0.
- | Minimum is -80.0, maximum at 18.0
- |
| zone
| Return Zone of this instance.
|
@@ -315,11 +330,26 @@ CLASSES
| __weakref__
| list of weak references to the object (if defined)
|
+ | dynamic_volume
+ | Return value of Dynamic Volume.
+ |
| input_func
| Return the current input source as string.
|
+ | multi_eq
+ | Return value of MultiEQ.
+ |
+ | reference_level_offset
+ | Return value of Reference Level Offset.
+ |
| sound_mode
| Return the matched current sound mode as a string.
+ |
+ | volume
+ | Return volume of Denon AVR as float.
+ |
+ | Volume is send in a format like -50.0.
+ | Minimum is -80.0, maximum at 18.0
class DenonAVRZones(DenonAVR)
| DenonAVRZones(parent_avr, zone, name)
@@ -390,6 +420,12 @@ CLASSES
| disable_tone_control(self)
| Disable tone control to change settings like bass or treble.
|
+ | dynamic_eq_off(self)
+ | Turn DynamicEQ off.
+ |
+ | dynamic_eq_on(self)
+ | Turn DynamicEQ on.
+ |
| enable_tone_control(self)
| Enable tone control to change settings like bass or treble.
|
@@ -469,6 +505,9 @@ CLASSES
| Volume is send in a format like -50.0.
| Minimum is -80.0, maximum at 18.0
|
+ | toggle_dynamic_eq(self)
+ | Toggle DynamicEQ.
+ |
| toggle_play_pause(self)
| Toggle play pause media player.
|
@@ -501,6 +540,12 @@ CLASSES
| bass_level
| Return level of bass.
|
+ | dynamic_eq
+ | Return value of Dynamic EQ.
+ |
+ | dynamic_volume_setting_list
+ | Return a list of available Dynamic Volume settings.
+ |
| frequency
| Return frequency of current radio station as string.
|
@@ -519,6 +564,9 @@ CLASSES
| model_name
| Return the model name of the device as string.
|
+ | multi_eq_setting_list
+ | Return a list of available MultiEQ settings.
+ |
| muted
| Boolean if volume is currently muted.
|
@@ -550,6 +598,9 @@ CLASSES
| receiver_type
| Return the receiver's type.
|
+ | reference_level_offset_setting_list
+ | Return a list of available reference level offset settings.
+ |
| serial_number
| Return the serial number of the device as string.
|
@@ -578,12 +629,6 @@ CLASSES
| treble_level
| Return level of treble.
|
- | volume
- | Return volume of Denon AVR as float.
- |
- | Volume is send in a format like -50.0.
- | Minimum is -80.0, maximum at 18.0
- |
| zone
| Return Zone of this instance.
|
@@ -599,8 +644,23 @@ CLASSES
| __weakref__
| list of weak references to the object (if defined)
|
+ | dynamic_volume
+ | Return value of Dynamic Volume.
+ |
| input_func
| Return the current input source as string.
+ |
+ | multi_eq
+ | Return value of MultiEQ.
+ |
+ | reference_level_offset
+ | Return value of Reference Level Offset.
+ |
+ | volume
+ | Return volume of Denon AVR as float.
+ |
+ | Volume is send in a format like -50.0.
+ | Minimum is -80.0, maximum at 18.0
====================================================================================
@@ -638,4 +698,49 @@ FUNCTIONS
Send SSDP broadcast messages to a single IP.
ssdp_request(ssdp_st, ssdp_mx=2)
- Return request bytes for given st and mx.
\ No newline at end of file
+ Return request bytes for given st and mx.
+
+====================================================================================
+
+Help on module denonavr.audyssey in denonavr:
+
+NAME
+ denonavr.audyssey - Audyssey Settings.
+
+CLASSES
+ builtins.object
+ Audyssey
+
+ class Audyssey(builtins.object)
+ | Audyssey(receiver)
+ |
+ | Audyssey Settings.
+ |
+ | Methods defined here:
+ |
+ | __init__(self, receiver)
+ | Initialize Audyssey Settings of DenonAVR.
+ |
+ | :param receiver: DenonAVR Receiver
+ | :type receiver: DenonAVR
+ |
+ | dynamiceq_off(self)
+ | Turn DynamicEQ off.
+ |
+ | dynamiceq_on(self)
+ | Turn DynamicEQ on.
+ |
+ | send_command(self, xml_tree)
+ | Send commands.
+ |
+ | set_dynamicvol(self, setting)
+ | Set Dynamic Volume.
+ |
+ | set_mutlieq(self, setting)
+ | Set MultiEQ mode.
+ |
+ | set_reflevoffset(self, setting)
+ | Set Reference Level Offset.
+ |
+ | update(self)
+ | Update settings.
diff --git a/denonavr/__init__.py b/denonavr/__init__.py
index e4610d8..ee6e771 100644
--- a/denonavr/__init__.py
+++ b/denonavr/__init__.py
@@ -17,7 +17,7 @@
logging.getLogger(__name__).addHandler(logging.NullHandler())
__title__ = "denonavr"
-__version__ = "0.9.6.dev1"
+__version__ = "0.9.6"
def discover():
diff --git a/denonavr/audyssey.py b/denonavr/audyssey.py
index cbbb8eb..e9e6218 100644
--- a/denonavr/audyssey.py
+++ b/denonavr/audyssey.py
@@ -1,4 +1,12 @@
-"""Audyssey Settings."""
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+This module implements the Audyssey settings of Denon AVR receivers.
+
+:copyright: (c) 2016 by Oliver Goetz.
+:license: MIT, see LICENSE for more details.
+"""
+
import logging
from io import BytesIO
import xml.etree.ElementTree as ET
diff --git a/denonavr/denonavr.py b/denonavr/denonavr.py
index 2de69a3..026b10d 100644
--- a/denonavr/denonavr.py
+++ b/denonavr/denonavr.py
@@ -547,16 +547,12 @@ def _update_avr(self):
This method is for pre 2016 AVR(-X) devices
"""
# Use ThreadPoolExecutor to call all URLs of this method in parallel
- executor = ThreadPoolExecutor(max_workers=3)
+ executor = ThreadPoolExecutor(max_workers=2)
status_status = executor.submit(self.get_status_xml, self._urls.status)
status_mainzone = executor.submit(
self.get_status_xml, self._urls.mainzone)
- # Update Audyssey
- if self._receiver_type == AVR_X.type:
- executor.submit(self._audyssey.update())
-
# Set all tags to be evaluated
relevant_tags = {"Power": None, "InputFuncSelect": None, "Mute": None,
"MasterVolume": None}
@@ -697,11 +693,12 @@ def _update_avr_2016(self, compatibiliy_check=False):
_LOGGER.error("No Source found for zone %s", self.zone)
success = False
else:
- # AirPlay is not always listed in available sources
- if (inputfunc == "AirPlay"
- and "AirPlay" not in self._input_func_list):
- self._input_func_list["AirPlay"] = "AirPlay"
- self._input_func_list_rev["AirPlay"] = "AirPlay"
+ # AirPlay and Internet Radio are not always listed in
+ # available sources
+ if inputfunc in ["AirPlay", "Internet Radio"]:
+ if inputfunc not in self._input_func_list:
+ self._input_func_list[inputfunc] = inputfunc
+ self._input_func_list_rev[inputfunc] = inputfunc
try:
self._input_func = self._input_func_list_rev[inputfunc]
except KeyError:
@@ -1429,11 +1426,12 @@ def _get_status_from_xml_tags(self, root, relevant_tags):
elif child.tag == "InputFuncSelect":
inputfunc = child[0].text
if inputfunc is not None:
- # AirPlay is not always listed in available sources
- if (inputfunc == "AirPlay"
- and "AirPlay" not in self._input_func_list):
- self._input_func_list["AirPlay"] = "AirPlay"
- self._input_func_list_rev["AirPlay"] = "AirPlay"
+ # AirPlay and Internet Radio are not always listed in
+ # available sources
+ if inputfunc in ["AirPlay", "Internet Radio"]:
+ if inputfunc not in self._input_func_list:
+ self._input_func_list[inputfunc] = inputfunc
+ self._input_func_list_rev[inputfunc] = inputfunc
try:
self._input_func = self._input_func_list_rev[inputfunc]
except KeyError:
diff --git a/setup.py b/setup.py
index ebd06a7..8f7be9d 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@
from setuptools import find_packages, setup
setup(name='denonavr',
- version='0.9.6.dev1',
+ version='0.9.6',
description='Automation Library for Denon AVR receivers',
long_description='Automation Library for Denon AVR receivers',
url='https://github.com/scarface-4711/denonavr',
diff --git a/tests/test_denonavr.py b/tests/test_denonavr.py
index 806ed84..614c8c2 100644
--- a/tests/test_denonavr.py
+++ b/tests/test_denonavr.py
@@ -27,7 +27,8 @@
"SR5008": NO_ZONES, "M-CR603": NO_ZONES,
"NR1604": ZONE2_ZONE3, "AVR-4810": NO_ZONES,
"AVR-3312": NO_ZONES, "NR1609": ZONE2,
- "AVC-8500H": ZONE2_ZONE3, "AVR-X4300H": ZONE2_ZONE3}
+ "AVC-8500H": ZONE2_ZONE3, "AVR-X4300H": ZONE2_ZONE3,
+ "AVR-X1100W": ZONE2}
APPCOMMAND_URL = "/goform/AppCommand.xml"
STATUS_URL = "/goform/formMainZone_MainZoneXmlStatus.xml"
@@ -133,6 +134,10 @@ def test_input_func_switch(self, mock):
self.denon = denonavr.DenonAVR(FAKE_IP, add_zones=zones)
# Switch through all functions and check if successful
for name, zone in self.denon.zones.items():
+ print("Receiver: {}, Zone: {}".format(receiver, name))
+ self.assertThat(
+ len(zone.input_func_list),
+ testtools.matchers.GreaterThan(0))
for input_func in zone.input_func_list:
self.denon.zones[name].set_input_func(input_func)
self.assertEqual(
diff --git a/tests/xml/AVR-X1100W-AppCommand.xml b/tests/xml/AVR-X1100W-AppCommand.xml
new file mode 100644
index 0000000..635f184
--- /dev/null
+++ b/tests/xml/AVR-X1100W-AppCommand.xml
@@ -0,0 +1,142 @@
+
+
+
+ON
+OFF
+
+
+
+
+
+
+
+
+
+
+
+-38.0
+ABSOLUTE
+42.0
+
+
+-40
+ABSOLUTE
+ 40
+
+
+
+off
+off
+
+
+
+
+CBL/SAT
+Kodi TV
+
+
+DVD
+DVD
+
+
+Blu-ray
+Chromecast
+
+
+GAME
+Game
+
+
+AUX
+AUX
+
+
+Media Player
+Media Player
+
+
+iPod/USB
+iPod/USB
+
+
+TUNER
+Tuner
+
+
+NETWORK
+Online Music
+
+
+TV AUDIO
+TV Audio
+
+
+Bluetooth
+Bluetooth
+
+
+SpotifyConnect
+Spotify
+
+
+
+
+
+
+CBL/SAT
+CBL/SAT
+
+
+
+DVD
+DVD
+
+
+
+Blu-ray
+Blu-ray
+
+
+
+GAME
+GAME
+
+
+
+AUX
+AUX
+
+
+
+Media Player
+Media Player
+
+
+
+iPod/USB
+iPod/USB
+
+
+
+TUNER
+TUNER
+
+
+
+NETWORK
+NETWORK
+
+
+
+TV AUDIO
+TV AUDIO
+
+
+
+Bluetooth
+Bluetooth
+
+
+
+
+
diff --git a/tests/xml/AVR-X1100W-Deviceinfo.xml b/tests/xml/AVR-X1100W-Deviceinfo.xml
new file mode 100644
index 0000000..cd1fd10
--- /dev/null
+++ b/tests/xml/AVR-X1100W-Deviceinfo.xml
@@ -0,0 +1,1527 @@
+
+
+0001
+0250
+0
+01
+02
+*AVR-X1100W
+0005CD49AC13
+00
+0
+2
+
+
+
+
+English
+German
+French
+Italian
+Spanish
+Dutch
+Swedish
+Russian
+Polish
+
+0
+
+
+0
+NetLink
+0
+
+
+0
+ClockAdjust
+0
+
+
+1
+SleepTimer
+120
+10
+
+1
+
+1
+
+
+0
+WakeupTimer
+0
+
+
+0
+PartyMode
+01
+0
+
+
+0
+BatteryMode
+0
+
+
+0
+DeviceColor
+
+0
+
+
+1
+Speaker Setting
+SpeakerAB
+
+
+Speaker A
+1
+
+
+Speaker B
+2
+
+
+Speaker A+B
+3
+
+
+
+1
+
+
+
+
+
+0
+Clock
+0
+
+
+1
+AllZonePower
+0
+
+
+1
+AllZoneMute
+0
+
+
+0
+SystemFavorites
+50
+
+0
+
+0
+
+
+
+
+
+0
+
+
+1
+
+
+1
+210
+Restorer
+Restorer
+
+
+1
+204
+Sleep Timer
+SleepTimer
+
+
+2
+110
+Cursor
+Cursor
+
+
+3
+111
+Quick Select 1
+Quick Select1
+
+
+3
+111
+Quick Select 2
+Quick Select2
+
+
+3
+111
+Quick Select 3
+Quick Select3
+
+
+3
+111
+Quick Select 4
+Quick Select4
+
+
+4
+34
+Favorites
+Favorites
+
+
+4
+26
+Internet Radio
+Internet Radio
+
+
+4
+55
+Spotify
+SpotifyConnect
+
+
+4
+25
+Media Server
+Media Server
+
+
+4
+29
+Flickr
+Flickr
+
+
+4
+4
+CBL/SAT
+CBL/SAT
+
+
+4
+58
+DVD/Blu-ray
+DVD
+
+
+4
+1
+Blu-ray
+Blu-ray
+
+
+4
+8
+Game
+GAME
+
+
+4
+10
+AUX
+AUX
+
+
+4
+46
+Media Player
+Media Player
+
+
+4
+22
+iPod/USB
+iPod/USB
+
+
+4
+19
+Tuner
+TUNER
+
+
+4
+3
+TV Audio
+TV AUDIO
+
+
+4
+59
+Bluetooth
+Bluetooth
+
+
+5
+212
+Direct
+DIRECT
+
+
+5
+212
+Stereo
+STEREO
+
+
+5
+214
+Dolby Digital
+DOLBY DIGITAL
+
+
+5
+214
+DTS Surround
+DTS SURROUND
+
+
+5
+224
+Auto
+AUTO
+
+
+5
+215
+Multi Ch Stereo
+MULTI CH STEREO
+
+
+5
+215
+Rock Arena
+ROCK ARENA
+
+
+5
+215
+Jazz Club
+JAZZ CLUB
+
+
+5
+215
+Mono Movie
+MONO MOVIE
+
+
+5
+215
+Video Game
+VIDEO GAME
+
+
+5
+215
+Matrix
+MATRIX
+
+
+5
+215
+Virtual
+VIRTUAL
+
+
+5
+220
+Movie
+MOVIE
+
+
+5
+221
+Music
+MUSIC
+
+
+5
+222
+Game
+GAME
+
+
+5
+223
+Pure
+PURE
+
+
+
+
+1
+4
+Internet Radio
+
+
+2
+4
+iPod/USB
+
+
+3
+4
+TUNER
+
+
+4
+4
+Media Server
+
+
+5
+4
+CBL/SAT
+
+
+6
+4
+Blu-ray
+
+
+7
+4
+Media Player
+
+
+8
+4
+GAME
+
+
+
+
+1
+
+
+1
+98.0
+0.5
+
+
+OFF
+OFF
+98.0
+
+
+86.0
++6.0dB
+86.0
+
+
+83.0
++3.0dB
+83.0
+
+
+80.0
+0.0dB
+80.0
+
+
+74.0
+-6.0dB
+74.0
+
+
+68.0
+-12.0dB
+68.0
+
+
+60.0
+-20.0dB
+60.0
+
+
+50.0
+-30.0dB
+50.0
+
+
+40.0
+-40.0dB
+40.0
+
+
+-6.0dB
+
+1
+
+
+
+1
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+1
+1
+
+
+
+1
+Sound Mode
+
+
+Direct/Stereo
+
+
+Standard
+
+
+Auto
+
+
+DSP Simulation
+
+
+
+
+212
+Direct/Stereo
+Direct
+
+
+212
+Direct/Stereo
+Stereo
+
+
+214
+Standard
+Dolby Digital
+
+
+214
+Standard
+DTS Surround
+
+
+224
+Auto
+Auto
+
+
+215
+DSP Simulation
+Multi Ch Stereo
+
+
+215
+DSP Simulation
+Rock Arena
+
+
+215
+DSP Simulation
+Jazz Club
+
+
+215
+DSP Simulation
+Mono Movie
+
+
+215
+DSP Simulation
+Video Game
+
+
+215
+DSP Simulation
+Matrix
+
+
+215
+DSP Simulation
+Virtual
+
+
+
+1
+
+1
+
+
+
+1
+Restorer
+Restorer
+
+
+217
+High
+MODE1
+
+
+218
+Medium
+MODE2
+
+
+219
+Low
+MODE3
+
+
+216
+OFF
+OFF
+
+
+
+1
+
+1
+
+
+0
+ToneControl
+
+
+
+
+1
+Cursor
+1
+1
+
+
+1
+4
+
+Quick Select 1
+Quick Select1
+1
+1
+
+
+Quick Select 2
+Quick Select2
+1
+2
+
+
+Quick Select 3
+Quick Select3
+1
+3
+
+
+Quick Select 4
+Quick Select4
+1
+4
+
+
+1
+
+
+
+1
+0
+TUNER
+56
+
+
+FM
+
+
+AM
+
+
+
+1
+1
+1
+1
+1
+1
+
+1
+
+
+1
+Blu-ray
+
+1
+
+1
+
+
+0
+CD
+
+0
+
+0
+
+
+0
+Dock
+
+0
+
+0
+
+
+0
+0
+
+
+
+1
+
+1
+Favorites
+34
+root/NETWORK/Favorites
+1
+100
+
+1
+1
+1
+
+1
+
+
+1
+Internet Radio
+26
+root/NETWORK/Internet Radio
+1
+60
+
+0
+0
+1
+1
+0
+0000100
+0
+
+1
+
+
+1
+SpotifyConnect
+55
+root/NETWORK/SpotifyConnect
+3
+
+
+1
+
+
+1
+Media Server
+25
+root/NETWORK/Media Server
+2
+
+1
+1
+1
+0
+1001100
+1
+
+1
+
+
+1
+Flickr
+29
+root/NETWORK/Flickr
+1
+
+0
+1
+1
+1111100
+0
+1
+
+1
+
+
+1
+iPod/USB
+22
+root/iPodUsb
+1
+
+0
+1
+1
+1111111
+1
+1
+1
+1
+
+1
+
+
+
+1
+28
+root/iPodPlayer
+1
+
+1111100
+1
+
+1
+
+
+
+
+1
+
+
+1
+
+
+1
+210
+Restorer
+Restorer
+
+
+1
+204
+Sleep Timer
+SleepTimer
+
+
+2
+110
+Cursor
+Cursor
+
+
+3
+111
+Quick Select 1
+Quick Select1
+
+
+3
+111
+Quick Select 2
+Quick Select2
+
+
+3
+111
+Quick Select 3
+Quick Select3
+
+
+3
+111
+Quick Select 4
+Quick Select4
+
+
+4
+34
+Favorites
+Favorites
+
+
+4
+26
+Internet Radio
+Internet Radio
+
+
+4
+55
+Spotify
+SpotifyConnect
+
+
+4
+25
+Media Server
+Media Server
+
+
+4
+29
+Flickr
+Flickr
+
+
+4
+4
+CBL/SAT
+CBL/SAT
+
+
+4
+58
+DVD/Blu-ray
+DVD
+
+
+4
+1
+Blu-ray
+Blu-ray
+
+
+4
+8
+Game
+GAME
+
+
+4
+10
+AUX
+AUX
+
+
+4
+46
+Media Player
+Media Player
+
+
+4
+22
+iPod/USB
+iPod/USB
+
+
+4
+19
+Tuner
+TUNER
+
+
+4
+3
+TV Audio
+TV AUDIO
+
+
+4
+59
+Bluetooth
+Bluetooth
+
+
+
+
+1
+4
+Internet Radio
+
+
+2
+4
+iPod/USB
+
+
+3
+4
+TUNER
+
+
+4
+4
+Media Server
+
+
+5
+4
+CBL/SAT
+
+
+6
+4
+Blu-ray
+
+
+7
+4
+Media Player
+
+
+8
+4
+GAME
+
+
+
+
+1
+
+
+1
+98.0
+0.5
+
+
+OFF
+OFF
+98.0
+
+
+86.0
++6.0dB
+86.0
+
+
+83.0
++3.0dB
+83.0
+
+
+80.0
+0.0dB
+80.0
+
+
+74.0
+-6.0dB
+74.0
+
+
+68.0
+-12.0dB
+68.0
+
+
+60.0
+-20.0dB
+60.0
+
+
+50.0
+-30.0dB
+50.0
+
+
+40.0
+-40.0dB
+40.0
+
+
+-6.0dB
+
+1
+
+
+
+1
+
+
+1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+1
+1
+
+
+
+0
+
+
+
+0
+Restorer
+Restorer
+
+
+217
+High
+MODE1
+
+
+218
+Medium
+MODE2
+
+
+219
+Low
+MODE3
+
+
+216
+OFF
+OFF
+
+
+
+1
+
+1
+
+
+0
+ToneControl
+
+
+
+
+1
+Cursor
+1
+1
+
+
+1
+4
+
+Quick Select 1
+Quick Select1
+1
+1
+
+
+Quick Select 2
+Quick Select2
+1
+2
+
+
+Quick Select 3
+Quick Select3
+1
+3
+
+
+Quick Select 4
+Quick Select4
+1
+4
+
+
+1
+
+
+
+1
+0
+TUNER
+56
+
+
+FM
+
+
+AM
+
+
+
+1
+1
+1
+1
+1
+1
+
+1
+
+
+1
+Blu-ray
+
+1
+
+1
+
+
+0
+CD
+
+0
+
+0
+
+
+0
+Dock
+
+0
+
+0
+
+
+0
+0
+
+
+
+1
+
+1
+Favorites
+34
+root/NETWORK/Favorites
+1
+100
+
+1
+1
+1
+
+1
+
+
+1
+Internet Radio
+26
+root/NETWORK/Internet Radio
+1
+60
+
+0
+0
+1
+1
+0
+0000100
+0
+
+1
+
+
+1
+SpotifyConnect
+55
+root/NETWORK/SpotifyConnect
+3
+
+
+1
+
+
+1
+Media Server
+25
+root/NETWORK/Media Server
+2
+
+1
+1
+1
+0
+1001100
+1
+
+1
+
+
+1
+Flickr
+29
+root/NETWORK/Flickr
+1
+
+0
+1
+1
+1111100
+0
+1
+
+1
+
+
+1
+iPod/USB
+22
+root/iPodUsb
+1
+
+0
+1
+1
+1111111
+1
+1
+1
+1
+
+1
+
+
+
+
diff --git a/tests/xml/AVR-X1100W-formMainZone_MainZoneXml.xml b/tests/xml/AVR-X1100W-formMainZone_MainZoneXml.xml
new file mode 100644
index 0000000..fc92e3b
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formMainZone_MainZoneXml.xml
@@ -0,0 +1,34 @@
+
+-
+Living Room
+ON
+ON
+MAIN ZONE
+ON
+OFF
+
+OFF
+
+
+
+
+ON
+
+
+
+
+
+
+1
+DENON_MODEL
+6
+Chromecast
+FAVORITES
+Dolby Digital +
+Absolute
+-38.0
+off
+
+FALSE
+TRUE
+
diff --git a/tests/xml/AVR-X1100W-formMainZone_MainZoneXmlStatus.xml b/tests/xml/AVR-X1100W-formMainZone_MainZoneXmlStatus.xml
new file mode 100644
index 0000000..83bc69f
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formMainZone_MainZoneXmlStatus.xml
@@ -0,0 +1,51 @@
+
+-
+MAIN ZONE
+ON
+
+CBL/SAT
+DVD
+Blu-ray
+GAME
+AUX1
+Media Player
+iPod/USB
+TUNER
+NETWORK
+TV AUDIO
+Bluetooth
+
+
+Kodi TV
+DVD
+Chromecast
+Game
+AUX
+Media Player
+iPod/USB
+Tuner
+Online Music
+TV Audio
+Bluetooth
+
+
+USE
+USE
+USE
+DEL
+DEL
+DEL
+USE
+DEL
+
+USE
+USE
+
+BD
+Absolute
+----
+Dolby Digital +
+-38.0
+off
+
+
diff --git a/tests/xml/AVR-X1100W-formNetAudio_StatusXml.xml b/tests/xml/AVR-X1100W-formNetAudio_StatusXml.xml
new file mode 100644
index 0000000..09e25a6
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formNetAudio_StatusXml.xml
@@ -0,0 +1,65 @@
+
+-
+0
+
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+0
+0
+
+0
+
+
+
+
+
+
+
+
+
+
+
+0
+0
+0
+0
+0
+
+
+1
+DENON_MODEL
+6
+Chromecast
+FAVORITES
+Dolby Digital +
+Absolute
+-38.0
+off
+
+FALSE
+TRUE
+
diff --git a/tests/xml/AVR-X1100W-formTuner_HdXml.xml b/tests/xml/AVR-X1100W-formTuner_HdXml.xml
new file mode 100644
index 0000000..06beecf
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formTuner_HdXml.xml
@@ -0,0 +1,88 @@
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.00
+EUR
+
+1
+DENON_MODEL
+6
+Chromecast
+FAVORITES
+Dolby Digital +
+Absolute
+-38.0
+off
+
+FALSE
+TRUE
+
diff --git a/tests/xml/AVR-X1100W-formTuner_TunerXml.xml b/tests/xml/AVR-X1100W-formTuner_TunerXml.xml
new file mode 100644
index 0000000..2c80017
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formTuner_TunerXml.xml
@@ -0,0 +1,79 @@
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.00
+EUR
+
+1
+DENON_MODEL
+6
+Chromecast
+FAVORITES
+Dolby Digital +
+Absolute
+-38.0
+off
+
+FALSE
+TRUE
+
diff --git a/tests/xml/AVR-X1100W-formZone2_Zone2XmlStatus.xml b/tests/xml/AVR-X1100W-formZone2_Zone2XmlStatus.xml
new file mode 100644
index 0000000..8980c9b
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formZone2_Zone2XmlStatus.xml
@@ -0,0 +1,48 @@
+
+-
+ZONE2
+OFF
+
+CBL/SAT
+DVD
+Blu-ray
+GAME
+AUX1
+Media Player
+iPod/USB
+TUNER
+NETWORK
+TV AUDIO
+Bluetooth
+
+
+Kodi TV
+DVD
+Chromecast
+Game
+AUX
+Media Player
+iPod/USB
+Tuner
+Online Music
+TV Audio
+Bluetooth
+
+
+USE
+USE
+USE
+DEL
+DEL
+DEL
+USE
+DEL
+
+USE
+USE
+
+SOURCE
+Absolute
+-40
+off
+
diff --git a/tests/xml/AVR-X1100W-formZone3_Zone3XmlStatus.xml b/tests/xml/AVR-X1100W-formZone3_Zone3XmlStatus.xml
new file mode 100644
index 0000000..6b61aac
--- /dev/null
+++ b/tests/xml/AVR-X1100W-formZone3_Zone3XmlStatus.xml
@@ -0,0 +1,48 @@
+
+-
+
+
+
+CBL/SAT
+DVD
+Blu-ray
+GAME
+AUX1
+Media Player
+iPod/USB
+TUNER
+NETWORK
+TV AUDIO
+Bluetooth
+
+
+Kodi TV
+DVD
+Chromecast
+Game
+AUX
+Media Player
+iPod/USB
+Tuner
+Online Music
+TV Audio
+Bluetooth
+
+
+USE
+USE
+USE
+DEL
+DEL
+DEL
+USE
+DEL
+
+USE
+USE
+
+
+Absolute
+ 0
+
+
diff --git a/tests/xml/AVR-X4100W-AppCommand.xml b/tests/xml/AVR-X4100W-AppCommand.xml
index 597df29..fb30e7f 100644
--- a/tests/xml/AVR-X4100W-AppCommand.xml
+++ b/tests/xml/AVR-X4100W-AppCommand.xml
@@ -1,5 +1,46 @@
+
+ ON
+ OFF
+ OFF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -23.0
+ ABSOLUTE
+ 57.0
+
+
+ -40
+ ABSOLUTE
+ 40
+
+
+ -40
+ ABSOLUTE
+ 40
+
+
+
+ off
+ off
+ off
+
+
+ DTS Neo:X Cinema
+
diff --git a/tests/xml/AVR-X4100W-formMainZone_MainZoneXml.xml b/tests/xml/AVR-X4100W-formMainZone_MainZoneXml.xml
index 9892827..33cfef4 100644
--- a/tests/xml/AVR-X4100W-formMainZone_MainZoneXml.xml
+++ b/tests/xml/AVR-X4100W-formMainZone_MainZoneXml.xml
@@ -3,7 +3,8 @@
Denon AVR-X4100W
ON
ON
-MAIN ZONE
+MAIN ZONE
+
ON
OFF
@@ -27,7 +28,7 @@
FAVORITES
DTS Neo:X Cinema
Absolute
--16.0
+-23.0
off
FALSE
diff --git a/tests/xml/AVR-X4100W-formMainZone_MainZoneXmlStatus.xml b/tests/xml/AVR-X4100W-formMainZone_MainZoneXmlStatus.xml
index 6209cd8..4b38bb4 100644
--- a/tests/xml/AVR-X4100W-formMainZone_MainZoneXmlStatus.xml
+++ b/tests/xml/AVR-X4100W-formMainZone_MainZoneXmlStatus.xml
@@ -1,6 +1,7 @@
-
-MAIN ZONE
+MAIN ZONE
+
ON
CBL/SAT
@@ -54,7 +55,7 @@
Absolute
----
DTS Neo:X Cinema
--16.0
+-23.0
off
diff --git a/tests/xml/M-CR603-formMainZone_MainZoneXml.xml b/tests/xml/M-CR603-formMainZone_MainZoneXml.xml
index 8b852f6..999735f 100644
--- a/tests/xml/M-CR603-formMainZone_MainZoneXml.xml
+++ b/tests/xml/M-CR603-formMainZone_MainZoneXml.xml
@@ -68,36 +68,36 @@
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
-DEL
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
+USE
OFF
TUNER