Skip to main content

Create a SmartApp

Prerequisites

  • Sign in to your Samsung Account.
  • Sign in to the Developer Workspace.
  • Pick a solution to host your SmartApp. Visit Choosing a Hosting Solution for more details.
  • If using a webhook, an app server up and publicly accepting lifecycle events (needs url) from SmartThings via HTTPS.
  • Verify your domain ownership
  • If using Lambda, permission to execute your Lambda (url) function must be granted to SmartThings.

Types of SmartApps

There are typically three types of SmartApps you can create. Which one you choose will depend entirely on your specific application. Choosing to start with a Simple SmartApp will not preclude you from enabling more advanced features later.

Simple SmartApp

If you need to create something more complex than a rule, but do not need to hold outside authentication information or other data, you will use a simple SmartApp. We have created an example tutorial on building a simple SmartApp that sets the color of a light based on the weather in a given zip code.

https://community.smartthings.com/t/simple-smartapp-tutorial-smartapp-sdk/194664

Services with a Complex SmartApp

If your SmartApp needs to allow external communication or authentication with a third party, you will need a context store. We have created a tutorial on building a SmartApp with Context Store here:

https://community.smartthings.com/t/endpoint-smartapps-with-file-store-contexts/219761

Cloud Connected Devices with SmartApp Connectors

It is possible to create and control cloud connected devices with a SmartApp. For more complete instructions on how to work with cloud connected devices please visit the Devices documentation section.

Create Your SmartApp With the SmartApp SDK

There are two SDKs available to help create your SmartApp.

The SDKs are a set of libraries and wrappers around the SmartThings API designed specifically for SmartApp creation.

tip

For information on hosting your SmartApp, visit the Hosting section.

After creating your SmartApp, the next step is registering it with SmartThings.