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

7 Likes

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

Iā€™m curious why ST settled on Lua?
https://www.lua.org/

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

4 Likes

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

2 Likes

Now the cats out the bag !!

2 Likes

image

7 Likes

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:

3 Likes

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.

2 Likes

(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.

https://www.bmc.com/blogs/lua-programming-language/

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:

4 Likes

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.

2 Likes

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?