This page last changed on Nov 21, 2013 by richsb.

Has anyone had success controlling a Yamaha RX-V475 using TCP/IP with openremote? I made a few test buttons in designer sent over port 80 but no luck so far.

the command I tried was- POST /YamahaRemoteControl/ctrl Content-Type: text/plainl Content-length: 126l Host: 10.0.0.1l l <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone></YAMAHA_AV>

Looking at this thread: http://www.openremote.org/display/forums/Controling+Yamaha+RX+V2065+over+TCPIP
and remembering talking to Pierce, I think the latest version of our HTTP command can be used which is easier as TCP.

Try the HTTP command where
URL: http://<ip of amp>/YamahyRemoteContol/ctrl
Metthod: PUT
Content-Type: text/plain
Workload: <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone></YAMAHA_AV>

Posted by mredeker at Nov 22, 2013 08:48

Marcus,

thanks for the info. I'm not quite there yet. Here's what is running on our openremote controller-

from controller.xml
<commands>
<command id="173" protocol="http">
<property name="workload" value="<?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="method" value="PUT" />
<property name="url" value="http://172.19.24.23/YamahaRemoteContol/ctrl" />
<property name="name" value="vol-up" />
</command>

the http log has the following error-
ERROR 2013-11-22 11:42:21,248 (HTTP): ClientProtocolException when executing HTTP method
org.apache.http.client.HttpResponseException: Bad Request

any ideas?
best, richb

Posted by richsb at Nov 22, 2013 16:47

Maybe because the Content-Type is missing.
By the way do you have some documentation regarding the protocol and commands which can be sent to the receiver?

Posted by mredeker at Nov 22, 2013 20:23

I've used wireshark to capture the correct commands using the yamahas iOS app. here's the volume up command-

<commands>
<command id="173" protocol="http">
<property name="workload" value="<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-180</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>" />
<property name="method" value="POST" />
<property name="url" value="http://172.19.24.23/YamahaRemoteContol/ctrl" />
<property name="name" value="vol-up" />
</command>

I'm getting a not found error now. is content type set as another property? thanks for the assistance. -richb

Posted by richsb at Nov 22, 2013 21:15

You changed PUT to POST now. In the other thread PUT is mentioned.
Content-Type is only available in the staging version of the modeler: https://composer.openremote.org/staging/

Posted by mredeker at Nov 22, 2013 21:56

we've tried both put and post with same error. currently the command is-

<commands>
<command id="173" protocol="http">
<property name="workload" value="<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-180</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>" />
<property name="method" value="Put" />
<propert name="contentType" value="text/plain" />
<property name="url" value="http://172.19.24.23/YamahaRemoteContol/ctrl" />
<property name="name" value="vol-up" />
</command>

the receiver responds 404 not found. also I noticed some Header checksum errors in wireshark as well.
the same commands sent using the socket protocol respond with a bad request

Posted by richsb at Nov 22, 2013 23:59

Response 404 would mean that the URL is not correct.

Posted by mredeker at Nov 23, 2013 19:43

We never did get http to work with this amp but the socket protocol did finally do the job-

<command id="456" protocol="socket">
<property name="port" value="80" />
<property name="command" value="POST /YamahaRemoteControl/ctrl HTTP/1.1 Content-Type: text/plain Content-length: 142 Host: 10.0.0.1 <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>" />
<property name="ipAddress" value="172.19.24.23" />
<property name="name" value="power" />
</command>

adding HTTP/1.1 finally got the receiver to accept the post

Posted by richsb at Nov 27, 2013 21:33
Document generated by Confluence on Jun 05, 2016 09:37