Register a device

Now that the environment is setup, you need to register a device.

Step 1: Create a Project

Log into Developer Workspace and create a new direct-connected device integration. If you have previously created a project in Developer Workspace, there is a New Project button in the top right corner of the page. If you have not previously created a project, there is a button in the middle of the page to create a new project. Make sure you select Direct-Connected for the Device Integration.

You must be enrolled in an organization to publish a direct-connected device. As a member of an organization, be sure to have switched from private workspace to your organizations workspace (see the pulldown in the upper right corner of the Developer Workspace banner).

Once the project has been created you will see an Overview of your project like the image below. The Overview page guides you through the steps of a direct-connected device integration. Remember, your project is a one-to-one relationship with the device.


Your project can have four different states:

  • Develop - the state of your project when it is created. You are working on developing the device.
  • Deployed to Test - the state of your project once you have a device profile and an onboarding profile, you can move the project to Deployed To Test.
  • Publish Request - once your device is ready for wider release and you have submitted a request to be WWST certified.
  • Published - the device is generally available in the SmartThings Mobile App.

Step 2: Create a Device Profile

Now that you have a project, you will need to create a device profile. A device profile contains the components, capabilities, and metadata (ID, name, ownership, etc) that define a SmartThings device. Capabilities define the features of the device, and capabilities are grouped into components.


Once you have finished filling out the information for your device profile, click Save. You can now Edit it or perform additional actions by clicking on the three dots. From there you can choose to Delete or Download the UI Manifest. Once this has been completred, the overview page for your project will have a new block of information called Configuration for SmartThings Device Kit. You will also note that the block for creating a device profile has disappeared since that step is complete.


UI Manifest

The UI Manifest is automatically generated when you create your device profile. The system generates the file based on the standard capabilities you have chosen. It contains UI metadata that the app will use in order to display information correctly. Capabilities are automatically translated into different languages to support distribution in multiple countries.

You will have a chance to select in which countries to publish once you have submitted your device for certification. You can download the manifest file to see what the generated data looks like.

Step 3: Device Onboarding Information

Define the type of Secure Device registration you want for your device and customize the content to guide users through each step of device onboarding. Through this process you can define the screens your customers will see when they add your IoT device to the SmartThings app.


The first step is to enter the basic information about your IoT device as shown in the screenshot below.

Onboarding 2

User Instructions

Customize the text and images presented by the SmartThings app to guide your customer's experience when connecting their device. Four customizable screens:

  • Discover Device - is presented when the SmartThings app detects the device through wifi. Users can decide if they want to connect or ignore the device.
  • Introduction - identifies and describes the device. Starts the device onboarding flow.
  • Prepare Device - provides instructions for pairing the device. Use animated images to guide users if intervention is required for pairing or activating the device.
  • Confirm Device Ownership - you can use any of the following: Just Works, Button, 4 Digit Pin or a QR to require users to confirm device ownership.

Step 4: Add Device Onboarding Identifier

Add a unique identifier for your device. This identifier is used in the STDK to cthat will be used as an identifier to pair

Step 5: Deploy To Test

Once you have defined a device and onboarding profile you can privately publish it on the SmartThings catalog server. Once privately published you can access your device on the SmartThings app.


Step 6: Upload device identity

Provision your test device in SmartThings Cloud by providing a serial number and public key. You can create a public key using the keygen included as part of the STDK. The serial number for preliminary test devices use a predetermined prefix of "STDK" + mnId + number. The Developer workspace guides you in its generation. Copy the serial number in the next step when defining the device identity file for the STDK.


Back during the environment setup (Insert link back to that file), you created a device identiy for your IoT device. Add the public key here in the box and click Next.

Step 7: Download onboarding profile

Your IoT device must have an onboarding profile in order to connect to the SmartThings Cloud Server. The system will generate this file for you and you can download it here in Developer Workspace.


After completing all the registration steps and making the changes to the device app you will be able to test the devices features.