FAQ: I have no idea what Edge is. Is that a new developer tool? (2022)

As of January 2024, SmartThings has now completed transition to a new architecture, part of which is called Edge.

The Samsung-hosted free groovy cloud gradually went away beginning on September 30, 2022. For hub-connected devices, including Zwave and Zigbee, the DTH replacement is Edge Drivers, which are written in the Lua programming language and will run locally on your own hub.

IF YOU ARE NEW TO SMARTTHINGS

If you are new to SmartThings, the basics of the SmartThings architecture are pretty simple:

A) An “Edge Driver” is code that runs on your SmartThings/Aeotec hub so the hub can talk directly to an individual device. If you don’t have a hub, you can skip all the rest of this thread: it won’t apply to your setup. :sun_with_face:

B) If your device uses a “cloud to cloud” integration where it talks to its own manufacturer’s cloud and that cloud sends messages to the SmartThings cloud, again this FAQ will not apply, so again you can skip all the rest of this thread. Some examples of this are Ring doorbells, Arlo cameras, and Google Nest products. These do use the 2023 architecture but they don’t need Edge Drivers. :cloud::sun_behind_small_cloud::cloud:

C. To use an Edge Driver, you have to get it loaded onto your own hub. Samsung supplies every customer who has a hub with a bunch of “stock” Edge Drivers. These are automatically downloaded when you add the hub to your account. They also get automatically updated as needed when the hub gets a firmware update. 🛜

D. Sometimes you might want to use a “custom” edge driver created by the device manufacturer or another community member instead of the stock edge driver for that device. To use one of these you follow a link to a “channel” page where you can subscribe to individual custom edge drivers created by the author of that channel. Once you have subscribed to a driver, it will be automatically downloaded to your hub. You will also automatically get future updates to that edge driver.

E. Once the edge driver is downloaded to your hub, when you go to add a new device that needs that particular edge driver, it should automatically use it. You can also switch from one edge driver to another for zwave or Zigbee devices by going into the “device details“ for that device in the smartthings app. Just remember that you have to already have the edge Driver you want to switch to downloaded onto your hub. (While it is possible to switch between drivers by using the web interface at my.smartthings.com/advanced , that appears to just sync up the change to be implemented later, probably on a time cycle. If instead you make the change in the smartthings app on your mobile device, it will take effect immediately.)

Caution: switching works fine for Z wave or many directly-connected zigbee devices. In contrast, LAN devices typically exchange a security key when they are first added to your account and trying to switch to a new driver may make that device non-functional. Devices in this category include the hue bridge and Sonos. If you are getting custom code for an LAN edge driver the author will usually give you instructions about how to switch your device to it, so you’ll need to read those instructions carefully if your device is not using Z wave or directly-connected Zigbee. The community has put in a feature request to have the smartthings app changed so you won’t be allowed to try to switch an LAN device (since it isn’t going to work anyway), but that hasn’t happened yet.
.
In addition, some battery powered devices and some multicomponent devices (like dual gang switches or multisensors) may not work correctly if you just change the driver in the app. Instead, you might have to delete the device from your account and then re-add it in order for the custom edge driver to correctly configure the device. if this is true, the author of the edge driver will usually have a note about that in the instructions for using that edge driver.

F. If you want to find detailed information about your smartthings account which is not available in the app there are two good places to look.

SmartThings provides an official account web interface for the new architecture at my.SmartThings.com

In July 2023 they added an “advanced users“ page with more technical details:

https://my.smartthings.com/advanced

There is also a community-created project called “API BROWSER PLUS” which is a web interface that can give you even more of the technical details about your account. Here’s the thread about that:

SmartThings API Browser+ ... Now Available to All

Summary for New SmartThings Users

So that’s it for the basic information on Edge Drivers! :tada: SmartThings uses “Edge Drivers” so a SmartThings/Aeotec hub can talk to a specific device. Samsung provides stock Edge Drivers which are automatically loaded Whenever you add a new hub to your smartthings account and will be automatically updated and used from then on.

Some customers may want to use custom edge drivers in order to get access to additional features of a device which are not available through the stock edge driver. To use a custom edge driver you follow a link to subscribe to the author’s channel and then select the individual edge drivers you want to have downloaded to your own hub. Once you have selected the one you want, it will be automatically downloaded and updated. You might have to manually switch your device from the stock edge driver to the custom edge driver, but once you have downloaded the custom edge driver you can do the switch in the smartthings app just by picking from a list of available edge Drivers for that device. :calling:

If you don’t have a SmartThings/Aeotec hub or you don’t plan to use any custom code and you aren’t interested in the technical details of the smartthings Architecture, you can probably skip all the rest of this thread. :sunglasses:

If you are a power user, you are planning to use custom code, or you just like to read about the internal details of how the system works, the rest of this thread is for you.

POWER USER EDGE FAQ BEGINS HERE

  1. Here are the official announcements:

Announcement | Changes to our Legacy SmartThings Platform

Announcement | SmartThings Edge for Devices and Automations

The End of Groovy Has Arrived

Official transition FAQ:

https://support.smartthings.com/hc/en-us/articles/9339624925204

And here is a thread on which hub models will work with Edge:

Smartthings Edge and code/hw requirements

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.

https://thingsthataresmart.wiki/index.php?title=Quick_Browse_Lists_for_Edge_Drivers

If the community wiki is not available, try the following instead:

FAQ: Using the quick browse lists without the community wiki

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.

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.

Switching between available drivers

If your device uses zigbee or zwave, you will be able to switch from one of the listed drivers to another just by selecting it on the list.

However, if your device uses LAN communications, like the hue bridge, and you try to use the device details list of drivers to switch between available drivers, your integration will break, and your device will become uncontrollable, because these kinds of devices require some security information which is only available when the devices first connected to your smartthings account. :disappointed_relieved:

There have been community requests to support that the app be updated to not allow for a driver change if it would break the integration, but this has not been done yet, and right now you can get yourself in trouble.

It appears that the only way to fix it once this problem occurs is to remove the device from your smartthings account, remove all the matching drivers except the one you want to use, and then re-add the device. But that’s a lot of work and also requires updating all your routines and automations. :sob:

Hopefully not too many people will run into this issue as there are very few LAN devices that have drivers right now, but it’s definitely something to be aware of.

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

To see which Devices are using each driver on your hub

4. The IDE is no longer available

The IDE went away when the groovy cloud went away.

It was replaced with the Advanced page of the new web UI to your account.

my.smartthings.com/advanced

(Please do not call the web UI “the new IDE.” “IDE” is a standard industry term which stands for “integrated development environment.” An IDE normally offers a simulator, which the new advanced page does not. It’s just a webpage with information about your SmartThings account.)

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, stopped working once the transition was complete. if you were 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. :thinking:

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.

CLI: How to Install and Use

The CLI is a programmer’s tool and requires that you have a laptop.

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 join the network for the first time.

Some smartthings documentation and third-party apps Will call this The “manufacturing code.“ It’s the same thing.

If all you need is the fingerprint for an individual model, you can skip the rest of this section, and just use the new “advanced” section of the official web interface:

https://my.SmartThings.com/advanced

If you’d like to know more details, or get more information, the rest of this section goes into that.

@jds13 had a very good post on the details

There are several different ways to find a device’s fingerprint:

The most popular method at the time of this posting is the official web UI

the community-created API browser plus webpage has some additional details that power users may find helpful.

It gives a very nice view of device details, including the fingerprints. The following image was posted by @h0ckeysk8er in another thread:

But if you are already using the CLI for other things, you may prefer to use that directly. It’s up to you.

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. :thinking:

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.

Groovy SmartApp Shutdown

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

25 Likes

Yup, everyone just sit tight (no pun) and dont make any drastic moves like jumping to another platform as it just might have underlying hidden problems of its own.

(Removed by author. This referred to processes which were used in 2022, but are no longer available.)

9 Likes

8 posts were split to a new topic: [OBSOLETE] Discussion of 2022 Transition Process