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.
Here is a summary of things you can do with the API Browser+:
Browse detail info for locations, modes, hubs, rooms, groups, scenes, 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 recent device history
Execute scenes and rules
Enable and disable Rules
Create modes, rules (from JSON file), virtual devices
Delete modes, rooms, groups, rules, 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, for example). However, I’m open to how this should/could evolve.
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.
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.