Okay I have a workaround for net radio with Yamaha musiccast devices (as opposed to Yamaha driver).
In my deployment I have both Yamaha RX receivers (such as the RX3080) which you can use either the Yamaha integration or the musiccast integration, and the Yamaha Multiroom amp (the excellent XDA-QS5400RK) with which you can only use the musiccast integration.
First thing to note is that is that the RX series amps use ‘NET RADIO’ as source, the XDA used ‘net_radio’, so check the source_list for your device to see what it uses.
With the Yamaha integration the RX’s work fine with the ‘normal’ call:
- service: media_player.play_media
data:
entity_id: '{{ states.var.tmp_receiver.state }}'
media_content_type: 'NET RADIO'
media_content_id: 'Radio>Favorites>{{ demand }}'
As others have found, I couldn’t get any combination of media_content_id: to work with the musiccast devices.
What I did find though was the musiccast API guide, here.
There is an API call to pick one of the preset favourites (which you can set up from the musiccast app)
From this I was able to generate a rest_command to add to my configuration.yaml:
rest_command:
musiccast_net_radio:
url: "http://{{ ip }}/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num={{ preset }}"
method: GET
Where ip is the ip of the musiccast device, and preset is the number of the preset.
This can then be called as a normal service, for example:
- service: rest_command.musiccast_net_radio
data:
ip: 10.0.51.18
preset: 1
You still need to media_player.turn_power_on, and set the source to ‘net_radio’ before making the rest call.
I hope that helps!