Skip to main content

Device Profiles

A Device Profile defines a Device and its features on the SmartThings Platform. It contains the Components (which contain Device Capabilities) and metadata (ID, name, ownership, and more) of a Device, defining how a Device on the SmartThings Platform behaves. Before joining your Device to the SmartThings Platform, you'll need to create a Device Profile.

note

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

Components#

Components are used to include and group Capabilities in a Device Profile. A Device Profile must have at least one Component. This Component is named main by convention for all profiles with a single Component. Each Component must include at least one Capability:

{
"id": "<Device-Profile-ID-Here>",
"name": "sample",
"components": [
{
"label": "main",
"id": "main",
"capabilities": [
{
"id": "accelerationSensor",
"version": 1
}
],
"categories": []
}
],
"metadata": {
"vid": "sample",
"deviceType": "AirConditioner",
"ocfDeviceType": "oic.d.airconditioner",
"mnmn": "fNTD",
"deviceTypeId": "AirConditioner",
"ocfSpecVer": "core 1.1.0",
"mnid": "fNTD",
"mnId": "fNTD"
},
"status": "DEVELOPMENT",
"preferences": [],
"owner": {
"ownerType": "USER",
"ownerId": "<Owner-ID-Here>"
}
}

Create a Device Profile#

You can create a new Device Profile from the Developer Workspace Develop menu. Here, you can specify Device metadata including Device Profile name, Device Type, and Vendor ID. You can also add Capabilities to your main Component from the Workspace.

Alternatively, you can use the SmartThings CLI to create, retrieve, update, and delete Device Profiles. The Device Profiles API can also be used to interact with and maintain Device Profiles.