Custom capabilities for a driver

Ok, I double-checked and it seems the rebooting workaround doesn’t help for all device types. It is successful using a Zigbee device because, despite the error of “capability not found”, the device instance is created.
After rebooting the Hub, I was able to install a LAN driver that used the capability defined in that Zigbee device.

So, in this particular case, @alex.49.98. You’ll have to follow the steps I shared above:

This means you’ll have to switch to JSON format to use build_cap_from_json_string as Graham mentioned.

Note: If you have questions regarding that, please let me know.

About the categories, the ones mentioned in the ST Schema reference are values that can be used in the discovery interaction of this kind of integration.
I suggest you take a look at the ones mentioned here, which you can use in your device profile:

About this section, the value of mnmn must match the value shown in the presentation, in this case, “SmartThingsCommunity”. Get the details of your presentation with the command:

smartthings presentation id [-j or -y]

Also, there should be only one VID, a device cannot have multiple User Interfaces. You can create other device profiles (with different VIDs) to use in each one of them.

Note: The presentations b2b97493-e76c-4997-9cbf-9f4d532a5c53 and 5eb403a2-501d-4273-8a6b-7929db19e027 don’t exist with mnmn “SmartThingsCommunity”

They are not related. You don’t need to create a project in the Developer Workspace to work with Edge drivers, they are packaged, installed, etc. from the SmartThings CLI.

In the Edge drivers, you define the profile in the /profile/profile-name.yaml directory. This generates the corresponding profile once the driver is packaged. So, don’t worry about this step.

This command is used to generate a device-config configuration based on the ID received (profile, dth, etc.). This doesn’t create the device-config, it just helps you to generate the input
When you’re working with Edge drivers, you don’t have a device profile ID since the beginning, so you would have to define your device-config file by yourself.

SUMMARY

  1. Change your configuration to use the build_cap_from_json_string function
  2. Don’t consider the Developer Workspace when working with Edge Drivers, unless you want to see some config examples using the device profiles manager but those profiles are not used in Edge.
  3. Be careful with the metadata configuration you define in your driver’s device profile.

Let me know if you need to go over the development of an Edge driver step-by-step, there’s no problem with that.
Also, If you want some privacy (and to avoid sharing some sensitive information), you can send an email to build@smartthings.com.

Note: It would be helpful that you shared with me the type of device you’re trying to integrate (Zigbee, Z-Wave, or LAN) because each needs a different configuration.