In this section we’ll look at the types of integrations you can build with the SmartThings Platform, and how to select the best one for your development goals. Choosing the appropriate type of integration to build is the first step in the development process.
Automations allow you to create powerful routines, incorporating Devices and Connected Services already on the SmartThings Platform. There are two types of Automations on the SmartThings Platform:
- Rules enable you to automate the Devices and services that connect to the SmartThings Platform.
- Scenes enable you to simultaneously set a group of devices to a particular state.
Device integrations provide a method for quickly connecting your hardware products to the SmartThings platform.
There are four types of Devices, or physical products, that connect to SmartThings:
- Hub Connected
- Cloud Connected
- Direct Connected
- Mobile Connected
A Device integration enables you to connect hardware to the SmartThings Platform without the need for a standalone app or a custom experience that integrates with SmartThings. If you’re looking to quickly bring your hardware to the SmartThings Platform, a Device integration is the recommended approach.
For an in-depth look at the Device development process, see Device Basics.
Connected Services join a user’s smart home to the broader world through Clients, SmartApps, and OAuth integrations.
- Clients are mobile, web, or desktop applications that display and control SmartThings data. Clients are often developed to display a user’s smart home in a unique way and customize the way a user interacts with or views their devices.
- SmartApps provide you with a method of building custom experiences (including unique device automations and UI customization) and making those experiences available from within SmartThings clients, including the official SmartThings app.
- Other OAuth Integrations allow you to create new experiences for users by implementing a standard OAuth 2.0 web flow, which is then authorized to leverage the SmartThings APIs.
To get started, check out the Connected Services section of our documentation.
There are three main categories of development tools to help you build your Integration:
- The SmartThings API
- The SmartThings CLI and SDKs
- The Developer Workspace
The SmartThings API, a RESTful API, provides a method for your integration to communicate with the SmartThings Platform. The API is the core of the Platform. It is used to control devices, create Automations, manage Locations, retrieve user and device information, and more; if you want to communicate with the SmartThings Platform, you will be using the SmartThings API.
The SmartThings API consists of several endpoints, including Rules, Locations, Devices, and more. Even though each of these endpoints are not standalone APIs, you may hear them referred to as such. For example, the Rules API is used to build Rules.
Before using the SmartThings API, obtain an Authorization Token. All SmartThings resources are protected with OAuth 2.0 Bearer Tokens sent on the API request as an Authorization: Bearer
To get started using the SmartThings API or for info on obtaining an Authorization Token, visit the API section of our documentation.
For examples using the SmartThings API, visit the SmartThings Community.
The SmartThings Command Line Interface (CLI) allows you to run through the SmartThings development process, from creating a project to building the Device Plugins all from your machine. You can find installation and usage information about the SmartThings Command Line Interface (CLI) on our Community page here.
The Software Development Toolkits (SDKs) are designed to ease development of your Integration and your interactions with the API. SmartThings offers a variety of SDKs for different programming languages. Visit our SDK page to learn more.
The Developer Workspace provides an easy-to-use space for integrating your Automations, Devices, and Connected Services with the SmartThings Platform. After you finish building an integration, you’ll use the Workspace to submit your Integration for certification and to publish your Integration to the SmartThings Platform.
Now that you know the development process, sign up for a Samsung account and register as a SmartThings Developer to start building!