Page 1 of 1

Help to control Yamaha RX-A3060 IP

Posted: Sun Mar 18, 2018 9:34 pm
by wilsonj
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

Re: Help to control Yamaha RX-A3060 IP

Posted: Mon Mar 19, 2018 10:21 am
by DemoPad
try port 50000, and command:

@MAIN:PWR=On
Yamaha Amps IP RS232 Control.dc1

Re: Help to control Yamaha RX-A3060 IP

Posted: Mon Mar 19, 2018 7:53 pm
by wilsonj
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

Re: Help to control Yamaha RX-A3060 IP

Posted: Wed Jul 11, 2018 11:12 pm
by tharlin
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?

Re: Help to control Yamaha RX-A3060 IP

Posted: Fri Jul 13, 2018 8:02 am
by DemoPad
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.

Re: Help to control Yamaha RX-A3060 IP

Posted: Fri Jul 13, 2018 6:53 pm
by tharlin
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.