mediaInputSource capability has disappeared for some Samsung soundbars

There are all sorts of codenames floating around. For example the client app settings use a nibbler endpoint and the various platform versions (as I call them) that modify the API each have keywords (e.g. 20170916 which is used in the Core SDK is gizmo). So cupcake might perhaps refer to the AWA or to the library it uses to wrap up many different tweaks of the API. It seems to be something along those lines.

The ocf capability has been deprecated along with execute so that doesn’t seem too promising going forwards. They always seemed to fit the SmartThings model like a glass slipper on an Ugly Sister and to be a bit of a fudge until they did the job ‘properly’.

1 Like

Sorry, I couldn’t help it…

Once upon a time, I was tasked to fix an issue in some microcode written in assembly for a processor probably no one has ever heard of. There were two variables in the code named “chuck” and “larry.” Nobody at the company knew what they were, what they did, or why they were there–except years before there were two guys named Chuck and Larry that worked on firmware in the Engineering Department. We tried for weeks to figure out what these variables did–and simply chose to leave them alone, for fear of breaking something else,

:smile: :laughing: :sweat_smile:

Thanks, @orangebucket, you made my day!

1 Like

Coming back to my original post, mediaInputSource has just disappeared, although there’s still the current source and the possible sources list in the API. Does SmartThings plan to put it back ?

I see two commands that look like they could be used to set the source. samsungvd. setAudioFrom.setSoundFrom and samsungvd.audioFrom.setSoundFrom. Have you looked at those?

No, those don’t work.

It’s obvious the removal of mediaInputSource is either unintentional or incomplete. I believe it’s a n unintentional bug. Why would they have kept the inputSource and supportedInputSources attributes otherwise?

image

@nayelyz Would you be able to ask the developers about this?

I do think there are two assumptions being made here:

  1. That Samsung ever intended mediaInputSource to be used to set the audio input source on soundbars, rather than just to read the current setting.
  2. That Samsung intend that it is possible to set the audio input source via the SmartThings API at all.

If you don’t buy into the assumptions then removing mediaInputSource looks intentional, overdue and sensible.

I can’t know why Samsung wouldn’t want to allow the audio input source to be automated by the API, but it is hard to see it any other way. They don’t seem to even allow for it to be used in conditions, let alone actions.

1 Like

I don’t buy it :slight_smile:

80% certain it’s a side effect of something else and no decision-maker cares enough to make someone fix it, at least for now. I’ve seen it countless times.

1 Like

Yeah, at this point it is clearly unreasonable to assign blame to anything other than Samsung maliciousness or incompetence.

They’ve had weeks to fix this, yet not a peep.

Last chance for a SmartThings responsible, if there’s one here, to answer my question : when do we get mediaInputSource capability back?

Next step : as usual, when normal channels don’t work, I go through the boss. Won’t be pretty for everyone.

1 Like

Another user whose entire setup has been ruined and turned unusable by the removal of mediaInputSouce.

This seems intentional and a malicious move towards their customers.

2 Likes

Any updates?

My soundbar is still broken

I built an ESPHome IR blaster and I can do a lot of things with it, including selecting the source. I found some codes on the flipper IRDB such as “select D_in source” and I just chain a “toggle source” IR command the required times in order to select the source I want. I dont’ have the time right now to finalize it, but the plan is to combine SmartThings to get the actual states of the soundbar, and IR blaster to send the missing commands in SmartThings, or even all commands. With universal media player, I can create a fully working media player entity and hide the SmartThings media player as well as the ESPHome controller.

I’m now first waiting to see what comes out of the exchanges between Nabu Casa and SmartThings team, mainly around the PAT problem, but ultimately I even have a plan to get the states locally without SmartThings. Even more radical than IR : an ESP32-CAM would take pictures of the soundbar LED display and then with OCR I would get the states of the soundbar. Basically, make SmartThings smart again, by totally getting around it :smiley:

any updates? really crazy this cap is disappear!

Since there’s an OCF command in the API, can we use it to change the input source? Has anyone figured out the correct payload?

Is there still no fix for this? Why does smartthings continually remove features>?@#!%

any update please!!!
what the smartthings team are doing?

Greetings,

Any news on this ? Has someone tried reaching the Smartthings support team about this obvious regression ?
Issue reproduced (no setInputSource on the ST dashboard) today on a 990B that had the capability before.

Okay, after a few hours of analysing the logs/trafics of the app, I finally managed to use the execute command on the API to change the input on my 990B :smiley:
Here are the payloads of the HTTP requests (as sended by the SmartThings. Add a little smartness to your things. )

So, for the “execute” command, the magic parameters are (as sended by the app):drum::drum::drum:

command :

/sec/networkaudio/soundFrom

args (as sended by the app) :

  • D-IN/TV-eARC:
    {"x.com.samsung.networkaudio.soundFrom":{"groupName":"","duid":"","deviceType":4,"sbMode":25,"di":"","ip":"","name":"External Device","connectionType":"D-IN/TV ARC","mac":"","status":0}}
  • HDMI1:
    {"x.com.samsung.networkaudio.soundFrom":{"groupName":"","duid":"","deviceType":4,"sbMode":3,"di":"","ip":"","name":"External Device","connectionType":"HDMI 1","mac":"","status":0}} }
  • HDMI2:
    {"x.com.samsung.networkaudio.soundFrom":{"groupName":"","duid":"","deviceType":4,"sbMode":21,"di":"","ip":"","name":"External Device","connectionType":"HDMI 2","mac":"","status":0}}

For the Wifi/Bluetooth, I did not catch them from the app but was able to deduce it from the attribute values in the SmartThings dashboard.

I figured the minimal payload is : {"x.com.samsung.networkaudio.soundFrom":{"sbMode":<the id of the mode>}}
With the value being :

  • HDMI 1 : 3 (Tested OK)
  • HDMI 2 : 21 (Tested OK)
  • DIN/EARC : 25 (Tested OK)
  • WIFI : 26 (KO, is the value from the attribute but did not work with the command)
  • BT : 4 (KO, is the value from the attribute but did not work with the command)
2 Likes

That’s perfect! Thanks a lot. I’m curious, how did you figure that out exactly?