Custom Component: Yamaha (YNCA)

I used to have my receiver connected with a serial cable to a USB-to-serial converter directly on the Raspberry Pi that ran Home Assistant at the time. Later I moved to a more powerful machine further away and switched to network since then. Never used a network-to-serial converter so can’t really recommend one.

Btw, the RX-V673 does not seem to have a serial port according to the manual, but it does have a network connection. Why not just use that?
The integration also supports network connection.

Yes, you are right about the RX-V673, but I am looking at a RX-A830 instead of the V673. And as I said, the reason is that I hate that devices that I don’t want to use will populate the AirPlay/Chromecast/DLNA/Spotify Connect without any options to turn it off.
That’s the reason I looked into serial communication, and I found an old post by you which pointed me in this direction:

Ah indeed, the RX-A830 seems to still have a serial connector.

I have a RX-A810 that I had through te serial for quite some years and that worked great. I would assume it is the same for the RX-A830.

Any network-to-serial adapter should work that offers a normal (TCP) socket connection. In the integration you can then just Network connection when setting up and put in the IP and Port of the network-to-serial adapter and it should work.
I did experiment at some point with ser-2-net on a Raspberry Pi, but it was a hassle to setup in my opnion.

The info for the serial cable and settings is in the screenshot below from the protocol specification found here xttps://www.sdu.se/pub/yamaha/yamaha-ynca-receivers-protocol.pdf (note that the site gives a certificate warning for some reason so I made the link not clickable in case it is fishy. Change the x at the beginning in h if you still want to visit)
image

Just for info, I can confirm that this works with the RX-A3080 as well (it’s not on the list) but I don’t have scene control as in, I can’t send a command to tell the amp to change to a particular scene. It’s a pain though, not a problem as that’s about the only reason I have an IR blaster now. :wink:

Thanks for the update, I added it to the list.

For the scenes, did you try the workaround as mentioned in the Q&A section of the readme?

Basically you use the Remote entity offered by the integration to send the command to activate a scene instead of using the scene buttons offered by the integration (or maybe the buttons do not show if your receiver does not indicate support).

An example service call looks like the one below, just change the entity name.
You can call this from automations, buttons or many other ways in Home Assistant.
Check the readme for more details.

service: remote.send_command
data:
  command: scene_1
target:
  entity_id: remote.rx_a810_main_remote

No problem and thanks, I did see that but not before I found a way around it to do what I needed without having to mess with the code.

Prety much, the coponent as is can do everything I need it to so I’m more than happy with that and appreciate the effort put into it.

Just for the record, you don’t have to use the yaml code. You can also configure it through the frontend. It is just that the yaml code is easier to copy-paste :slight_smile:

For example you could build buttons like below by adding a button card per button and configure it as shown in the screenshots. Configuring it from automations is basically the same. You select the “Remote: Send sommand” action and you get the same options.

But if your current solutions works for you that is also fine. Home Assistant is all about options.
Just wanted to make clear it is not required to use yaml.

image


Thanks for that and, in some regards, that might be better for when I finally get time (after sorting out a truckload of things) to build a proper dashboard as opposded to my current “just make it work” effort! :wink: