Groovy Smart App or AWS Smart App

Hi all,

I was reading the documentation on smart apps here which recommends developing the smart app through a 3rd party cloud platform such as an AWS lambda functions. I did however find old documentation here for developing smart apps on the classic app. Is developing through groovy recommended/ still supported?

I can complete the groovy tutorial however when I publish my smartapp I am not seeing it under “my apps” in the classic smart things app on my iPhone. On the new SmartThings app I cannot find a section at all for “My Apps”. Just wondering what is the recommended approach or any useful advice for developing smart apps?

The groovy platform is in end-of-life stage, and will be going away in about a year. Whether it’s worth it to you to write something new knowing that it will eventually be gone is a decision only you can make. Here’s the official announcement with the timelines (the topic titled as a clickable link).

It’s also important to note that hardly anybody writes their own groovy smart apps anymore, not because at the end of life issue, but because there is now what is essentially a scripting language for smartthings called Webcore and it does a lot of the heavy lifting for you while still allowing you to do pretty much anything you can think of. :sunglasses:

So I think these days most people would suggest starting with Webcore and seeing if that does what you want.

3 Likes

Thanks for the reply

I was looking into WebCore and came across this presentation from last year. From this I took away that the path webCore is heading is just a user interface for the rules API . You mention that WebCore is essentially a scripting language but from what I can tell is it not just a more user friendly way for writing JSON rules?

I started looking more into the SmartApps becasue it seemed to have a bit more freedom than the Rules API. What I am working on I will need to eventually install in multiple homes and smartApps seems like a great solution for this.

As long as you realise the Groovy platform is end of life, I’d say it is worth a little bash as there is a lot in the structure that you’ll recognise in the lifecycle of a Webhook endpoint app. Just don’t get too carried away. It isn’t the future or even the present.

The usual problem is that old docs tend to refer you to graph.api.smartthings.com for the IDE. Use https://account.smartthings.com/ and see where it takes you. If the URL you end up on is not where you created your SmartApp you have some copying and pasting to do.

In the new app you should see My Apps when you go to install a SmartApp via the + menu on the dashboard.

1 Like

Thank you this solved the problem of getting the SmartApp from within the new SmartThings app. Seems to be working fine and operating as expected.

Do you know why this is? The current Rules API seems bit restrictive or am I missing something entirely. I know there was mention in the presentation above of developing the Rules API a bit more so hopefully that is why. Now if I want to develop a SmartApp I have to go through two cloud services Amazon and SmartThings cloud?

You’re basically correct, BUT they won’t move until RulesAPI supports the objects necessary (for instance, variables) to give full features to the port and why it’s not moved yet.
It is a full featured scripting language with a nice UI and a very BASIC-like syntax so it’s easy to get started but you can absolutely do stuff like interface with a REST API and pass JSON messages.

If I needed something powerful enough to be its own smartapp and If I were writing it NEW for future consumption by others I’d - DEFINITELY go the Lambda / Webhooks route. (and I’d probably choose Webhooks because I’m an Azure person - not an AWS person. :slight_smile:)

1 Like

Thanks Nathan, I’ll start looking into it

One problem with Groovy apps is that they run inside the ST cloud, consuming resources and potentially destabilising the system. However generally the legacy system isn’t fit for purpose.

AWS is one option for apps, and the ST cloud is already on AWS so it makes sense. The simpler to work with is Webhook Endpoints working with the REST API on third party storage.

The idea of Rules API is that automations of the complexity of webCoRE pistons (which can be very complex indeed) can be run natively on the cloud and potentially locally on the hubs. The need to actually write custom apps will be greatly reduced. It is very early days for it yet.

2 Likes

The recommended approach is to use the rules API or build an endpoint app. You can have one up and running on glitch in a few minutes. Please post any and all related questions here. You can also see a tutorial with video.

2 Likes