Help to control Yamaha RX-A3060 IP

Forum to ask for any help
Post Reply
wilsonj
Posts: 7
Joined: Thu Jul 19, 2012 3:19 pm

Help to control Yamaha RX-A3060 IP

Post by wilsonj » Sun Mar 18, 2018 9:34 pm

Hi,

Just changed my receive to a Yamaha RX-A3060 and want to control it via IP. But it doesn't seem to want to respond.

Checked the IP is correct according to router.

Port 5000
type - Generic IP Device
Command suffix - Tried the default and nothing, not sure what it should be?

The test command I'm trying to send is to turn the unit on.
@SYS:PWR=On

Really appreciate any help, thanks.
Regards
Jamie

User avatar
DemoPad
Site Admin
Posts: 769
Joined: Thu Jun 14, 2012 10:46 am
Contact:

Re: Help to control Yamaha RX-A3060 IP

Post by DemoPad » Mon Mar 19, 2018 10:21 am

try port 50000, and command:

@MAIN:PWR=On
Yamaha Amps IP RS232 Control.dc1
You do not have the required permissions to view the files attached to this post.

wilsonj
Posts: 7
Joined: Thu Jul 19, 2012 3:19 pm

Re: Help to control Yamaha RX-A3060 IP

Post by wilsonj » Mon Mar 19, 2018 7:53 pm

HA! Thanks so much!!! You know it was just a typo. I had read the port as 5000 not 50000.

Working perfectly now.

Cheers
Jamie

tharlin
Posts: 7
Joined: Fri Jun 01, 2018 9:51 pm

Re: Help to control Yamaha RX-A3060 IP

Post by tharlin » Wed Jul 11, 2018 11:12 pm

A note to anyone else who stumbled here looking for Yamaha amp info... Yamaha AV devices support two different IP commandsets, called YNC and YNCA. YNCA is an aliased and simplified form of YNC, is also defined for serial port control and operates over IP port 50000. Only one connection can be open at a time, and feedback requires the connection be held open, thus this protocol can only be used by one remote device at a time. The command payloads look like "@MAIN:PWR=On".

YNC uses HTTP over port 5000, and perhaps that's how the original poster got his port numbers switched. The message payload is XML, such as "<YAMAHA_AV cmd="PUT"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>". Because it is HTTP, the connection is opened and closed with each command, so any number of devices can be driving your amp. This is the protocol that Yamaha's own remote app uses, and is also what you should use if you have multiple remotes (such as ones for dedicated zones). Also because it is HTTP, you also must supply headers giving content length, document type, and so on. Unfortunately DemoPad doesn't know about HTTP, so every device command must be completely hand-entered including the length of the message. A really serious pain. Some other poor slob apparently worked through this for a BD player at viewtopic.php?f=26&t=6768.

Wouldn't it be great if DemoPad had switches on the device command list for "use HTTP" and the content type, and then you just put in the body contents? And even better, be able to understand and correctly decode XML/JSON responses for proper feedback implementation?

User avatar
DemoPad
Site Admin
Posts: 769
Joined: Thu Jun 14, 2012 10:46 am
Contact:

Re: Help to control Yamaha RX-A3060 IP

Post by DemoPad » Fri Jul 13, 2018 8:02 am

You can use the keywords [#CONTENTLENGTH] and [#HOST] when using HTTP commands.

You can use regular expressions to parse xml / json feedback in the 2-way feedback section.

Note the http approach for controlling amps in this way means that feedback will not automatically be seen by clients, as there would be no active connection - unlike the port 50000 approach, using our Centro-8M as the single connection, then all devices see all feedback.

tharlin
Posts: 7
Joined: Fri Jun 01, 2018 9:51 pm

Re: Help to control Yamaha RX-A3060 IP

Post by tharlin » Fri Jul 13, 2018 6:53 pm

Those keywords help, thanks. Regular expressions are insufficient, though, because responses are escaped/encoded for XML and JSON. For instance, the song title "Joe's Café & Bar" is going to come back as
<song>Joe&#39;s Caf&#233; &amp; Bar</song>
To your credit, almost nobody else does this properly either.

And while I haven't gotten to this part of the conversion from a previous iRule configuration, I am assuming I can poll for feedback in the same way, by executing a page entrance command every few seconds to retrieve the state.

Cheers.

Post Reply