Developer Workspace

Integrate a cloud-connected device

This article explains how to integrate a cloud-connected device with SmartThings Cloud on Developer Workspace.

Cloud-connected devices communicate indirectly to SmartThings Cloud through a third-party cloud. There are 2 ways to create your Cloud connector:

  • Integrate with SmartThings Schema.
    1. Select the connection type.
    2. Set Connector information using SmartThings Schema.
    3. Self-publish
  • Integrate with SmartApp.
    1. Select the connection type.
    2. Set Connector information using SmartApp.
    3. Self-publish

NOTE

You are required to publish your device after development. See enroll as an organization member and publish your device.

In the Developer Workspace, go to Develop > Devices > Device Integration. Then click on the + CREATE A NEW DEVICE if this is your first device. Otherwise, click on + NEW to add another device. Then, select Cloud-connected device connected to your cloud for connection type. You can select with SmartThings Schema or with SmartApp.

With SmartThings Schema

If you have selected with SmartThings Schema, follow these steps.

  1. Enter Connector information. Set your connector information
    • Display name - This name represents your Connector on the SmartThings app. We recommend that a display name of your Connector be a combination of your company’s brand name and the product’s specific name such as its website or app name. For example, “Samsung SmartHome”, “Samsung SmartCam”.
    • Hosting type - For AWS Lambda you will enter the Target ARN for North America, Europe, and Asia Pacific with the prefix arn:aws: where you are hosting your connector. Choose WebHook to provide the Target Url where you are hosting your connector. Note: Please check back again later if WebHook option is not available as an option).
    • Client ID - This is generated from your cloud. Enter unique public string used to identify the client requesting authentication.
    • Client secret - This is generated from your cloud. A credential you provide that lets the Alexa service authenticate with the Access Token URI. This is combined with the client ID to identify the request as coming from Alexa.
    • Authorization URI for your cloud - The URI where users will be redirected to enter login credentials.
    • Refresh token URL - A refresh token is a special kind of token that contains the information required to obtain a new access token or ID token.
    • Partner OAuth scope - This specifies the exact permissions authorized by the user.
  2. Enter catalog information. Set your catalog information
    • Brand name - Enter the brand name.
    • Brand logo image - Upload your brand logo as a PNG file (.png extension) and 240x240 in dimension.
  3. Click SAVE.

With SmartApp

If you have selected with SmartApp, follow these steps.

These steps involve the following concepts:

  • Device profile - This describes the capabilities, components, and metadata (ID, name, ownership, etc.) that define a SmartThings device.

  • Connector - This is a SmartApp that translates events between SmartThings Cloud and third-party clouds.

  1. Enter your device information. Set your device information

    • Select Device profile and click + Add to select an existing profile. See create a new device profile to create new profile.
    • Enter Display name. This name represents your device on the SmartThings app.

    • Click SAVE.

  2. Enter Connector information. Set your device information
    • Display name - This name represents your Connector on the SmartThings app. We recommend that a display name of your Connector be a combination of your company’s brand name and the product’s specific name such as its website or app name. For example, “Samsung SmartHome”, “Samsung SmartCam”.
    • Connector name - Provide a unique name for this Connector. Deleting the Connector will also remove this Connector name from SmartThings Cloud.
    • Description – Describe your SmartApp in up to 250 characters.
    • SmartApp instances – Select Single or Multiple to indicate whether you want users to install your solution in one location (Single) or in multiple locations (Multiple). For example, users may have multiple external cloud accounts that need to communicate with SmartThings Cloud.
    • Hosting type – Select WebHook endpoint or AWS Lambda.
      • If you plan to host and execute your SmartApp on your own platform, select WebHook endpoint. Enter the Target URL with the prefix https://. A target URL is used by a server to interpret a JSON payload and run custom logic when an event happens.
      • If you plan to develop a SmartApp as an AWS Lambda function, select AWS Lambda. Enter the Target ARN with the prefix arn:aws:. Amazon Resource Names (ARNs) uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS (e.g. in IAM policies, Amazon Relational Database Service [Amazon RDS] tags, and API calls).
    • Scopes – Define OAuth scopes for your SmartApp to allow the third-party cloud to communicate with SmartThings Cloud. See OAuth2 scopes.
    • App settings - All keys and values must be no longer than 1000 characters. Keys must not be duplicated.
  3. Click SAVE.

Self-publish

Self-publishing allows you to test your device with the SmartThings app.

  1. Save the Client ID and Client secret by clicking Download .csv file. If your SmartApp makes requests outside of being called by SmartThings, this information is needed when using a refresh token to receive a new token.
  2. You can download a self-assessment checklist generated by Developer Workspace during this step. Completing this checklist is a requirement for requesting to publish.
  3. Click SELF-PUBLISH to self-publish your device. The device information is sent to SmartThings Cloud.

After you self-publish your device, you can see your device in the list view. And you can copy your Client ID and regenerate Client secret in the Self-publish box.

Next steps