This page last changed on Oct 01, 2010 by pjmm.

I am looking at controlling a Yamaha RX-V2065 using Openremote. The commands are almost identical to RX-V3900 which is well documented.

There is an Iphone application for controlling this Amp but it is very limited.

There is also a program named YARC written by Christiaan Welvaart which is open source and he has kindly supplied me with the following example commands for testing.

The commands are simply sent to port 80 (using a TCP connection). They're
http requests so I guess Host: is supposed to be the computer you're
sending from, but it is probably ignored by the receiver.
vol up:
POST /YamahaRemoteControl/ctrl
Content-Type: text/plain
Content-length: 126
<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone></YAMAHA_AV>
vol to -30.0:
POST /YamahaRemoteControl/ctrl
Content-Type: text/plain
Content-length: 158
<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Lvl><Val>-300</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Vol></Main_Zone></YAMAHA_AV>
main zone get basic status:
POST /YamahaRemoteControl/ctrl
Content-Type: text/plain
Content-length: 131
<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>

By enteringhttp:// in to the a web browser it returns UnitDesc file which is in XML.

I have also received help from Juha suggesting how to go about creating device protocols for these AMPs.

I have read this documentation but it looks way above my skill level.

There are a lot of Amps made by Yamaha which have very similar control protocols.

Is the any one with one of the amps who would be able to setup a new protocol with some basic command examples which I could then enter all the relevant commands into

Any Help would be greatly appriciated

Yamaha.jpg (image/jpeg)

Hi Pierce,
Stumbled on your post whilst looking for a way of accessing my z7 with php.
I'm not using OpenRemote but rather using iWeb to leverage the server on my HTPC to issue commands to my amp.
Here is php code that will mute the main zone when called via web server.

function send_to_host($host,$method,$path='/',$data=''){
    $method = strtoupper($method);
    $fp = fsockopen($host, 80) or die("Unable to open socket");

/* Header is 	POST /YamahaRemoteControl/ctrl HTTP/1.1
		Content-Type: text/plain
		Content-length: 152 (for this command)
		HOST: (where your amp is)
    fputs($fp, "$method $path HTTP/1.1\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp, "Content-type: text/plain\r\n");
    if ($method == 'POST') fputs($fp, "Content-length: " . strlen($data) . "\r\n");
    fputs($fp, "Connection: close\r\n\r\n");

/* Body(XML) is	<?xml version="1.0" encoding="UTF-8"?>
		<YAMAHA_AV cmd="PUT">
    if ($method == 'POST') fputs($fp, $data);

    while (!feof($fp))
		$buf .= fgets($fp,128);
    return $buf;
$command = '<?xml version="1.0" encoding="UTF-8"?>\r\n<YAMAHA_AV cmd="PUT">\r\n<Main_Zone>\r\n<Vol>\r\n<Mute>On</Mute>\r\n</Vol>\r\n</Main_Zone>\r\n</YAMAHA_AV>\r\n';
$yamip = ''; //your amp
$test = send_to_host($yamip.':80/YamahaRemoteControl/ctrl','POST','/YamahaRemoteControl/ctrl',$command);
echo $test;


ps I have previously used Applescript and socat to send commands to the receiver with success.

Posted by idoc at Oct 29, 2010 16:59

Hi Steve

many thanks for your input. I have sucesfully sent commands direct to the Amp. What I was looking for

is assistance in setting up the commands in OpenRemote.

I believe if I had the bare bones of how this should be set up it could be the framework

for controling a lot of new equipment which is controled over TCPIP


Posted by pjmm at Nov 02, 2010 20:19

Hi Pierce,

I had a quick look at the openremote info - not a lot there on the inner workings that I can see.

Sorry the above example I tried to upload seems to have been displayed incorrectly.

I would think you have to wrap your commands in php files that sit on the server to allow control over TCPIP

but it may also be possible via java on the client (ipad/iphone etc).

Maybe if you could point me to the appropriate documentation.

I am using the Apache web server on my mac HTPC and accessing it via safari on my ipad and that allows me

to fire of command to several GC100, eyetv and the Z7 fairly easily (only started last week!). I've used iweb to build the interface but it is pretty slow in rendering the pages so openremote sounds promising. Is there an ipad app yet?



Posted by idoc at Nov 03, 2010 05:41

ipad app is coming soon yeah. There is also android which will be promising for panels.

Anyway, the integration with the yamaha device is what is needed here. Pierce you may want to ask Christiaan Welvaart to get in contact with us. Integrating a protocol is usually fairly straightforward if you are a developer. What this would bring christiaan is interface and panel generation to interact with his devices. If Christiaan is interested we may be able to support you quite easiy.

Posted by marcf at Nov 03, 2010 05:59

Hi Steve,

do you see any chance sending me the full PHP script without the rendering error?
I have issues understanding it with the errors.

thank you!

Posted by jtolksdo at Mar 24, 2012 00:31

I've removed the formatting errors to display the original PHP snippet correctly.

Hopefully nothing was lost in translation.

– Juha

Posted by juha at Mar 25, 2012 09:08

Hi Juergen

If you are trying to controll the Yamaha Amp's I can sucessfully do this
in OpenRemote.
There is just one small bug where some controll codes do not come across
correctly from designer but if you edit the file all works well.

I can send you on detailes just let me know


Posted by pjmm at Mar 25, 2012 12:13

Hi Pierce,

I'm not trying to control it with Openremote, but with a HomeMatic solution. I would like to trigger a PHP site on my Server whih again calls the Yamaha Amplifier including HTTP Post commands.


Posted by jtolksdo at Mar 25, 2012 12:54

This is what the commands look like in OpenRemote

<command id="212" protocol="socket">
<property name="port" value="80" />
<property name="command" value="POST /YamahaRemoteControl/ctrl Content-Type: text/plain Content-length: 126 Host: <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone></YAMAHA_AV>" />
<property name="ipAddress" value="" />
<command id="213" protocol="socket">
<property name="port" value="80" />
<property name="command" value="POST /YamahaRemoteControl/ctrl Content-Type: text/plain Content-length: 120 Host: <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Mute>On</Mute></Vol></Main_Zone></YAMAHA_AV>" />
<property name="ipAddress" value="" />


Posted by pjmm at Mar 25, 2012 13:39

The CR/LF commands were stripped out of my last post

Please see image

Posted by pjmm at Mar 25, 2012 13:44

Hi Juha,

it looks like the declaration for $host is missing, isn't it?
Is something else missing?


Posted by jtolksdo at Mar 25, 2012 14:34

Forget about it. It works!!!

Posted by jtolksdo at Mar 25, 2012 14:37

One more question: Is there any full list of available commands, or do I have to re-engineer it?
I would like to turn on MAIN_ZONE and I would like to switch to CBL/SAT.
Any suggestions are welcome!
Thank you guys!

Posted by jtolksdo at Mar 25, 2012 14:39

Hi Juergen,
It's been a while since I looked at this.
The resources you are looking for are
RX-Z11_ETHERNET_IF_Spec_e_1.24.xls and RX-Z11_Function_Tree_e_3.00.xls.

Posted by idoc at Mar 25, 2012 15:15

Hi Jurgen

I have most of the commands in a text file if you ask Juha
to send me on your emile address I will send o the file


Posted by pjmm at Mar 25, 2012 19:41

That's great!
Juha, can you forward my e-mail address?
Alternatively you can mail to jtolksdo litte_special_char hotmail DOT com

Thank you!

Posted by jtolksdo at Mar 26, 2012 11:00

So I guess Pierce will be able to parse the secret message and send it to your hotmail account.

Posted by juha at Mar 26, 2012 13:34
Document generated by Confluence on Jun 05, 2016 09:30