Interactive Smart Apps

Hi Everyone,

Is it possible to have smartapps that are interactive? I am new to smartthings, but I have many years experience in various other environments. I have already written a few device handlers and a few smartapps. It seems like the smartapps as I understand them is a way to instantiate a custom “script”, instead of something you interact with.

For example, I am writing an app that communicates with my thermostat and smart vents and vent controllers/thermostats. It would be good if I could graphically set the temperature of all the thermostats via some sort of UI at the app itself, or see the average temperature of all the thermostats, or see the temperature of every thermostat, etc. I know you can probably code some input value that if set would have the effect of setting the temperature, but I do not yet understand how to give feedback to the user (like average temperature) except for logs. Even with the input implementation it seems like you stopped a script, changed some variables and then restarted the script. Isn’t there a way where all of the setting/displaying can be done in a UI at the app itself?

I think the alternative is to write a “controller device” that would communicate with a smart app running in the background where all the UI elements would be in. Is that how the smartthings infrastructure is supposed to work or am I missing something?


Easiest way to achieve your goals would be to use a tablet (android) with Sharptools or ActionTiles as your GUI.

I use their Rules Engine in conjunction with tiles that provide a graphical method of reporting my shop temperatures, household, and Outside conditions. I can then set the thermostats, blinds, shades, etc accordingly.


Thank you for your response. I am not sure you answered my question exactly, but I guess maybe indirectly you did? Using a third party service seems to contradict keeping everything in the Smartthings infrastructure. It seems like the graphical UI elements only exist in Devices and not in the SmartApps. If so, this implies that in my case I would have to, in fact, create a controller device that communicates with the controller smartapp to be able to have something similar to the action tiles you pointed me to. Or I guess another approach is to make my own web app that communicates with the smartapp using the web API. It is curious that this cannot be directly on the smartapp. In other words, make an app work like an app, but just a smart script. Am I missing something?