# YamahaReceiver Binding - Developer documentation There exist two protocols so far. An xml based one for the following receiver types: RX-A3010,RX-A2010,RX-A1010,RX-A810,RX-A710,RX-V3071,RX-V2071,RX-V1071,RX-V871,RX-V771,RX-V671,RX-S601D and a json based protocol for newer receivers. ## XML Protocol ### Overview The http port 80 on the receiver is used with http POST requests for retrieving and changing the device state. The actual url is http://HOST/YamahaRemoteControl/ctrl. An example for retrieving data: ```xml GetParam ``` where ZONE is Main_Zone, Zone_2, Zone_3 or Zone_4. An example for changing the state of the receiver: ```xml On ``` ### XML Structure System Config Model_Name System_ID Version Feature_Existence Main_Zone Zone_2 Zone_3 Zone_4 Tuner DAB HD_Radio SIRIUS iPod Bluetooth UAW Rhapsody SIRIUS_IR Pandora Napster PC NET_RADIO USB iPod_USB Spotify Name Input ... (for all HDMI_x, AV_x, USB, Spotify, etc) Power_Control Power Auto_Power_Down Party_Mode Mode ("On"/"Off") Target_Zone Volume Sound_Video Input_Output Speaker_Preout Misc Unit_Desc Version URL Service_Info Destination Freq_Step Main Zone Config Feature_Availability Name -> Zone/Scene Basic_Status Power_Control Volume Input Surround Party_Info Pure_Direct Sound_Video Power_Control Power Sleep Volume Lvl Mute Max_Lvl Init_Lvl Memory Input Input_Sel Input_Sel_Item_Info Input_Sel_Item Audio_Sel Decoder_Sel Scene ... Sound_Video ... Surround Play_Control List_Control Zone2,3 Config Basic_Status Power_Control Volume Input Scene Sound_Video Play_Control List_Control Zone4 Config Basic_Status Power_Control Input Scene Play_Control List_Control USB Config Play_Control Play_Info List_Control List_Info Tuner Config Play_Control Play_Info iPod/USB/PC/NET_RADIO Config Play_Control Play_Info List_Control List_Info ### XML Descriptor The AVR provides an XML file that describes features and commands available using this URL: ``` http:///YamahaRemoteControl/desc.xml ``` Or this URL: ``` http:///YamahaRemoteControl/UnitDesc.xml ``` As Yamaha introduces new models there may be variations between XML structure. In an attempt to improve the add-on maintenance and troubleshooting selected model's `desc.xml`' has been collected from community users: * [HTR-4069](desc_HTR-4069.xml) * [RX-A2000](desc_RX-A2000.xml) * [RX-A3070](desc_RX-A3070.xml) * [RX-S601D](desc_RX-S601D.xml) * [RX-V479](desc_RX-V479.xml) * [RX-V583](desc_RX-V583.xml) * [RX-V675](desc_RX-V675.xml) * [RX-V3900](desc_RX-V3900.xml) ### Key differences between models | Key element | Models | Desc | |-------------|----------|-------------------------------------------------------------------------------------------------------------------------------------| | Volume | RX-V3900 | Volume command uses `Vol` element, while other models have `Volume`. There is no `Feature_Existence` element on system status. | | Zone B | HTR-4069 | `Zone_2` feature does not exist, but instead there is `Zone_B` commands under `Main_Zone` with only power, mute and volume control. | | Preset | RX-V3900 | The preset values on this model are strings `A1`, `A2`, `B1`, `B2` instead of numbers. | | Party Mode | RX-A2000 | Has party mode support, although its XML descriptor does not mention it. |