SmartThings Developer Documentation¶
Welcome to the SmartThings developer documentation.
This documentation is organized into different sections:
- Getting Started
- If you are new to SmartThings development, check out our Getting Started documentation. Head over to the Overview, and progress through the material there.
- You can use the guides to learn more about specific SmartThings development tasks. Most guides are organized into several chapters.
- The reference material is where you will find API documentation, as well as documentation for the available Capabilities.
This documentation is actively being developed and expanded, so check back often!
Find a bug, typo, or just want to make an improvement? This documentation is open source and available on GitHub. We like contributions!
- Up and Running
- Groovy Basics
- Groovy With SmartThings
- Writing Your First SmartApp
- Create a SmartApp
- SmartApp Basics
- Events and Callback Methods
- Event Handler Methods
- Controlling Devices
- Using the Simulator
- Publishing and Installing
- Turn Off When Motion Inactive
- Going Further - Adding Flexibility
- Complete Code Listing
- But How Does the Switch Actually Turn On (or Off)?
- Next Steps
- Getting Help
- Tools and IDE
- Anatomy & Life-Cycle of a SmartApp
- Preferences and Settings
- State - Storing Data
- Events and Subscriptions
- Working with Devices
- Working with Time
- Sunset and Sunrise
- App Touch
- Making Synchronous External HTTP Requests
- Making Asynchronous External HTTP Requests (Beta!)
- Sending Notifications
- Parent-Child SmartApps
- Example: Bon Voyage
- Submitting SmartApps for Publication
- Web Services SmartApps
- Device Handlers
- Cloud and LAN-Connected Devices
- Arduino ThingShield
- Rate Limits
- Code Review Guidelines and Best Practices