Samsung G8 - No DisplayPort option in "mediaInputSource"

I’m pretty new to Smartthings, but i have a Samsung G8 OLED Monitor which obviously is connected through Display Port to my PC.

I’ve been fiddling around a bit with Smartthings CLI. Now i’ve also read the documentation, and for the mediaInputSource capability, pretty much everything is listed except DisplayPort.

Now i don’t really know yet how i can send a correct command myself, but my Monitor does list the “samsungvd.mediaInputSource” capability. Funny enough, the attribute only lists my 1 HDMI device that’s connected, but when i send this command with either “PC” (the name of the Display Port connection) or “Display Port”, it works.

I’m a bit at a loss, cause i’m trying to create a card in HomeAssistant that let’s me easily swap to/from Display Port on this monitor, and i have no idea how.

The CLI uses a library named the Core SDK as a wrapper for the SmartThings API. If you set the SMARTTHINGS_DEBUG environment variable to something that evaluates as true (for example using set SMARTTHINGS_DEBUG=true in the command prompt) it will show you the API calls it is making. This can be a little quirky as sometimes it affects the normal output of the CLI. The CLI defaults to an Oauth2 style authentication. You may well need to use a Personal Access Token if you are doing it yourself.

The samsungvd.mediaInputSource capability is not the same as the default mediaInputSource capability. The samsungvd on the front is an example of a ‘namespace’. The standard capabilities are actually in the smartthings namespace but you rarely see that quoted explicitly, largely because the concept of namespaces is relatively new in the history of SmartThings. We call capabilities with a non-default namespace ‘custom capabilities’. You’ll see weird looking namespaces like ‘confusedotter98765’. Those belong to individual users (you’ll have one). Generally they don’t allow custom capabilities in certified devices but there are exceptions and in particular you’ll see various namespaces belonging to SmartThings and divisions of Samsung.

Cutting to the chase, the standard mediaInputSource only allows a restricted range of values for inputSource. However if you use the CLI command smartthings capabilities samsungvd.mediaInputSource you will see there are no restrictions on the values.

The capabilities also have an attribute that is intended to show which values are valid for the current device. For mediaInputSource it is supportedInputSources and is an array of strings. This is meant to be set to the subset of the valid values that are available on the actual device. This would be used, for example, to allow you to choose from a list of sources that actually exist on your device. For samsungvd.mediaInputSource the attribute is supportedInputSourcesMap and it is an array of maps. I don’t know what this looks like in practice but it wouldn’t surprised me if each map tied together a source name like ‘HDMI1’ with a more descriptive name like ‘Blu-ray’. Notice that I used words like ‘intended’ and ‘meant’. This is because when you read this forum you can gain the impression that some of the appliance integrations aren’t particularly rigorous about that sort of thing.