NOTICE!!: SmartThings has now released its own equivalent of this app here, so you may prefer to use that instead.
I have a browser-based web app that provides a point-and-click way to explore most of the SmartThings API. For the non-technical, this gives you access to an important SmartThings resource without having to learn tools like Postman, curl, or the CLI. You don’t even need a computer: a tablet or even smartphone can be used. For the more technically inclined, it provides much faster and more convenient access to those commonly-accessed CLI commands. Although I originally thought of it as a portal for the non-technical, I’ve actually found it quite useful to use during my own development activities.
This is not intended as a replacement or ‘competitor’ to the CLI, mysmartthings, IDE(? well, maybe…), mobile app, etc, but is meant to provide a quick and easy supplemental tool.
I want to also acknowledge @lmullineux’s device info viewer, which probably already covers 85% of the use cases with its focus on devices.
Here is a summary of things you can do with the API Browser+:
-
Browse detail info for locations, modes, hubs, rooms, groups, scenes, automation routines & rules, preferences, profiles, devices, drivers, capabilities, channels, apps
-
Apply filters to device listing (e.g. Get list of offline devices, just devices of a particular type (DTH, LAN, Zigbee, etc), or devices based on any chosen attribute and value)
-
View location activities
-
View device history
-
View legacy Zigbee and Z-Wave device graphs (DTH-based devices only)
-
Manage Rules: create, update, delete, enable/disable, execute
-
Execute scenes
-
Create modes, camera groups, and SmartThings native virtual devices
-
Delete modes, rooms, groups, devices
-
Move a hub device to another driver
The reason I have the ‘+’ at the end of the name is because I’ve implemented some additional convenience features above and beyond the raw API endpoints. For example, things like ‘list all the devices where a particular capability is used’. This can be accomplished with some gymnastics using the CLI plus other tools, but here it’s just a click away.
In the spirit of not wanting to recreate the function of other existing tools, this is currently mostly a browsing tool and I have not implemented create/edit/delete kinds of functionality with the exception of a few cases (virtual devices and rules, for example). However, I’m open to how this should/could evolve.
PRE-REQUISITE
You will need a SmartThings Personal Access Token. If you don’t have one already, it’s a simple matter of going to this page and creating one. You can read more about what it is on this page , but basically this is a special key that SmartThings will create for you that you use to access various SmartThings resources like the API.
You will see that there are a lot of choices for the “scopes” you want to include in your Token. This determines what resources your token will allow you to access, and what you can do with those resources (read/manage/control/etc). You’ll want to have at least read access to as many things as you will want to explore using this API browser. You can create multiple tokens, so the choice is yours.
12/14/22 UPDATE
I’m now making this available to all community members. The latest link to the app can be found HERE.
We’ll continue to use this topic to gather comments and feedback.
Thanks.