Yamaha MusicCast integration

Hey everyone, i am releasing my Yamaha MusicCast integration.
Disclaimer: I have built this integration blind, meaning - i do not own a Yamaha Music Cast device however i used a simulator to test in development so feedback is welcome.

This integration should give you 2 entities: Media Player (basic functions and cover art) and Remote (full button support).

This integration i am also testing new docker image automatic creation, i have not fully tested it but it should simplify significantly the process. Please read the README.md file.

In addition: in Github i also added a musiccast_device_discovery.py file, if you have missing buttons that you want to add, install python, run the script and send me the json output file. it will give me all the info i need to what your device have that i can then port into the project code. Hope you enjoy this new integration. Thank you!!

Special thanks to @Hartmut for helping test and sending me the json file which with it i was able to add 29 more missing functions :slight_smile:

2 Likes

I really need to test it :slight_smile:

I had some music cast kit. Happy to test it next week.

Hi, Thanks for this, I have received my Remote 3 and tried this, but I am having some problems;

(1) I have several Musiccast devices and tried setting one up and it was detected (YAS-408), but how do I add additional devices? I have tried doing the setup again, if I leave the IP address blank I get an error (I assume this is the way auto-doscovery works), and if I enter a different IP address I get an error.

(2) For the YAS-408, some of the buttons (power, mute) work, but others (volume up and down) give me the message “Internal server error please try later”. Any ideas?

(3) I have WX-010, ISX-18D, ISX-80 and RX-A2070 devices as well, so if I can get any further I am happy to test these and provide feedback.

Thanks again

  1. it currently support single device setup, that is something that will require additional work to introduce multi device support.
  2. As stated, i wrote this integration blind, i do not own a yamaha musiccast device. have you read this? “In addition: in Github i also added a musiccast_device_discovery.py file, if you have missing buttons that you want to add, install python, run the script and send me the json output file. it will give me all the info i need to what your device have that i can then port into the project code.”
  3. same as 2

Thanks for the reply, the way I read you GitHub page (Integration Limitations) is that it only supports a Single Zone, that is different from supporting multiple devices in Musiccast language.

Also, the buttons are there, it’s just several are not working, they are returning the error message reported. I don’t think I need more buttons for the YAS-408, I think you have them all.

I can work on multi device support, after i did this yamaha i learned how to do multi device support and released my Naim integration. so i can work on that, the buttons are there as some buttons are there as “dummy buttons” for future enhancements and some work against specific models. since i dont have a music cast device i left trails for future enhancements. if you have a model that a button give an error, run the discovery script, send me the output as well as the remote debug log so i can see the error recieved . then i can integrate new features for a new release.

Ok, I’ll do this when I get a chance, hopefully this week.

ok, i also just added multi device support, but i cant test. if you can, will be helpful. find me on discord in the unfolded channel or send me a DM.

1 Like

just released a multi device support version, i am unable to test as i do not own a muiscicast device but hopefully it works, if not - please LMK

Hi,

I tried install soundbar YAS 408 and and I have following message. Same message apply to other devices

“Driver not connected. Failed to connect to host: Connection refused (os error 111)”

In app all forks fine. below test. Any idea what I do wrong?

{"response_code":0,"model_name":"YAS-408","destination":"G","device_id":"F08620B83144","system_id":"02199A93","system_version":5.10,"api_version":2.17,"netmodule_generation":2,"netmodule_version":"2303    ","netmodule_checksum":"12F328EF","serial_number":"Z614730ZP","category_code":2,"operation_mode":"normal","update_error_code":"00000000","update_data_type":0,"analytics_info":{"uuid":"2aeab299-8373-4ef0-9310-e1f98f0b11ec"}}

Did you exit the setup after you uploaded the integration or did fail? This is a know issue with custom integrations where the integration is not reconnected after the setup failed or was exited. You need to delete the integration twice and then re upload it

Thanks for fast response. All is working perfect. I’ve noticed error 111 for couple of integration. I have one more question regarding Musiccast. In original app there is FAVOURITE list 1-40,which can be call with http command. Is it possible to call from within integration? Any idea how to?

I have couple of radio station I’m using every day. Thanks in advance

If you send me the http command for that, I can add it.

That’s great! :star_struck:

Number at the end of the string is favourite list position starting from 1 to 40

“http://musiccastip:80/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num=5”

Many tanks

perfect. give me about 10 to 20 minutes.

You seriously fast.

I have few more extended commands if that help to anyone.

Thanks anyway

yes, send them now please.

Set Input to Pandora
http://musiccastip:80/YamahaExtendedControl/v1/main/setInput?input=pandora
View List of Pandora Stations
http://musiccastip:80/YamahaExtendedControl/v1/netusb/getListInfo?list_id=main&input=pandora&size=8&lang=en
Play Station
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=play&index=1&zone=main
If you wanted to play the 16th favorite you would just need to set the index as 16
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=play&index=16&zone=main
Only 8 items will show at once so you need to keep increasing the index on the getListInfo to find the right item, be mindful the number still increments, it might be zero on the list but might actually be index 16 as shown above.
Metadata for the now playing track is found
http://musiccastip:80/YamahaExtendedControl/v1/netusb/getPlayInfo
To goto the next track do (also for play/pause/stop/previous)
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setPlayback?playback=next
To thumbs up or down do
http://musiccastip:80/YamahaExtendedControl/v1/netusb/managePlay?type=thumbs_down&timeout=60000
Net Radio and Server is a bit different as it’s multi level
http://musiccastip:80/YamahaExtendedControl/v1/netusb/getListInfo?list_id=main&input=net_radio&size=8&lang=en
Then select bookmarks at position 0
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=select&index=0&zone=main
View the list now at the next level
http://musiccastip:80/YamahaExtendedControl/v1/netusb/getListInfo?list_id=main&input=net_radio&size=8&lang=en
Then finally you can play the item
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=play&index=16&zone=main
If you make a mistake you can go back
http://musiccastip:80/YamahaExtendedControl/v1/netusb/setListControl?list_id=main&type=return&zone=main
1 Like

I have some other info for musicast, I will dig down and send to you by end of today

Maybe helpful