Yamaha MusicCast binding revival

In the logs you should see something like the following


2021-08-29 20:01:20.270 [INFO ] [cast.internal.YamahaMusiccastHandler] - YXC - Start Keep Alive UDP events (5 minutes - RX-D485)

In case you power up the device with the (hardware) power button and not job is active, you should see the following

YXC - No scheduler task found!

Then it will try to restart the job. Otherwise you will see

Scheduler task found!

Hopefully points us in the direction why the job crashes.

1 Like

Cool, install it today

HI all

0.84 has been running for several days now without having issuse with udp events. I even took time to correct the problems in .things files

Example in github is a littelbit of for atleast OH 3 working example for OH 3 tha doesn’t show warnings
Bridge yamaha:musiccast:bridge{

Thing device kitchen “YMC Kitchen” [host=“10.10.x.x”]

Thing device livingroom “YMC Vardagsrum” [host=“10.10.x.x”]

Thing device basement “YMC Källare” [host=“10.10.x.x”]

Thing device patio “YMC Altan” [host=“10.10.x.x”]

}

I had one device that was offline no network connection during start of service. And that one didn’t come online in OH untill I paused Item and started it in OH 3 WIF

Hi. Just now got error:

2021-09-03 18:48:11.309 [INFO ] [cast.internal.YamahaMusiccastHandler] - YXC - Start Keep Alive UDP events (5 minutes - Yamaha Living) 
2021-09-03 18:48:14.524 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@72d8e53a::SocketChannelEndPoint@7e14b6a4{l=/192.168.1.10:36278,r=/192.168.1.71:80,ISHUT,fill=-,flush=-,to=3129/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@72d8e53a(l:/192.168.1.10:36278 <-> r:/192.168.1.71:80,closed=false)=>HttpChannelOverHTTP@2d730112(exchange=HttpExchange@6e500523{req=HttpRequest[GET /YamahaExtendedControl/v1/system/getFeatures HTTP/1.1]@5b94cce6[TERMINATED/null] res=HttpResponse[null 0 null]@6ef0a6[PENDING/null]})[send=HttpSenderOverHTTP@35a01a28(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@5b3768a2{s=START}],recv=HttpReceiverOverHTTP@26396cde(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2021-09-03 18:48:16.986 [INFO ] [cast.internal.YamahaMusiccastHandler] - YXC - Start Keep Alive UDP events (5 minutes - Yamaha Bath) 
2021-09-03 18:48:21.320 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@51a5537f::SocketChannelEndPoint@64616239{l=/192.168.1.10:36398,r=/192.168.1.71:80,ISHUT,fill=-,flush=-,to=990/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@51a5537f(l:/192.168.1.10:36398 <-> r:/192.168.1.71:80,closed=false)=>HttpChannelOverHTTP@4f3646f(exchange=HttpExchange@69c1b7b3{req=HttpRequest[GET /YamahaExtendedControl/v1/system/getFeatures HTTP/1.1]@12043f5f[TERMINATED/null] res=HttpResponse[null 0 null]@7d1be78c[PENDING/null]})[send=HttpSenderOverHTTP@62d4245c(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@64c7b9a{s=START}],recv=HttpReceiverOverHTTP@358152cb(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]

Binding shows that device is online, but really it was turned off.
I turn it on from remote, and binding gives feedback.

Trying to understand what happened in your situation. Hopefully the coming days might give me some more insights.

Hi! is it possible to turn on “Clear voice” & “Bass boost” & “3D Sound” options?

After 1h power outage, i don’t see any messages in log from musiccast binding.

@martiniman

  1. I could not trace back what caused the crash of the binding
  2. Clear Voice: that is a separate API call which is not implemented
  3. Bass Boost: There is program bass_booster which can be used via the channel SoundProgram
  4. 3D Sound: 3D surround is a separate API call which is not implemented
  5. Too bad there are no error messages. However, the job is restarted by using the remote. It is already better than before.

Will put those things on the backlog.

Anyone tried this binding on a RX-A2A? I need to replace my old yamaha but need a reliable binding for basic features (On/Off, switch input, volume …) on the new one

Hi Uwe, not tried it but looking at the specs, basic functionality as you mention, should be possible.
This one is more advanced than my RX-D485 and those are available on mine.

Only way is to try unfortunately…

Thx Lennert, the RX-A2A is very similar to RX-V6A (for which @bastian already confirmed basic functionality) so chances are good. But as you said, I’ll need to find out … or get the RX-V6A :wink:

Yamaha RX Icons:
yamaha-15 yamaha-16
sound copy-22sound copy-23

More icons here

1 Like

Cool! Might update mine

V6A is still working perfectly fine with the binding.
I am not using Musiccast functionality however, as I don’t have any additional speakers for that.

PS: “Drei Stücke, Obelix!” / “Wieso - das sind doch drei Stücke?” :smiley:

1 Like

Hello everyone,

I found this thread while researching how to control my Yamaha Multicast receiver and 6 wx-10 speakers. I have read through the Yamaha Basic & Advance API manuals and have managed to control all the devices individually (play, stop, mute, volume, etc). However, I can’t figure out how to start playing all speakers at once with the current stream from my Universal Media Server.

Currently all 6 speakers are linked (Speaker 1 +5 rooms) and play fine with the MusiCast app. Do I have to send individual http requests for each of the 6 speakers to turn them on and play? Is there a master play, volume, etc? I saw that there is a StartDistribution API but if figured that was for setting up the links?

It has to be simple and I am overlooking something. Any advise would be appreciated in pointing me in the right direction.

BTW, I didn’t mean to hijack the thread but after my googling you people seem to be the only ones that are discussing the subject.

Thanks in advance.

Hi,
I don’t know your coding skills but you can have a look at the code of this binding.
In general you need to create a group at one device which is then the server. Assign the clients to the server so the server knows where to stream to.
Have a look at SetServerInfo and StartDistribution

I haven’t touched this for a while. Perhaps time to compile it with the 3.2 RC.

1 Like

That would be amazing to have it ready to go with 3.2!

Just compiled it with 3.3 snapshot and uploaded it to Github.
Also added it to the Market Place.
Did some basic testing and it keeps on working for me. As always, make sure you have a backup.

Anyone working with MainUI with my binding? For the Presets the dropdown is nicely filled because of the binding reads the presets.
But for Input I had to set the list myself in Sitemaps but in MainUI this is not going well
afbeelding
Or do I need to update the binding to include all the options? Which in turn will create a huge list.
Or I’m doing something wrong, again a lot to learn

I have a New Years present for everyone here: Pull request got accepted.
If read correctly, it will be part of OH3.3
Now others can work on it as well.

6 Likes