[RELEASE] Yamaha Network Receiver Basic Integration

Simple SmartApp and Device Type to provide integration for a Yamaha Network Receiver with the following features… and now with MusicCast support!

  • Zone Status (on/off)
  • Zone Source
  • Zone Source Control
  • Zone Volume Control
  • NOTE: volume control will mimic the volume levels of the Yamaha receiver using a range of -80…16; if you want to use a range of 1…100, you will need to swap 3 lines in the device type code
  • Zone Mute (on/off)
  • Zone Party Mode (on/off)

Update 04/09/2017


  1. Create a new SmartApp and use the code from: https://github.com/redloro/smartthings/blob/master/smartapps/redloro-smartthings/yamaha-receiver.src/yamaha-receiver.groovy
  • Create a new Device Handler and use the code from: https://github.com/redloro/smartthings/blob/master/devicetypes/redloro-smartthings/yamaha-zone.src/yamaha-zone.groovy
  • Zone Sources and Source Naming: if you want to change the number of sources or names for the sources on the tiles, search and replace Source 1, Source 2, Source 3, Source 4, Source 5, or Source 6 with the desired name (there should be 2 replacements for each input source).
  • Add the Yamaha Network Receiver SmartApp from the SmartThings marketplace
  • Configure the SmartApp
  • SmartThings Hub: REQUIRED
  • Yamaha Receiver Name: REQUIRED unique name for your Yamaha Network Receiver (UPDATE 02/25/17: added support for multiple receivers)
  • Yamaha Receiver IP: REQUIRED to connect to the Yamaha Network Receiver
  • Yamaha Receiver Zones: REQUIRED zones that your Yamaha Network Receiver is capable of supporting (UPDATE 11/28/16: added support for Zone_B)
  • Install will setup the SmartApp and create Devices for each zone
  • Configure your Devices/Zones
  • Open the Yamaha: Zone Device
  • Tap the gear icon in the top right to edit the device
  • Customize the Zone Sources to configure available Input Sources; supported sources are device specific but generally include the following:
  • Done!

Oh Snap. I will have to give this a go with my Yamaha.

Working well here on two yamaha receivers. Thankd

This works for me. How hard would it be to add in functionality to change the source?

Shouldn’t be hard… what were you thinking, something that would cycle through all inputs or just buttons that let you select a source??

I think buttons to select the source would be more appropriate. Do you have documentation to the API? I couldn’t find it to save my life.

Bunch of stuff online from past projects: http://goo.gl/y0COaW

Here’s a good one: http://g33ksblog.blogspot.com/2013/08/yamaha-network-control.html

Updated the Yamaha Zone Device Type to include source control… check it out and let me know if you have any questions. If you’ve already configured the Yamaha SmartApp, you will need to load the new Device Type, delete and then reinstall the SmartApp.

1 Like

This is awesome, thank you.

I’d like to change the source labels and, if possible, set up some different ones. Can you point me in the direction to solve the latter? For example, I would like to be able to select sources ‘Audio 1’ and ‘Audio 2’ on my Yamaha.


Yup… updated the installation steps above…

1 Like

Thank you!

In the market for a new receiver, definitely interested in getting one with ST control. Am i looking for a specific models or the year it was produced. Or any yamaha receiver with net connection?

Thanks for any info.

Okay, please bear with me. This is the first time I’ve tried to modify code.

I actually changed the source names in the tiles section of the handler to the names as I have them defined in my receiver (eg. ‘Blu-ray’ for HDMI1 …).

standardTile(“0”, “device.source0”, decoration: “flat”, width: 2, height: 2) {
state(“off”, label:“Blu-ray”, action:“source0”, icon:“https://raw.githubusercontent.com/redloro/smartthings/master/images/indicator-dot-gray.png”, backgroundColor:"#ffffff")
state(“on”, label:“Blu-ray”, action:“source0”, icon:“https://raw.githubusercontent.com/redloro/smartthings/master/images/indicator-dot-green.png”, backgroundColor:"#ffffff")

So that’s the first and second occurrences of the source in the code and this way the tiles show the names as I know them. Then for the third occurrence I put the actual source name …

def installed() {
state.sources = [‘HDMI1’, ‘HDMI2’, ‘HDMI3’, ‘HDMI4’, ‘AUDIO1’, ‘AUDI02’]

But, when I hit the “Blu-ray” tile it’s still switching to AV1. AV1 is not even listed in my version of the code.

I did try to remove and re-add the SmartApp but I get an unexpected error on the remove.

This plugin should work with any Yamaha receiver that has a network connection. The Yamaha network protocol doc has a list of the supported receivers but it’s basically those that have a net connection.

Just FYI… I’m personally running this against a 5 year old and brand new receiver with zero issues.


Best would be to do this:

  1. Revert back to previous version of device type
  2. Uninstall SmartApp…by launching SmartApp on phone, scrolling down and tapping uninstall
  3. Update device type code to the latest provided including your changes
  4. Install/setup SmartApp on phone

Let me know how that goes

That did it. I’m not sure I needed to revert the DH first. Initially I could not delete the SmartApp. It was giving me an unexpected error. I tried to delete the Receiver ‘Thing’ and it reminded me I had hooked it to several other SmartApps. Once I removed the Thing from those apps I was able remove your app and start over. All good now.

Really appreciate your help.

Now I’d like to find out how to only show valid sources for my Zone 2. Presently the same tiles show regardless of Zone. But it’s still great. I can now turn the receiver on and off with Alexa.

Ok - just updated the device type and moved the source definitions to the device preferences section. You should now be able to set unique sources per zone… but the number of sources is fixed between zones… ie. if you want to show 6 sources, then 6 sources will show for each zone. Also the actual tile labels will be the same across zones, even though they can control different sources. If I get some time, may look into fixing this, but that’s how it works for now.

Wow, thanks for that. I wasn’t expecting an update.

Have a great day.

This is awesome, but struggling to get it to work with the second zone. I have a TSR5790 and I suspect it has something to do with the fact it is referred to as “Zone B” Any ideas?