Integrate a cloud-to-cloud device

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

NOTE

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

Select the connection type

  1. 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.
  2. Select Cloud-to-cloud device connected to your cloud for connection type.
  3. Select with SmartThings Schema or with SmartApp.

Set information

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