SmartThings API Browser+ ... Looking for Testers

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, 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)

  • Execute scenes and rules

  • Enable and disable Rules

  • Create modes, rules (from JSON file), virtual devices

  • Delete modes, rooms, 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 implement 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.

Right now I’m looking for some volunteers to try this out. I’m currently hosting it on my own modest server, which will limit the number of users. Ideally I’d like a mix of non-technical and developers to consider it from all angles. I’d also like to have someone with multiple locations and/or multiple hubs.

If you are interested, please send me a direct message and I will provide you the link. We’ll use this topic to gather comments and feeback.

Thanks.

19 Likes

Hi, Im interested as a (non-technical) user

1 Like

I’ve had a sneak preview of this, it’s awesome

1 Like

I will check it out, very interesting work and based on your drivers I am sure it’s fantastic.

1 Like

count me in!

i’d be glad to help try it out

I would very much like to volunteer and help out.

I would like to try it and help debug it. I am semi-technical, but not a code writer.

I have 2 ST locations, 1 with a hub and 1 without a hub

1 Like

I’m sure it will be great. I am not technical, I have only one house and one hub. But if you need my help, you can count me.

Tagging @orangebucket @csstup

Would love to assist.

I’m somewhat technical (could manipulate old DTHs, run CLI, etc) but I don’t write code.

One hub / 378 devices.

I’d love to check it out.

I wouldn’t mind taking a look as a technical user. Thanks.

Hi TAustin, Im interested as a (non-technical) user.
I have 2 ST locations, 1 with a hub.

Hello @TAustin

Good afternoon, I am interested in the proposal.

User with technical knowledge, 1 house and 60+ devices.

I’m in. …

1 Like

Wow thanks for all the responses already!

One thing I should have mentioned up front is that to use this, 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’ll create a private thread shortly for all you wonderful volunteers!

10 Likes

Count me in.

I’d be keen to see this and happy to test and provide feedback. Thanks

I’m game if there’s room.