Are all SmartApps going away?

When Groovy is ended on September 30th, are all SmartApps going to be gone?

I have a lot of Custom smartapps that I paid a developer to make for me. Will these and all others be totally gone?

Or will it still be possible to have smartapps and custom smartapps?

Different questions. So let’s see if we can sort it out.

Samsung Will no longer offer a free groovy cloud where you can host custom smart apps and custom DTHs

So what’s going away is the place where custom smart apps and custom DTH is currently run. So anything that you have now that you had developed to run in that custom cloud is no longer going to run.

Option 1 for DTHs

The replacement for DTHs written in Groovy are edge drivers written in LUA which run on your own hub. You can run the production versions offered by Samsung for most zigbee and zwave devices. But just as with the previous architecture, there are also individual community members and device manufacturers creating custom edge drivers. There are quite a few of these already, and normally they are created to offer support for features not handled by the standard versions.

To read more about these options, see the community FAQ:

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

So that’s pretty straightforward. If you currently use a custom Groovy DTH, check and see if there’s a custom edge driver for the same device offering the same features.

Option 1 for groovy smartapps: replace them with the official features.

If you previously were running a groovy smartapp that ran in the free Samsung Groovy cloud, you’ll have to find a new option for that functionality.

The first thing to do is to try the current routines in the SmartThings app. This has a lot of features that were not available in previous app versions, and it may be all you need for some use cases. It’s certainly worth checking.

SmartThings also has a new feature called the Rules API But it is still in development and not fully documented. It was intended to give power users ability to create something sort of like webcore pistons but using official features, but it doesn’t have full parity with webcore yet and it feels very technical. worth a look if you’re comfortable with scripting. And it doesn’t have a web interface: I’m pretty sure you have to have a PC to work with it.

Option 2: SharpTools

One of the most popular options is the third party SharpTools rules engine. They have a free version for simple use cases and a more powerful pro version at $30 a year. Many people find they can do everything they did in their custom smartapps with this. It’s also been a pretty good substitute for Webcore for many people. The developers are also very responsive if you post in their community forum with features that you’d like to see.

I’m putting this as the second option because I think it’s really the easiest to use after the smartthings app itself. It has a nice visual interface and a very understandable structure. And it works in a browser: you don’t have to have a laptop. Just a mobile device with an Internet connection.

It’s true that it doesn’t run locally, but then your previous Groovy smart apps didn’t run locally either. I think it’s definitely worth a look.

Option 3: Ask the author (or at least in the author’s thread)

Also, check with the author of the previous smartapp. They may already have a recommendation for what to do after Groovy. The answer could be complicated: it might involve Ifttt or Alexa routines or MQTT or node red or Some other kind of integration. But it’s certainly worth asking. For example, an author of a previous MyQ Lite integration is working on a new version now. And if you check in the homebridge thread in this community, there are a couple of suggestions for replacements for that that you can try.

Option 4: Hubitat

If none of those meet your needs, it’s worth considering Hubitat. It’s a competitor hub, created by previous smartthings users, which has a version of Groovy that runs locally and can support most of the custom Groovy code that was written for smartthings. For example, some people who just couldn’t imagine doing without WebCore end up running it on Hubitat.

You’ll have two possible configuration options. Either you can just move everything, including all your devices, over to Hubitat and run the groovy code there and only continue to use smartthings for Devices/Integrations that Hubitat doesn’t have. Like Matter.

Or you can leave your devices on smartthings, and just run the smartapps over on Hubitat.

You’ll need a way for smartthings and Hubitat to communicate with each other, of course. MQTT is one possibility, although that’s fairly technically complicated to set up. But I would ask in the Hubitat forum for how people are going to approach this kind of combination. It’s definitely doable, it will let you keep most of your custom Groovy code, but it’s certainly a much more complex solution than just using SharpTools.

Option 5: write brand-new smartapps, host them yourself, and use the new architecture

You can still have custom smartapps, it’s just that smartthings isn’t giving you a free place to host them anymore. You can write them in any language you want and then connect with smartthings through their API. But this is a real programming project. I’m sure you can hire a professional to do it, but I have no idea what it would cost. And you would still have to pay for the hosting unless you set it up on a local server on your LAN.

Summary

So different solutions will work for different people, depending both on the exact use cases you are trying to replace and your own preferences about technical complexity etc. there are still custom edge drivers, but they aren’t written in Groovy. And there are still custom smartapps, but you have to host them yourself.

The groovy custom code that you have right now is going to be homeless once this transition is complete. so that’s why you’ll have to decide whether you want to move it to a new groovy home, like Hubitat, or replace it with something that works with the new architecture.

6 Likes

thank you for the excellent reply!

my issue is that i have 12 custom Smartapps that I had programmed for me like 6 years ago to be able to control my blinds. the blinds have an IR receiver, and i have a Global Cache Ethernet-2-IR device that sends out IR signals to them with a custom smartapp for each blind. Basically one smartapp to send OPEN BLIND and another to send CLOSE BLIND. then i make a switch called Open Blind and Close Blind to get it to work.

I haven’t been paying attention to ST in years, as everything has just worked fine, so I am at a loss to as what I should do.

It’s possible to get some cloud hosting and host the code there and integrate it with the smartthings API?

or use Hubitat?

I am willing to pay anyone to help me with this, as I really am not sure what to do.

1 Like

This should be doable by rewriting them to run on a local server. Global cache has a published API, so it’s not that hard to write something to talk to it.

Tagging @taustin and @Automated_House in case they know of any developers who might be interested in being paid for this project.

It might also be possible to do this with SharpTools, in which case you wouldn’t need a server, so I’m also tagging @joshua_lyon

thank you for the reply! i believe i am using the Global Cache API with the code.

right now the only solution i have come up with is using a Bond Bridge for each blind (as they have an IR receiver) and integrating that with smartthings, but there must be a better solution.

here’s how it works:

i have 6 blinds, and 12 custom Smartapps to be able to control my blinds. 6 apps for OPEN and 6 for CLOSE.

so one app for Kitchen Blinds Open and one app for Kitchen Blinds Close. Then another app for Den Blinds Open, and one app for Den Blinds Close, etc.

then i have a virtual momentary button switch for each app to control them (Den Blinds Open momentary, Den Blinds Close momentary etc). and then i can automate them with routines, etc.

each blind has an IR receiver, and I have a Global Cache Ethernet-2-IR device that sends out the IR signal to each blind individually. So the custom smartapp just connects to the local IP address (in hex) of the Ethernet-2-IR and then sends out an IR signal. it’s worked perfectly with the below code for years.

the code is really short. I haven’t been paying attention to ST in years, as everything has just worked fine, so I am at a loss to as what I should do. here is an example code for closing one of the blinds:

def theCom = “sendir,1:1,7,40100,1,1,733,91,458,92,91,275,275,91,92,274,92,183,92,459,732,92,457,92,91,275,275,91,92,275,91,183,92,459,732,92,458,91,92,274,275,92,91,275,91,183,92,4010\r”

// Automatically generated. Make future change here.
definition(
name: “Bedroom Blinds Close”,
namespace: “”,
author: “joe”,
description: “Bedroom Blinds Close”,
category: “My Apps”,
iconUrl: “https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png”,
iconX2Url: “https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png”)

preferences {
section(“When this switch is turned on, send the command.”) {
input “trigger”, “capability.switch”, title: “Which switch?”, required: true
}
}

def installed() {
log.debug “Installed with settings: ${settings}”
initialize()
}

def updated() {
log.debug “Updated with settings: ${settings}”
unsubscribe()
initialize()
}

def initialize() {
subscribe(trigger, “switch.on”, switchOnHandler)
}

def switchOnHandler(evt) {
def deviceNetworkId = “C0A80027:1386”
def theCom = “sendir,1:1,7,40100,1,1,733,91,458,92,91,275,275,91,92,274,92,183,92,459,732,92,457,92,91,275,275,91,92,275,91,183,92,459,732,92,458,91,92,274,275,92,91,275,91,183,92,4010\r”
sendHubCommand(new physicalgraph.device.HubAction(“”“$theCom\r\n”“”, physicalgraph.device.Protocol.LAN, “C0A80027:1386”))

}

1 Like

We’re conversing in a private thread. I’m just trying to get a hold of that published API to understand the interface. Hopeful that this could be accomplished with my Web Requestor driver if it is an http message interface.

2 Likes

hi i use a switchbot mini hub to controll my ir devices /aircon /tv etc works with smartthings but you would need a hub in each room containing ir devices.

1 Like

it looks similar to a bond bridge, but a lot cheaper.

the issue is i need something like this with an IR emitter port that i can plug in an IR emitter cable into so i can run the cable into other rooms. do you know of anything like this?

right now i’m using a Global Cache iTach Flex IP to IR, and it works perfectly but uses a custom Smart App which won’t work anymore after this month.

As @JDRoberts mentions the competing Hubitat hub is an option. There is a community driver for this device.

2 Likes

I’m sorry if this is thread hijacking, but I cannot seem to find any recent info on how to refresh SmartApps. I use ActionTiles (among other third-party apps) and I think I used to be able to refresh my devices there by opening up my Android SmartThings app >> Automations >> scroll to the bottom >> see the SmartApps and do my thing, but I’ve hunted all over the app for a half-hour and cannot figure out where SmartApps went! Sorry if this isn’t the right spot to ask this. Thank you!

Automations > + Create Routine > Discover (at bottom) > Scroll down a lot

It was slightly less bonkers when Routines were still called Automations.

Or you can just go into the builder in ActionTiles and look at your hubs/locations. Choose the Location and you can Update Devices or you can Add Devices if you want to see the list.

1 Like

Thank you! I did what you said and when I looked through the Discover list, I didn’t see any mention of ActionTiles or SharpTools, but when I went back up one level to the Automations tab, there were my SmartApps at the bottom (where I expected them to be) and I was able to refresh those apps with my recently added devices. Thanks again!

1 Like