This page last changed on Jan 29, 2015 by desertdog.

I am trying to add IP control to my Denon X3000 using the unofficial port 80 HTTP protocol. This protocol is the one used by the Denon iphone app and on the device web interface. It is also available in Roomie and iRule. It allows multiple devices to control the AVR, while the TCP, port 23 protocol can only be used by one device. I have started a page on this device in my personal space and will move it to the documentation once I have it better refined.

I have tested many of the commands and most that I have tested work.

I would like to display on my iphone panel several feedbacks, which I believe is done in OpenRemote through sensors. I'd like to get status of these items: Power, Volume, Mute, Input source, Surround mode and Network function.

Below is what appears in my browser when I type

http://192.168.50.160/goform/formMainZone_MainZoneXml.xml

How do I create a custom sensor with this to extract the 6 statuses that I want? Is there a way to parse this data? I think I have to set up 6 new commands with an Xpath expression, then set up 6 sensors. Then put 6 labels on my panel and link each label to the sensors. Can someone walk me through this process?

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-X3000</value>
</FriendlyName>
<Power>
<value>ON</value>
</Power>
<ZonePower>
<value>ON</value>
</ZonePower>
<RenameZone>
<value>MAIN ZONE</value>
</RenameZone>
<TopMenuLink>
<value>ON</value>
</TopMenuLink>
<VideoSelectDisp>
<value>OFF</value>
</VideoSelectDisp>
<VideoSelect>
<value/>
</VideoSelect>
<VideoSelectOnOff>
<value>OFF</value>
</VideoSelectOnOff>
<VideoSelectLists>
<value index="ON" table="On" param=""/>
<value index="OFF" table="Off" param=""/>
<value index="SAT/CBL" table="CBL/SAT" param=""/>
<value index="DVD" table="DVD" param=""/>
<value index="BD" table="Blu-ray" param=""/>
<value index="GAME" table="GAME" param=""/>
<value index="AUX1" table="AUX" param=""/>
<value index="MPLAY" table="MEDIA PLAYER" param=""/>
<value index="TV" table="TV AUDIO " param=""/>
<value index="CD" table="CD" param=""/>
</VideoSelectLists>
<ModelId>
<value>5</value>
</ModelId>
<BrandId>
<value>DENON_MODEL</value>
</BrandId>
<SalesArea>
<value>0</value>
</SalesArea>
<InputFuncSelect>
<value>DVD</value>
</InputFuncSelect>
<NetFuncSelect>
<value>IRADIO</value>
</NetFuncSelect>
<selectSurround>
<value>STEREO</value>
</selectSurround>
<VolumeDisplay>
<value>Absolute</value>
</VolumeDisplay>
<MasterVolume>
<value>-36.0</value>
</MasterVolume>
<Mute>
<value>off</value>
</Mute>
<RemoteMaintenance>
<value>OFF</value>
</RemoteMaintenance>
<SubwooferDisplay>
<value>FALSE</value>
</SubwooferDisplay>
<Zone2VolDisp>
<value>TRUE</value>
</Zone2VolDisp>
</item>

InputStatus.png (image/png)
InputSensor.png (image/png)
WebConsole.png (image/png)
webConsole2.png (image/png)

I figured it out for input. Now I'll have to rinse, wash and repeat for the 5 other parameters.

First, create a command that grabs the data

Next, create a custom sensor. Enter the possible data strings.

Finally, test

Posted by desertdog at Jan 29, 2015 19:53
Document generated by Confluence on Jun 05, 2016 09:36