Custom capability with Edge driver example

In the example in github there is a yaml file that I think is meant to be used with DTH drivers. Here is the file: custom-capability/presentation/fancy-switch.presentation.yaml. In the Yaml it has a Type of “profile” so I’m thinking this is for a device profile, and if I’m reading the documentation correctly about Edge devices:

Devices using SmartThings Schema or SmartThings Edge use “implicit profiles” and do not require to you create a Device Profile for these Devices.

Just want to confirm that particular file is not needed if you are doing the Edge example.

These are still utilized in Edge. You will need a profile for each device. Presentations are optional

So I’m officially stuck then - I can’t figure out what this particular file is for. It doesn’t seem to be in the correct format for “smartthings deviceprofiles:create”. Based on the sample in the documentation it also doesn’t seem to fit “smartthings deviceprofiles:view:create” - so what command am I supposed to use to process this file to run the example? I did register the capability and presentations, but there isn’t any information about what to do with this particular file.

I believe that is a sample ‘device config’ to help you to create a ‘device presentation’ for the device. It has probably been pulled from the API which is why there are a number of empty keys that don’t appear in the docs.

It is possible to generate sample configs from DTHs or explicit profiles and I think the type indicates which was used (defaulting to profile) and may well be a relic. You can’t do it with implicit profiles which is why you are being given a sample to work with.

As time has passed it has become increasingly unclear what the deal is with presentations, or more specifically what the deal is with default presentations, and in what circumstances you actually need to create a presentation to make the app behave.

Oh and you could consider the file as input for:

smartthings presentation:device-config:create

I was going to try device-config next, since that looked to be all that was left!

Correct. It’s there so you can more easily duplicate the device-config if you choose to take the step of creating one, but isn’t necessary for the driver to run.

Thank you, it does parse with the presentation:device-config:create command and creates a device-config in my developer name space.

Oh, you’re right. I was being a bit loose in my description. With Edge drivers the profile is processed as part of the “smartthings edge:drivers:package” command. I think my question was about you don’t have to run a “smartthings deviceprofiles:create” as a separate process to set up the device profile since it’s done as part of the package.