Integrating SmartThing's automation requires an understanding of the SmartApp lifecycles and implementing its protocol. The SmartThings nodes provided in the Automation Studio allows you to wire installed devices to implement autorun rules without any code. Or simply deploying an Automation node that implements the SmartApp lifecycle without coding. Event nodes for device subscriptions, Status nodes for device status checks, and Command nodes for device commands are provided.
In general, the SmartThings Automation is designed in the following order.
Place the Device Profile node and determine the required capability.
Enter the web-hook URL through the Automation node.
After that, implement the logic that corresponds to the autorun rule.
You can read the state of the device through the Status node.
You can command the Device by placing an Command node.
You can extend the experience using external APIs.
Device Profile Node
This node represents an installed device. In this flow, You need to choose a device for automation. Event, Condition and Action nodes need to know which devices will subscribe to the SmartThings Cloud or commands. This node has a capability that represents a device feature. Find more information about the Capabilities of SmartThings.
Properties
- Name (Required)
A label of the Name assigned by the user. It is a unique name in the flow.
- Capability (Required)
The List of Capabilities provided by this Device.
Determines if this Device supports the specified capability name.
Automation Node
This node represents the WebHook Endpoint of SmartApp. The Automation node handles lifecycles of SmartApp. A WebHook endpoint in this context is a web services application which can receive incoming HTTP POST requests.
Properties
- Name (Required)
A Name for the WebHook endpoint.
- Endpoint (Required)
An Endpoint that should be invoked during execution.
- Output
lifecyle Event
Next node is the Event node only.
Event Node
This node is registered as a subscriber through the Automation Node. Must be used with Automation Node.
This node represents a change of device. Whenever a user installs a SmartApp, they typically will select the devices to be used on the SmartApp. The installed device interacts with this event node. When the device changes and an event occurs, the event node can receive the event as a subscriber.
Properties
- Name (Required)
The label of the Device assigned by the user.
- Device
The unique system identifier for this Device.
- Capability (Required)
The List of Capabilities provided by this Device.
Determines if this Device supports the specified capability name.
- Attribute
The list of Attributes for this Device.
Determines if this Device has the specified attribute.
Status Node
This node checks the status of the device. When a user installs a SmartApp, they typically will select the devices to be used by the SmartApp. This condition node interacts with the installed device. This node allows you to branch the flows based on the state of the device.
Properties
- Name (Required)
The label of the Device assigned by the user.
- Device
The unique system identifier for this Device.
- Capability (Required)
The List of Capabilities provided by this Device.
Determines if this Device supports the specified capability name.
- Attribute
The list of Attribute s for this Device.
Determine if this Device has the specified attribute.
Command Node
This node can commands to the device. When a user installs a SmartApp, they typically will select the devices to be used by the SmartApp. This action node interact with the installed device. The commands in this action node can change the state of the installed device.
Properties
- Name (Required)
The label of the Device assigned by the user.
- Device
The unique system identifier for this Device.
- Capability (Required)
The List of Capabilities provided by this Device.
Determine if this Device supports the specified capability name.
- Attribute
The list of Attribute s for this Device.
Determines if this Device has the specified attribute.
Properties
- Name (Required)
The label of the Device assigned by the user.
- Device
The unique system identifier for this Device.
- Capability (Required)
The List of Capabilities provided by this Device.
Determines if this Device supports the specified capability name.
- Attribute
The list of Attributes for this Device.
Determines if this Device has the specified attribute.
Example
It's a SmartThings Automation using ContactSensor and LIFX Bulb
Create a WebHook with Device Profile and Automation Nodes
Add a device profile node for the ContactSensor with contactSensor capability.
Add a device profile node for the Bulb with a switch capability.
Add a node for the SmartThings Automation (webhook).
Add an event node to subscribe to the ContactSensor change.
Add status nodes to check the Switch is "Off".
Add command nodes to change the Bulb to "On".
Add command nodes to change the Bulb "Off".
Save and Deploy
Register in SmartThings Developer Workspace
In order for SmartThings Automation to work, app-registration is required.
Deploying your SmartApp to test does not mean your Service is published. When you deploy your Service to test, only the Samsung developer account used to deploy to test will be able to install the Service from the SmartThings app, and only after enabling developer mode in the SmartThings app.
After this, you can install the SmartApp that "Deploy to Test" above.
Visit Now - Samsung Automation Studio (Beta)
Manage Your Cookies
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.