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.
Information incoming. Stay tuned
We are waiting @jody.albritton
Liking what I’m seeing so far.
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).
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.
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.
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.
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.
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.
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.
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?