[BETA RELEASE] enumerate (device command exploration tool)

I began writing this to include in another smart App, but it’s useful in it’s own right.
This app was created to explore, create test and save device methods.

The initial screen and “showMethods()” command will expose the target devices methods, standard and custom in the “Supported commands” section of the error message.

The add custom command page allows you to create commands with parameters.

Once a command is created and executed successfully against a device, you can then save it in the app for use later. Unfortunately the command I created in the above screen didn’t execute on any of my devices. :confused:

Here is a command I was able to save, this is for a Figaro RGBW controller. When executed this command sets the controller to a built in color cycle that @twack exposed in the custom device type.

Enjoy!

https://github.com/MikeMaxwell/SmartThingsPublic/blob/master/smartapps/mikemaxwell/enumerate.src/enumerate.groovy

10 Likes

This is pretty cool @Mike_Maxwell. You should do a walk through of this with @pstuart on his show. Pretty clever.

On my phone — did you manage to figure out a way to send zwave commands directly from within a smart app?

No that’s not what I was after. This app is for harvesting and testing device commands on devices without having to write a dedicated app to do so. In all likelihood it will be in a future release of @bravenel s rule machine.

2 Likes

I just posted a major update to this app…

The available commands are now parsed and available to select for testing and saving if desired.
There’s also a base device type to select from (just in case your device doesn’t have capability actuator)
–select base device type
–select the test device
–new custom command
–available device commands shows all commands the device is capable of
–configure the parameters (if any)
unless the command failed, you can optionally save the command, if saved, the command will available on the main page for future use with other devices.

@pstuart and I had a pretty good time messing with this and his HTML hacks on LCF tonight.

2 Likes

And an additional bit of disclaimer here.
This app will expose methods for devices that do not have published device types, meaning device types that ST has elected not to publish as examples in the IDE.

Experimenting with exposed methods that you don’t have the code for is at your own risk.
So, should you find a method somewhere called selfDistruct(), you might want to pause (or at least run like hell) when executing it.

Joking aside, I think you get my point.

Very interesting app @Mike_Maxwell, great to expose custom commands to run/test from within ST mobile app.

I would also like to be able to run these custom commands from Rule Machine, as you did on LCF last week … is this function available to the community yet?

Make the request to Bruce, I’m currently running a modified version with the custom command code in it for rule and trigger. I think with more interest (other than just me bugging him) he may make it a higher priority.

2 Likes

Real sweet. I’ve had a need for this for a while :). Thank you

1 Like

Thanks! That’s me, one bizarre smartApp after another…

This application is no longer being maintained, all current functionality, including several bug fixes have been rolled into and are available for use in @bravenel Rule Machine application.

Details regarding the implementation within Rule Machine are located here.


Should you intend to use the current code (in whole or in part conceptually) within another smartApp, please request my approval via PM.
Thanks for playing!