[APP][PRO] Yamaha AV & MusicCast Receiver

Yamaha - Discover True Sound

large

This app replaces the unmaintened SDK2 app.
It has a new app ID. That means you can install both apps side by side. But you have to add your receiver again with this app - and you have to adjust your flows.

The app supports Yamaha AV & MusicCast receiver (since version 0.1.0).

  • Older receiver without MusicCast support mainly implements the YamahaRemoteControl API and can be added using the “AV Receiver” device.
  • Newer receiver with MusicCast support should provide support for the newer YamahaExtendedControl API in addition. Then can be added using the “AV Receiver” or “MusicCast Receiver” device.
  • Other MusicCast devices (network speaker) can be added using the “MusicCast Receiver” device.

If your receiver supports both APIs, then pair it using the MusicCast Receiver type. This API has a better documentation and features, so new features will be implemented primary for this device type.


Add a receiver
grafik

In pairing view, a auto discovery is done to find receivers via Wifi. If no (or no new) devices are found, a manual pair dialog is shown to set up the IP address. Some times, the auto discovery needs longer to check your network and no devices are found. In this case, you can go back one step and start device discovery second time. In most cases, the receiver is found with the second try.

  • Auto discovery:
    grafik

  • Manual pairing:
    grafik
    From manual pairin gview you can start a new device discovery or continue pairing using the set IP address.


Homey device
The app is polling the current state from your receiver to update the Homey device. You can adjust the interval in device settings to your needs (trade-off between fast update and system load).

If your reciver and current media (like network radio) supports media artwork, this is shown in the device view.

The app supports the default Homey attributes for media devices like on/off, play/pause, forward/back, volume.
In addition, there is a selection list for input and sound mode selection.
Further Yamaha specific attributes will be added soon.


Precondition

  • The receiver must support network access to one of the Yamaha APIs (YamahaRemoteControl API or YamahaExtendedControl API).
  • To switch on your receiver from Homey, you have to activate “Network Standby” in your receiver settings.

Support
I can’t test every functionality. If you discover a bug or something that does not work as expected, please report in this thread.
If you have feature request or improvement suggestions, please let me know.


Help getting this app even better!
Spend a small donation/beer/coffee to support community app development.

btn_donate_LG1
paypal-logo-png-transparent
Please use “send to friends” to avoid fees. Thanks.

3 Likes

FAQ:

What kind of receivers are supported?
AV Receiver without MusicCast that implements the YamahaRemoteControl API.
AV Receiver with MusicCast implementing the YamahaExtendedControl API or both APIs.
Other MusicCast compatible devices implementing the YamahaExtendedControl API.

What Input channels are available?
The device has a fixed list of inputs to show a selection list in device view. It’s not possible to present a dynamic list depending on the device since the definition must be defined in the app definition.
But selecting a “wrong” input will just do nothing and the selection jumps back to the current selected input.

What Sound Programs are available?
Same as for Input channels (see entry above)

What Yamaha features are available?
Some sound settings are directly available as a button in device view like: Direct, Enhancer, ExtraBass.
The device checks on startup which of these features are available via API and adds/removes the device capabilities based on the feature list (since version 0.0.2).
In some cases device functionality accessible at the remote control are not available via API. In that case, the buttons are not present.
Flow card will still be present but they will do nothing if their capability is not present in the device.

Wishlist

This is a Wiki post where you can add some wishes. Add a missing feature (you perhaps used in the old app) or other things you would like see in this app.

I would like to see:

  • AV receiver without MultiCast (RonnyW)
    Will be added soon (RonnyW)

Reserved

Hello.
Thanks for this app!
I just added all my MusicCast devices (1x Yamaha HTR-4068, 1x WX-030 and 2x WX-010) and adjusted my flows and everything works properly.
With the old app, for example, I could not change inputs via a switch or button, I could set them via a card, but it did nothing, but with this new app it works!
Thanks for refreshing this app!

1 Like

New test version 0.0.2:

  • Improved pair view:
    If no devices or no new devices are found, the manual pair view is shown to define the IP address.
    This prevents the pair view to stuck at “no new devices are found” if only a subset of existing devices is auto-discovered and all of them are already added. Perhaps only a theoretically situation, but can happen :slight_smile:
  • Added dynamic handling of sound settings (Direct, Enhancer, Bass) based on the feature list from your device. If these features are supported by your device (via API), they get added as capability, if not they get removed.
    In some cases, the device supports the feature via remote control but not via API.

New test version 0.0.3:

  • Small fix for adding dynamic capabilities to adjust capability listener.

When I try to install it throws an unknown error :frowning:

The app requests at least FW 8.1.0 because of the used new pair view styles. Is your Homey up to date?

I thought it was, but it wasn’t. Thank you :slight_smile:

Another question: can you tell me how to use the card ‘select row number’? Because however I try, it never works.

Well, that’s no my app :wink:

PS: Currently such functions are not supported yet by my app.

Oops, better delete the other one first then. Sorry :sunglasses:

New test version 0.1.0:

  • New device: AV Receiver:
    A new device “AV Receiver” is available now. It offers the possibility to add older Yamaha Receiver without MusicCast support.
    grafik
    The AV Receiver uses the older “Yamaha Remote Control” API (XML) instead of the newer “Yamaha Extended Control” API (REST/JSON) of MisicCast devices.
    If your Receiver has no MusicCast logo, you should add ist as “AV Receiver”.
    If your Receiver has a MusicCast logo, bith version should work. The MusicCast version would be better because the API offers more possible functionality I can add in future.

New test version 0.1.1;

  • New flow actions to select or change presets for NetRadio and Tuner.
  • MusicCast Receiver: The prev/next buttons will loop through the presets for NetRadio and Tuner.
    Please report if preset change for NetRadio is not working. The API doesn’t offer this functionality as the current preset doesn’t seem to be stored. The app tried to find the current preset from preset list depending on the station name. If you change your Netradio favorites, then adjust or redefine the presets if the prev/next buttons are not working.

Yet again a new test version 0.2.0:

Some improvements for the MusicCast Receiver:

  • Improved the play info that is showing additional information (tuner data or input name)
  • Next/Prev button is looping through NetRadio or Tuner presets. YOu can use new flow action in addition to set presets or change tuner band.
  • New slider to change bass and treble
  • New sensor view to show volume in numeric value (like on the device display) and bass/treble settings

Test version 0.2.1 & 0.2.2:

  • Error handling for http connect errors.

Hello

thanks for this new app !
Do you plan to implement multi zone support ?

thanks

Hi,
yes, of course I’m interested to improve the app :slight_smile:

Can you describe how the zones are used? I have only one receiver and don’t use zones.
Is a receiver or MusicCast device assigned to one zone only? And your want to control only this zone?
An example or some use cases would be nice to add zones in a useful way.

The old app has a zone setting for the device. Was that a good solution? Or is something dynamic needed - like input selection?
Thanks for your help in advance.

Hello

In my case my Amplifier has 4 zones, used in 4 different rooms.

It’s like if i had 4 amplifiers, one specific in each room, but in one device.

Sometimes i want to activate 2 or 3 of them with different music, or with the same music (without perfect synchronization if not using party mode, or really fully synchronized using party mode - in my case used when the weather is good, i open some windows and the sound must be really synchronized between 2 zones ).

For the common use :
On each of them, i can choose input, sound level & parameters.
So the inputs of zone 1 & zone 2 are different and can play together.
=> I can automate to start some music in one room.

last app did duplicate the device to allow zone selection, it’s an option that works for most uses that i know.

The only case that i know where it doesn’t work, is when activating party mode. It was not implemented in last version.
(it’s a configuration where finally the different zones are in relation, a common global parameter. To have the feature, one of the device in homey must become master for the choice of the input to transfer to all zones / devices…), but that’s not the most needed feature for automation for me.

Hope it’s clear, do not hesitate if you need more details.

Have a good night,

Hi Paul,
you are using the MusicCast device, right? Because that’s the one with the newer API and in my focus.

I thought about possible solutions and have…

  • a small solution: Select a zone in the device (button or mode selector) and execute the activity for the selected zone. Flow parameter for zone can be added to the flow cards.
    But that’s more a workaround.
  • a more complex version: new zone device that’s assigned to the reveicer device.
    This device would represent the zone and has only valid capabilities and actions for the zone.
    So you would have the reveiver (representing mail zone) and three zone devices for zone 2 to 4.

I think varant 2 would be the best because every zone device stores its state and capabilities.
That would fit your expectations?

Hello

both can be good.

For your fisrt solution ‘SMALL’ , you will have some problems for example with the on/off feature. The zone has is own status, you can off zone 1 & keep zone 2 on.
=> For most of actions you will have to choose the zone first. So specific devices keeping current config of the zone seems better (see ‘MANY’).

Your second solution ‘COMPLEX’ is probably the most powerfull, devices per zone + relation, but that’s more complex.

A third one ‘MANY’, create independant devices that correspond to each zone, without link between them.
As if it was a dedicated device per zone, you only precise the zone associated to each of them. (it’s current app solution i think). You must accept to create many time the same device + a global parameter.

So from my point of view, ‘COMPLEX’ is better, then ‘MANY’, then SMALL.

Have a good day,
Paul

1 Like

Thanks, Paul, I think I go the “complex” way.
Better some work now and less problems later :slight_smile: