Samsung G8 - No DisplayPort option in "mediaInputSource"

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.