Groovy is on the way out Smartthings Edge is the replacement

You can hear about it here:

It starts at 4:42 and ends at 10:33


Nice to know something definitive, and what to get familiar with.

I’m curious why ST settled on Lua?

From what i have heard on the podcast, lua is very fast and light scrpting language meaning that it is also easier to code with.

1 Like

Information incoming. Stay tuned :wink:

Announcement Link


We are waiting @jody.albritton :grin:

Liking what I’m seeing so far.

Programming in Lua (first edition)

1 Like

Curious to see if a conversion tool is coming


Now the cats out the bag !!




I wasn’t involved in the testing, so what hasn’t immediately become apparent from the available documentation is what the deal is going to be with ‘stock’ drivers, if such things still exist. A near fatal weakness of ST has been the lack of quality control of handlers. Once upon a time, it was seen as ‘a good thing’ when fingerprints and modifications for previously unsupported devices appeared in the stock handlers as now we could get rid of slightly iffy community handlers. However lately I have been finding the slightly iffy community handlers have often been the better option by some distance (for example, it is no use having the ‘official’ temperature sensor handler if it only reports temperature changes every two hours).

1 Like

This is the repo with official device drivers here: GitHub - SmartThingsCommunity/SmartThingsEdgeDrivers

Those are the ones that have been fully tested so far. There’s another (private) repo with a bunch more in there that are written and “working”, but not yet fully tested.

We’re also making these a lot easier to use/share. :slight_smile:


You had me right up to CLI…

heheh… nah, I guess I’m just going to have to give it another go. I had a few install issues on my first go with it, but I’ll get it going.


(Cross posting from the official announcement thread)

Wow! Vera (now Ezlo) has been using Lua for home automation since 2010. It’s lightweight, fast, and pretty easy to learn if you know other if/then scripting languages.

Here’s a good one page top level beginner’s guide to Lua for programmers, comparing it to Java and Python.

It will definitely look like coding to non programmers, but so does Groovy and Webcore.

This is an intriguing step. :sunglasses:

One very good thing: if I’m read this correctly, it should provide a path for companies like Zooz and Inovelli (and Aeotec) to provide the custom drivers for their zwave devices. Once they’re rewritten as Edge Drivers, of course. I’m not quite sure how it would work for @rboy ‘s code, though.

And I don’t know what’s going to happen to all the Tuya Zigbee devices using their proprietary clusters, but rebranded and firmware modified by different companies, that could be a mess. :thinking:

Anyway, interesting for sure.

edited to update

an expert has informed me that since an edge driver can handle multiple hardware variants and the parent/child construct will be replaced by component definitions in the original edge driver, situations like the Tuya proprietary cluster can be handled in a pretty straightforward manner. Which is good news. :sunglasses:


The CLI install has been streamlined. You can install it directly from NPM if you already have that on your workstation.

Once you have the CLI and a driver you can have a device installed in less than ten minutes.

1 Like

How do we know if we are using groovy or lua?

That’s the make or break thing for me.

Yes, the channels seem like quite an interesting solution. The drivers aren’t what I’d anticipated (I was expecting a lot less code) but I guess are a pragmatic solution, particularly the LAN drivers.

You mean as a user with devices? For the most part you don’t know. At the moment, you’d know because you’d have opted into a channel: Preview | SmartThings-managed Edge Device Drivers

At the moment, you can go into graph and look at you list of devices and if the DTH is listed as “placeholder” it’s a Driver. You can also use the CLI, smartthings devices will show the package key of a driver. In the app [Edit: Android only ATM, the iOS release got delayed] you can also click the ... on the device card and there’ll be a “Driver” item that will show you which driver for a lua driver based integration.

Though, for the most part, when interacting with a device, you shouldn’t see any difference.


Ok thanks this is what is was asking.

1 Like

The interesting thing is that I ran smartthings edge:drivers out of curiosity and ten things popped up. All were custom DTHs I’d used in the past, mostly very briefly, and since deleted. Don’t know where they were dug up from.

That’s sounds really weird, Graham. Some sort of caching glitch maybe?