SmartThings is in the middle of a transition to a completely new architecture, part of which is called Edge.
The Samsung-hosted free groovy cloud will gradually go away beginning on September 30, 2022. For hub-connected devices, including Zwave and Zigbee, the DTH replacement will be Edge Drivers, which are written in the Lua programming language and will run locally on your own hub.
- Here are the official announcements:
Announcement | Changes to our Legacy SmartThings Platform
Announcement | SmartThings Edge for Devices and Automations
December 2022 update announcement on progress of the migration
Update to SmartThings Groovy Transition
Official transition FAQ:
List of stock edge drivers which hav been put into production:
Groovy to Edge Device Migration List
Official timeline for what gets shut off when:
The End of Groovy Has Arrived - #765 by SmartThings
And here is a thread on which hub models will work with Edge:
Smartthings Edge and code/hw requirements
And on December 27, smartthings added a new thread, which lists which models have been migrated:
Some of your devices may be automatically transitioned to stock edge drivers as this rollout takes place.
2. Using a custom edge driver
You can find a list of community-created Edge Drivers in the quick browse lists in the community-created wiki. You are limited to a total of 50 Edge Drivers per hub, but many handle many different models in one Edge Driver.
To use a custom Edge Driver, you have to subscribe to the author’s channel, which means following a weblink they will give you. That will take you to a webpage that SmartThings hosts where you can select which specific drivers you want downloaded to your hub. If you have more than one hub, you will be able to specify which one you want to use.
It can then take a little time for the driver to be downloaded to your own hub (in some cases as much as 12 hours has been reported), but it usually happens within a few minutes.
Once it is on your hub, you can add a device of that model to your account by using the “scan nearby” option in the ST app and it should automatically use the driver that matches its “fingerprint.” The device should then show up in your app either under “no room assigned” or in the same room as your hub.
@Terri_Baker has an excellent post that details the complete process for getting a new Edge Driver on your hub. Or removing one you don’t want anymore.
Note that during the transition phase while both architectures are still running There are a bunch of extra steps you have to take in order to switch from using a groovy DTH to using a custom edge driver. The exact steps are detailed in post 3 below.
3. How To tell if your device has a driver already available on your hub
If no driver is listed that just means you don’t already have one on your hub. you may still be able to find a custom driver and download that.
How to see which custom driver channels your hub is subscribed to
To see which custom driver channels you are subscribed to, go to
your hub device page in the mobile app, tap the upper right menu and choose Driver.
4. IDE Information will be incomplete for devices using Edge Drivers
Note that the IDE will be going away when the groovy cloud goes away, and it has not been updated to deal with non-groovy code, so all the edge drivers will show up just as “placeholder“ and if you try to make changes to them through the IDE you can break communications with the device.
The following thread may also be helpful:
Life after the IDE: Questions and Answers
5. Questions about a specific edge driver
If you have any questions about a specific edge driver, ask in the author thread for that channel.
6. The future for groovy
And, yes, this means that all groovy DTHs, stock and custom, will stop working once the transition is complete. SmartThings says they are working on a method to automatically transition everyone if there is an Edge Driver with a matching fingerprint, but if you are using a custom DTH that might lose you some features unless you can find a custom Edge Driver with feature parity. But this is just something you’ll have to research model by model.
7. More tools
The following thread discusses how to use the CLI to get device information in the new architecture and how to set up a development environment if you want to write your own edge driver.
The CLI is a programmer’s tool and requires that you have a laptop.
If you’re looking for something more like the old IDE, a webpage with details about your account that doesn’t require getting into code, a community member has created a webpage for the new API which helps fill that gap. (The topic title is a clickable link.)
8. A note about “fingerprints“
You will see a lot of discussion of “fingerprints“ with respect to edge drivers. A “fingerprint“ is the smartthings’ term for a numeric code representing the manufacturer and model number of a device. Zigbee and zwave Devices will send this information to the hub at the time that they joined the network for the first time.
@jds13 had a very good post on the details
While we still have access to the IDE, that’s probably the fastest way, it will be listed with the device information.
There are several different ways to find a device’s fingerprint without using the IDE:
9. a note about edge driver integrity
The old smartthings architecture was unusual in that you could look at every line of custom groovy code that was going to run on your account. But of course that’s not how most apps work. If you download something from the Google playstore, you don’t really have any idea what the code does and you are not typically given a means to look at it.
Custom edge drivers are more similar to google play store apps in that regard.
edge drivers run on your own hub.
In order to get them onto your hub, you have to download them from a “channel“ which is in the smartthings cloud.
In order to do that download, you will follow a link that the channel owner gives you that takes you to a webpage which is accessing the smartthings cloud.
You sign into your SmartThings account on that webpage.
It then displays the channel details. You can subscribe to the channel and then select individual drivers that you want to have downloaded to your hub. ( the download process can reportedly take as much as 12 hours, but it’s usually pretty quick.)
Once the driver has been downloaded to your hub, you will be able to see its presence through the smartthings app.
In order for a developer to get a channel in the smartthings cloud, they have to go through some paperwork and sign up. But it’s not like an app in the Apple store: they are not required to have the code reviewed for malicious intent before it becomes publicly available.
So at no point does the code have to be available for the end user’s inspection. And even if there is code in GitHub that the channel owner says is what will be downloaded to your hub, there’s no guarantee that it will be the same.
Which is pretty much the same as apps on the Google playstore, if I understand that process. There are promises, but no guarantees that the promises will be kept.
There is a thread in the developer section of this forum which discusses these issues in detail if you are interested in that.
Note that a lot of community developers welcome this change, because it allows them to charge a license fee for their work Without concern that someone will get a copy and then just share it around.
10. OK, that’s edge drivers. What about groovy smartapps, including webcore? Are those being shut off, too? Are there edge smartapps?
Yes, all custom Groovy cloud that runs in the SmartThings cloud will be shut off, including Webcore. And, no, there are no edge smartapps. That’s because we as customers are not allowed to add anything to the hub except edge drivers.
The official announcement says that the shut off will occur during the week of January 16, 2023.
11. Wait…what? So how do I replace my custom smartapps?
The short answer is you can still write your own customs smartapps, even in Groovy, but you have to host them yourself, either at a hosting service or on a local server. The smartapp will then communicate with the SmartThings cloud through a REST API. (There is no option for a smartapp to communicate directly with an ST hub, so the new architecture for SmartApps is very similar to the old groovy cloud architecture in that regard. Your smartapp basically requests the cloud to talk to the hub for you.)
And, yes, that’s a lot more work and potentially money.
Noncoders May prefer to use other prebuilt alternatives. One of the most popular is SharpTools. It has a very user-friendly visual interface that runs in any browser. More powerful than the routines built into the SmartThings app, although not as powerful as Webcore (yet). There’s a free tier that may be all you need, or a pro tier for $30/year. And a free trial. So if you’re not a programmer, it’s worth a look.
There are other options, too. See the following discussion thread:
Replace Groovy with Automations—what’s your plan?
Just remember that when it comes to smartapps, you are usually talking about “automations,” not “Edge.”