Anyone using the Denon/Marantz binding willing to help with a few tests?

Hi,

I recently upgraded my Denon receiver to a new model, which now also supports an HTTP protocol that my 17 years old receiver didn’t. :slight_smile: I have the new protocol working, but somewhere between my old and new receiver there were models supporting another variant of the protocol. Probably somewhere around 2015-2016 things changed a bit.

I would like to hear from anyone using the binding with older models (I should be covered for now with brand new models), and who would be willing to run a few tests.

Currently I’m assuming that receivers exposing the API through port 8080 have a slightly different API than those exposing the API on port 80 (same as the web UI). However, I don’t know this for sure, so I would like to verify it.

It will involve:

  • Telling me the model name.
  • Installing a JAR for testing the new version of the binding (currently 4.2, but can backport to 4.0/4.1 as well if needed).
  • Performing a few HTTP requests - it can be done simply from a browser.
1 Like

I can help with some testing.

  1. AVR-S920W (2015 or 2016 I believe)

  2. openHAB 4.2.0.M2

1 Like

I’ll help.

  • AVRX1600H
  • openhab 4.2.0.M2
1 Like

I can help, too.
1.) AVR X4500H
2.) openhab 4.2.0.M2 (development) + openhab 4.1.2 (“production”, AVR actually connected via Telnet)
btw :
1.) port 80 is redirected on my AVR to port 10443; port 8080 shows err 403.
2.) I’m using a bash script to collect video+audio codec infos from
https://IP:10443/ajax/general/get_config?type=12
Hope you’re new binding adds channels for this type of info.

1 Like

Thanks for your replies and willingness to help testing, much appreciated!

It seems you are all on 4.2 already - amazing! So here’s the JAR including the latest changes and also a current draft implementing parts of the 2016+ protocol: org.openhab.binding.denonmarantz-4.2.0-SNAPSHOT.jar - see:

First, let me briefly go back to the already merged PR improving discovery. Probably there was a reason for the logic that in my case lead to the auto-generated label “Denon AVC-X4800H (Marantz Denon AVC-X4800H)”, so I would like to check with you how your discovery results now look like.

I have a suspicion they might now in some cases be like “AVR-X4500H” without “Denon” in front of it. In that case I need to prepare a small fix. However, this test would require you to delete your Thing in order to perform a scan for new DenonMarantz Things. It’s totally fine if you’d like to skip this test.

Now the real test…

If you are currently using Telnet, please disable that and check which port works for you (80 or 8080):

Now, please perform the following requests (in Postman, curl or whatever suits you, replace ‘denon’ with your receiver IP or hostname and 8080 with 80 if needed):

  1. POST http://denon:8080/goform/AppCommand.xml with request body:
<?xml version="1.0" encoding="utf-8"?>
<tx>
 <cmd id="1">GetAllZonePowerStatus</cmd>
 <cmd id="1">GetVolumeLevel</cmd>
 <cmd id="1">GetMuteStatus</cmd>
 <cmd id="1">GetSourceStatus</cmd>
 <cmd id="1">GetSurroundModeStatus</cmd
</tx>
  1. GET http://denon:8080/goform/formMainZone_MainZoneXml.xml
  2. GET http://denon:8080/goform/formMainZone_MainZoneXmlStatus.xml
  3. GET http://denon:8080/goform/formZone2_Zone2XmlStatusLite.xml

For my receiver, only 1 and 4 works. If you are on port 80, my current assumption is that only 2, 3 and 4 will work for you.

If you are unable to verify the POST request, you can also let the binding do this for you. To enable trace logging in the console:

log:set trace org.openhab.binding.denonmarantz

and when you are done:

log:set default org.openhab.binding.denonmarantz

2016, so perfect model year for testing. :wink:

2019 model, excellent!

  1. :+1:

All in all great range of model years. If you are interested, I’m keeping a small database of models here:
https://vindvejr.dk/apps/denon-plugin/

If anyone not signed up yet (and not frightened by running the above tests) has a pre-2016 model, that would also be very interesting to test.

Thanks!

Thing was discovered as “Denon AVR-S920W”

This was my experience.

I’m no expert in curl, so with no results it is hard to tell if Test 1 is failing or I am executing the command wrong.

Hi Jacob,
1.) I’m running OH 4.2.0.M2 on DietPi 9.4.2/Docker 26.1.3. Just moved your jar-file to addons directory and got errors :

  Error while starting bundle: file:/openhab/addons/org.openhab.binding.denonmarantz-4.2.0-SNAPSHOT.jar
  org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.denonmarantz [296]
  Unresolved requirement: Import-Package: org.openhab.core.config.discovery.upnp

So I moved your jar-file to :

  bash>  ls -l /openhab/userdata/tmp/mvn/org/openhab/addons/bundles/org.openhab.binding.denonmarantz/4.2.0.M2/
  total 156
  -rw-r--r-- 1 openhab openhab 70987 Mai 18 10:07 org.openhab.binding.denonmarantz-4.2.0.M2.jar.M2
  -rw-r--r-- 1 openhab openhab    40 Mai 18 10:07 org.openhab.binding.denonmarantz-4.2.0.M2.jar.sha1.M2
  -rwxr-xr-x 1 openhab openhab 77255 Mai 18 10:00 org.openhab.binding.denonmarantz-4.2.0-SNAPSHOT.jar
  -rw-r--r-- 1 openhab openhab    41 Mai 18 11:27 org.openhab.binding.denonmarantz-4.2.0-SNAPSHOT.jar.sha1

Is this the right place for deployment in a dockered environment?
Anyway, I got a THING labeled “ki-avr (Denon AVR-X4500H)” getting online after setting to HTTP-Port 8080 (ki-avr=HOSTNAME)
2.) see below for test results:

bash> DENON='192.168.23.71' ; cat DENON.xml
  <?xml version="1.0" encoding="utf-8"?>
  <tx>
   <cmd id="1">GetAllZonePowerStatus</cmd>
   <cmd id="1">GetVolumeLevel</cmd>
   <cmd id="1">GetMuteStatus</cmd>
   <cmd id="1">GetSourceStatus</cmd>
   <cmd id="1">GetSurroundModeStatus</cmd
  </tx>
bash> curl -H 'Content-Type: application/xml' -d @DENON.xml -X POST http://${DENON}:8080/goform/AppCommand.xml
  <?xml version="1.0" encoding="utf-8" ?>
  <rx>
  </rx>
bash> ## response with no data ? Wrong curl command?
bash> curl  http://${DENON}:8080/goform/formMainZone_MainZoneXml.xml
  Error 403: Forbidden
  Access Forbidden
bash> curl  http://${DENON}:8080/goform/formMainZone_MainZoneXmlStatus.xml
  Error 403: Forbidden
  Access Forbidden
bash> curl  http://${DENON}:8080/goform/formZone2_Zone2XmlStatusLite.xml
  <?xml version="1.0" encoding="utf-8" ?>
  <item>
  <Power><value>OFF</value></Power>
  <InputFuncSelect><value>GAME</value></InputFuncSelect>
  <VolumeDisplay><value>Absolute</value></VolumeDisplay>
  <MasterVolume><value>-76</value></MasterVolume>
  <Mute><value>off</value></Mute>
  </item>
bash> curl http://${DENON}:8080/goform/formZone3_Zone3XmlStatusLite.xml
  <?xml version="1.0" encoding="utf-8" ?>
  <item>
  <Power><value>OFF</value></Power>
  <InputFuncSelect><value>NET</value></InputFuncSelect>
  <VolumeDisplay><value>Absolute</value></VolumeDisplay>
  <MasterVolume><value>--</value></MasterVolume>
  <Mute><value>off</value></Mute>
  </item>

3.) run additional query and got results like from Web-UI:

bash> wget --timeout=4 --tries=1 --no-check-certificate -O denon.out "https://192.168.23.71:10443/ajax/general/get_config?type=12" > /dev/null 2>&1
bash> xmllint --format denon.out
  <?xml version="1.0" encoding="utf-8"?>
  <Information>
    <Audio>
      <SoundMode>Dolby Atmos</SoundMode>
      <InputSignal>Dolby Atmos - TrueHD</InputSignal>
      <SampleRate>48 kHz</SampleRate>
    </Audio>
    <Video mode="monitor">
      <HDMISignalInfo>
        <Resolution>1080p:24Hz -&gt; 1080p:24Hz</Resolution>
        <HDR> ---  -&gt;  --- </HDR>
        <ColorSpace>YCbCr 4:4:4 -&gt; YCbCr 4:4:4</ColorSpace>
        <PixelDepth>10bits -&gt; 10bits</PixelDepth>
      </HDMISignalInfo>
      <HDMIMonitor1>
        <Interface>HDMI 3D</Interface>
        <HDR>HDR10/HLG</HDR>
        <Resolutions>
          <Value>480i/p</Value>
          <Value>576i/p</Value>
          <Value>1080i:50/60Hz</Value>
          <Value>720p:50/60Hz</Value>
          <Value>1080p:24/30/50/60Hz</Value>
          <Value>4K:24/25/30/50/60Hz</Value>
        </Resolutions>
      </HDMIMonitor1>
      <HDMIMonitor2>
        <Interface>---</Interface>
        <HDR>---</HDR>
        <Resolutions/>
      </HDMIMonitor2>
    </Video>
    <Zone>
      <MainZone>
        <SelectSource>CBL/SAT</SelectSource>
        <Name>KODI</Name>
        <SoundMode>Dolby Atmos</SoundMode>
        <InputMode>0</InputMode>
        <ECOMode>2</ECOMode>
        <HDMILimitationMode mode="fourk" default="6">2</HDMILimitationMode>
        <LimitMaxRes>2</LimitMaxRes>
        <LimitDeepColor>2</LimitDeepColor>
        <LimitHDCP>2</LimitHDCP>
        <LimitHDR>2</LimitHDR>
        <LimitDolbyVision>2</LimitDolbyVision>
        <LimitDTSX>2</LimitDTSX>
        <LimitAtmos>2</LimitAtmos>
        <LimitPCM2ch>2</LimitPCM2ch>
        <HDMI>1</HDMI>
        <Digital>-</Digital>
        <Analog>-</Analog>
        <Video>VIDEO1</Video>
        <VideoMode>1</VideoMode>
        <ContentType>1</ContentType>
        <VideoConversion>1</VideoConversion>
        <IpScaler group="1">2</IpScaler>
        <ResolutionAnalog>1</ResolutionAnalog>
        <ProgressiveMode>1</ProgressiveMode>
        <AspectRatio>1</AspectRatio>
      </MainZone>
      <Zone2>
        <SelectSource>Game</SelectSource>
        <Volume>4</Volume>
      </Zone2>
      <Zone3>
        <SelectSource>HEOS Music</SelectSource>
        <Volume>0</Volume>
      </Zone3>
    </Zone>
    <Firmware>
      <Version>2461-9191-1112-9010</Version>
      <DTSVersion>3.90.50.51</DTSVersion>
    </Firmware>
    <Notifications>
      <Alerts>1</Alerts>
      <Status>1</Status>
      <Message/>
    </Notifications>
  </Information>

So a lot of infos to define new channels?

Cheers,
Hans

I exported the request I prepared in Postman, can you try again with that?

curl --location 'http://denon.local:8080/goform/AppCommand.xml' \
--header 'Content-Type: application/json' \
--data '<?xml version="1.0" encoding="utf-8"?>
<tx>
 <cmd id="1">GetAllZonePowerStatus</cmd>
 <cmd id="1">GetVolumeLevel</cmd>
 <cmd id="1">GetMuteStatus</cmd>
 <cmd id="1">GetSourceStatus</cmd>
 <cmd id="1">GetSurroundModeStatus</cmd
</tx>'

I guess you would need another binding installed with this dependency, since I provided a JAR, not a KAR. You could for example try to install the HEOS binding normally, and see if that resolves the issue.

here we go :

<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<zone1>ON</zone1>
<zone2>OFF</zone2>
<zone3>OFF</zone3>
</cmd>
<cmd>
<volume>-35.0</volume>
<state>variable</state>
<limit>OFF</limit>
<disptype>ABSOLUTE</disptype>
<dispvalue>45.0</dispvalue>
</cmd>
<cmd>
<mute>off</mute>
</cmd>
<cmd>
<source>SAT/CBL</source>
</cmd>
</rx>
1 Like

Hello Jacob,

I can also help giving some test on this.
I’ve got an mr612 and a sr8015.
I’m off home this week because of famille concerns, but will give a try next week.

Laurent

1 Like

Thanks, so it appears to be completely compatible with my 2022 model. Did the new binding version also work correctly for you when using the HTTP protocol?

Thanks. Marantz SR8015 is from 2020, so I would expect it to work. I was not able to find MR612, is that the exact model name?

At this point I’m mostly interested in receivers introduced before 2018, especially between 2008 and 2015. :slight_smile: However, any testing of the provided JAR is also valuable as I could have overlooked something in my own tests.

Hi Jacob,
did some test on M2+snapshot.jar and M3(plain new docker instance):

  • both versions are working as expected with telnet.
  • M2 came up with thing name " **ki-avr (Denon AVR-X4500H)” ; M3 with “ki-avr” (ki-avr=network name)
  • when I switch thing config to http port 8080 : M2 gets to state “ONLINE” and " M3 to “UNKNOWN”
  • tested three channels ; both versions don’t work on port 8080 ; see trace below
    Cheers,
    Hans
2024-05-23 13:48:31.592 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/AppCommand.xml
2024-05-23 13:48:36.596 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing Denon status
2024-05-23 13:48:36.596 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/formMainZone_MainZoneXml.xml
2024-05-23 13:48:36.599 [TRACE] [ector.http.DenonMarantzHttpConnector] - result of getDocument for uri 'http://192.168.23.71:8080/goform/formMainZone_MainZoneXml.xml':
Error 403: Forbidden
Access Forbidden
2024-05-23 13:48:36.600 [DEBUG] [ector.http.DenonMarantzHttpConnector] - Failed to unmarshal xml document: null
2024-05-23 13:48:36.600 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/formMainZone_MainZoneXmlStatus.xml
2024-05-23 13:48:36.602 [TRACE] [ector.http.DenonMarantzHttpConnector] - result of getDocument for uri 'http://192.168.23.71:8080/goform/formMainZone_MainZoneXmlStatus.xml':
Error 403: Forbidden
Access Forbidden
2024-05-23 13:48:36.603 [DEBUG] [ector.http.DenonMarantzHttpConnector] - Failed to unmarshal xml document: null
2024-05-23 13:48:36.603 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/formZone2_Zone2XmlStatusLite.xml
2024-05-23 13:48:36.606 [TRACE] [ector.http.DenonMarantzHttpConnector] - result of getDocument for uri 'http://192.168.23.71:8080/goform/formZone2_Zone2XmlStatusLite.xml':
<?xml version="1.0" encoding="utf-8" ?>
<item>
<Power><value>OFF</value></Power>
<InputFuncSelect><value>GAME</value></InputFuncSelect>
<VolumeDisplay><value>Absolute</value></VolumeDisplay>
<MasterVolume><value>-76</value></MasterVolume>
<Mute><value>off</value></Mute>
</item>

2024-05-23 13:48:36.607 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/formZone3_Zone3XmlStatusLite.xml
2024-05-23 13:48:36.609 [TRACE] [ector.http.DenonMarantzHttpConnector] - result of getDocument for uri 'http://192.168.23.71:8080/goform/formZone3_Zone3XmlStatusLite.xml':
<?xml version="1.0" encoding="utf-8" ?>
<item>
<Power><value>OFF</value></Power>
<InputFuncSelect><value>NET</value></InputFuncSelect>
<VolumeDisplay><value>Absolute</value></VolumeDisplay>
<MasterVolume><value>--</value></MasterVolume>
<Mute><value>off</value></Mute>
</item>

2024-05-23 13:48:36.610 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:8080/goform/AppCommand.xml
....
2024-05-23 14:07:45.834 [DEBUG] [ector.http.DenonMarantzHttpConnector] - Sending command 'MV60'
2024-05-23 14:07:45.835 [TRACE] [ector.http.DenonMarantzHttpConnector] - Calling url http://192.168.23.71:80/goform/formiPhoneAppDirect.xml?MV60
2024-05-23 14:07:45.837 [WARN ] [ector.http.DenonMarantzHttpConnector] - Error Forbidden while sending command
2024-05-23 14:07:45.932 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing Denon status
2024-05-23 14:07:45.932 [TRACE] [ector.http.DenonMarantzHttpConnector] - Refreshing URL: http://192.168.23.71:80/goform/formMainZone_MainZoneXml.x

@laursen I have a Denon AVR-4520ci receiver, circa 2013 and am still running OH 4.1.1 and have not tried your updated binding, but I ran your exported POSTMAN query using port 80. For what it is worth here is the output:

Office ~ %  curl --location 'http://192.168.0.101:80/goform/AppCommand.xml' \  
--header 'Content-Type: application/json' \
--data '<?xml version="1.0" encoding="utf-8"?>
<tx>
 <cmd id="1">GetAllZonePowerStatus</cmd>
 <cmd id="1">GetVolumeLevel</cmd>
 <cmd id="1">GetMuteStatus</cmd>
 <cmd id="1">GetSourceStatus</cmd>
 <cmd id="1">GetSurroundModeStatus</cmd
</tx>'

<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<zone1>OFF</zone1>
<zone2>OFF</zone2>
<zone3>OFF</zone3>
<zone4>OFF</zone4>
</cmd>
<cmd>
<volume>-47.0</volume>
<disptype>RELATIVE</disptype>
<dispvalue>-47.0dB</dispvalue>
</cmd>
<cmd>
<mute>off</mute>
</cmd>
<cmd>
<source>NET</source>
</cmd>
</rx>

If I use my web browser and query

http://192.168.0.101/goform/formMainZone_MainZoneXml.xml?_=&ZoneName=MainZone

the output is

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<item>
<FriendlyName>
<value>DENON AVR-4520CI</value>
</FriendlyName>
<Power>
<value>STANDBY</value>
</Power>
<ZonePower>
<value>OFF</value>
</ZonePower>
<RenameZone>
<value>MAIN ZONE</value>
</RenameZone>
<TopMenuLink>
<value>OFF</value>
</TopMenuLink>
<AddSourceDisplay>
<value>FALSE</value>
</AddSourceDisplay>
<ModelId>
<value>11</value>
</ModelId>
<SalesArea>
<value>0</value>
</SalesArea>
<InputFuncSelect>
<value>NETWORK</value>
</InputFuncSelect>
<NetFuncSelect>
<value>NET</value>
</NetFuncSelect>
<selectSurround>
<value>PLII Music</value>
</selectSurround>
<VolumeDisplay>
<value>Relative</value>
</VolumeDisplay>
<MasterVolume>
<value>-47.0</value>
</MasterVolume>
<Mute>
<value>off</value>
</Mute>
<RemoteMaintenance>
<value>OFF</value>
</RemoteMaintenance>
<SubwooferDisplay>
<value>FALSE</value>
</SubwooferDisplay>
<Zone2VolDisp>
<value>TRUE</value>
</Zone2VolDisp>
<LastfmDisplay>
<value>FALSE</value>
</LastfmDisplay>
</item>

I assume the M3 tests are without the provided JAR?

That’s a bit strange, because M3 and provided JAR has the same discovery changes. I guess it could be random, depending on whether the receiver is discovered through UPnP or mDNS. I don’t know if Docker could affect result. Can you try to run the discovery process while having debug logging enabled? And perhaps also paste the properties of the created Thing, i.e. something like:

modelId Denon AVC-X4800H
vendor Denon

That’s expected, since M3 doesn’t have the HTTP protocol improvements from the provided JAR.

Can you elaborate? Which channels doesn’t work with the JAR? The URL http://192.168.23.71:8080/goform/formMainZone_MainZoneXml.xml should not be requested by the JAR so I assume that’s M3 without the JAR, thus is not expected to work.

I assume this test is for port 80, and you receiver is responding to API requests on port 8080 only, correct?

Thank you. That’s very interesting because model year on that receiver is 2012, and it seems to support both old and new requests on port 80. So far I’ve only seen AppCommand.xml POST requests work on port 8080 on 2016+ models, and formMainZone_MainZoneXml.xml GET requests work on pre-2016 models on port 80.

The changes being made in the binding should not affect you, since the port 80 protocol implementation will not be changed. But it does mean that the presence of the AppCommand.xml POST request support is not directly tied to the port number. So far it doesn’t cause any problems, it would be worse to find a receiver NOT supporting that on port 8080.

@laursen I have a AVR-X2300W from around 2016 / 2017. API is responding on port 80 (getting 404 Not found on port 8080). Here are the responses for the different requests:

http://ip:8080/goform/AppCommand.xml

<?xml version="1.0" encoding="utf-8" ?>
<rx>
    <cmd>
        <zone1>OFF</zone1>
        <zone2>OFF</zone2>
    </cmd>
    <cmd>
        <volume>-19.0</volume>
        <state>variable</state>
        <limit>OFF</limit>
        <disptype>ABSOLUTE</disptype>
        <dispvalue>61.0</dispvalue>
    </cmd>
    <cmd>
        <mute>off</mute>
    </cmd>
    <cmd>
        <source>TV</source>
    </cmd>
    <cmd>
        <surround>Dolby Surround                 </surround>
    </cmd>
</rx>

http://ip:80/goform/formMainZone_MainZoneXml.xml

<?xml version="1.0" encoding="utf-8" ?>
<item>
    <FriendlyName>
        <value>denon</value>
    </FriendlyName>
    <Power>
        <value>STANDBY</value>
    </Power>
    <ZonePower>
        <value>OFF</value>
    </ZonePower>
    <RCSourceSelect>
        <value>POS</value>
    </RCSourceSelect>
    <RenameZone>
        <value>MAIN ZONE 
</value>
    </RenameZone>
    <TopMenuLink>
        <value>ON</value>
    </TopMenuLink>
    <VideoSelectDisp>
        <value>OFF</value>
    </VideoSelectDisp>
    <VideoSelect>
        <value></value>
    </VideoSelect>
    <VideoSelectOnOff>
        <value>OFF</value>
    </VideoSelectOnOff>
    <VideoSelectLists>
        <value index='ON' >Ein</value>
        <value index='OFF' >Aus</value>
    </VideoSelectLists>
    <ECOModeDisp>
        <value>ON</value>
    </ECOModeDisp>
    <ECOMode>
        <value></value>
    </ECOMode>
    <ECOModeLists>
        <value index='ON'  table='ECO: EIN' param=''/>
        <value index='OFF'  table='ECO: AUS' param=''/>
        <value index='AUTO'  table='ECO: AUTO' param=''/>
    </ECOModeLists>
    <AddSourceDisplay>
        <value>FALSE</value>
    </AddSourceDisplay>
    <ModelId>
        <value>2</value>
    </ModelId>
    <BrandId>
        <value>DENON_MODEL</value>
    </BrandId>
    <SalesArea>
        <value>4</value>
    </SalesArea>
    <InputFuncSelect>
        <value>TV Audio</value>
    </InputFuncSelect>
    <NetFuncSelect>
        <value>FAVORITES</value>
    </NetFuncSelect>
    <selectSurround>
        <value>Dolby Surround                 </value>
    </selectSurround>
    <VolumeDisplay>
        <value>Absolute</value>
    </VolumeDisplay>
    <MasterVolume>
        <value>-19.0</value>
    </MasterVolume>
    <Mute>
        <value>off</value>
    </Mute>
    <RemoteMaintenance>
        <value></value>
    </RemoteMaintenance>
    <SubwooferDisplay>
        <value>FALSE</value>
    </SubwooferDisplay>
    <Zone2VolDisp>
        <value>TRUE</value>
    </Zone2VolDisp>
    <SleepOff>
        <value>Aus</value>
    </SleepOff>
</item>

http://ip:80/goform/formMainZone_MainZoneXmlStatus.xml

<?xml version="1.0" encoding="utf-8" ?>
<item>
    <Zone>
        <value>MAIN ZONE 
</value>
    </Zone>
    <Power>
        <value>OFF</value>
    </Power>
    <InputFuncList>
        <value>CBL/SAT</value>
        <value>DVD</value>
        <value>Blu-ray</value>
        <value>GAME</value>
        <value>AUX1</value>
        <value>AUX2</value>
        <value>Media Player</value>
        <value>iPod/USB</value>
        <value>CD</value>
        <value>TUNER</value>
        <value>NETWORK</value>
        <value>TV AUDIO</value>
        <value>Bluetooth</value>
    </InputFuncList>
    <RenameSource>
        <value>
            <value>TV          </value>
        </value>
        <value>
            <value>DVD         </value>
        </value>
        <value>
            <value>Blu-ray     </value>
        </value>
        <value>
            <value>Wii         </value>
        </value>
        <value>
            <value>Front       </value>
        </value>
        <value>
            <value>AUX2        </value>
        </value>
        <value>
            <value>Konsole     </value>
        </value>
        <value>
            <value>iPod/USB</value>
        </value>
        <value>
            <value>Streaming   </value>
        </value>
        <value>
            <value>Tuner</value>
        </value>
        <value>
            <value>Online Music</value>
        </value>
        <value>
            <value>TV Audio    </value>
        </value>
        <value>
            <value>Bluetooth</value>
        </value>
    </RenameSource>
    <SourceDelete>
        <value>DEL</value>
        <value>DEL</value>
        <value>USE</value>
        <value>USE</value>
        <value>USE</value>
        <value>DEL</value>
        <value>USE</value>
        <value>USE</value>
        <value>USE</value>
        <value>USE</value>
        <value></value>
        <value>USE</value>
        <value>USE</value>
    </SourceDelete>
    <InputFuncSelect>
        <value>TV</value>
    </InputFuncSelect>
    <VolumeDisplay>
        <value>Absolute</value>
    </VolumeDisplay>
    <RestorerMode>
        <value>----</value>
    </RestorerMode>
    <SurrMode>
        <value>Dolby Surround                 </value>
    </SurrMode>
    <MasterVolume>
        <value>-19.0</value>
    </MasterVolume>
    <Mute>
        <value>off</value>
    </Mute>
    <Model>
        <value></value>
    </Model>
</item>

http://ip:80/goform/formZone2_Zone2XmlStatusLite.xml

<?xml version="1.0" encoding="utf-8" ?>
<item>
    <Power>
        <value>OFF</value>
    </Power>
    <InputFuncSelect>
        <value>TUNER</value>
    </InputFuncSelect>
    <VolumeDisplay>
        <value>Absolute</value>
    </VolumeDisplay>
    <MasterVolume>
        <value>-26</value>
    </MasterVolume>
    <Mute>
        <value>off</value>
    </Mute>
</item>

Receiver was off when I tested the calls, if that matters…

Unfortunately, I’m still running OpenHAB 4.1.2 so I cannot immediately test the new binding version. But let me know if you need anything else.

1 Like

Based on the latest feedback, I have made some adjustments and created a version that will initially try to auto-detect the protocol details when starting the HTTP polling. This new version should work with all receivers supporting HTTP:

The 4.2 version is M3 + this PR (just updated with latest changes):

The 4.1 version is 4.1.2 + the PR above + these backported PR’s:
https://github.com/openhab/openhab-addons/pulls?q=is%3Apr+is%3Aclosed+in%3Atitle+denonmarantz+milestone%3A4.2

Not sure that I can add much, except that there were several firmware updates over the years. The last was in 2018 I believe. Perhaps Denon moved to a more unified firmware across its AVR lineup over the years(purely speculation). From 2012-2014 the AVR 4520CI was their flagship AVR model and was supported at least through 2018 with firmware updates.

Having said that, after removing Denon 4.1.1 binding, I installed your latest 4.1.3 and all seems fine. So far no difference between 4.1.1 and 4.1.3 as far as functionality.

1 Like