FAQ: CONFIRMED: Local Processing - Working Device Handlers

The only device type handlers which can run locally are the ones that the SmartThings staff have decided to include in the firmware update that goes to everyone. They haven’t told us one way or another about why they choose one or whether they’ll be adding any more overtime. Except that they have said that they would like to eventually allow each customer to be able to run their choice of custom code locally, but we’re nowhere near that yet.

At the present time, any custom code, either a smart app or a device type handler, will have to run in the cloud and is not eligible to run locally.

1 Like

Try st dimmer dht’s. I use a number of them on “other” devices and they work fine, the generic zwave ones for example.

Huh, you’re totally right. I just switched them to Dimmer Switch handler and it works. It’s really odd that we can’t pick and choose what local handlers we want in our personal hub. I would make sense since I won’t necessarily have most of the available local devices in my home.

1 Like

They are currently baked into the firmware. My guess is they never partitioned the internal storage for a user accessable partition. Maybe someday they’ll let us put a check next to the dht’s we really want…


So let me see if I have this straight.

  1. Devices that support and are recognized as Local Devices should process faster. I’m assuming this means if you use the SmartThings application to turn a switch on/off or dim a light up/down it will occur quicker than a switch or dimmer that doesn’t support local processing. Will that also update the UI quicker? You know sometimes when you dim a light, the light might dim but then it takes a second to update the UI to show that you dimmed the light from 75% to 25%.

  2. If the Device and the SmartApp both support Local Processing and they are both recognized that way, than the SmartApp should process faster and should still execute when your hub does not have access to the SmartThings cloud.

  3. Since the SmartThings application requires access to the SmartThings cloud, even though you have Local Devices you won’t be able to control them with the application without access to the Smartthings Cloud. This one really disappoints me.

So is this correct?

One of the reasons I am asking is that I’ve installed a bunch of custom Device Handlers on Dimmers thus making them non-local. I’m trying to decide if I should revert them back to their native Device Handlers so they process locally.

Thanks again for the support of this great community.

Unfortunately, while the speed issue would make sense technically, it has not always been true in the past in the actual SmartThings implementation . Sometimes the device handlers which are running locally appear to process more slowly than the ones that run in the cloud.

What local processing will absolutely give you is the ability for smartlighting (the official feature, which is the only smart app which currently runs locally) to operate even if the SmartThings cloud is unavailable.

So if the Internet is out at your house or the cloud itself is down, your local lights can still turn on and off by a local motion sensor.

Please take any additional follow on questions about how local processing works in ST to the following thread, so that we can keep this FAQ just for the list of device type handlers. :sunglasses:

I was under the impression that the 'Fibaro Motion ZW5" was a local device…am I wrong on that? Would I have to change the device type to “Z-Wave Motion” in order to get it to be local?

What SmartApps run local other than Smart Lighting?

A few parts of smart home monitor, and that’s it. (But you can’t arm or disarm smart home monitor locally. )

No routines, no other smartapps from the marketplace, no custom code, no core, and the official mobile app cannot communicate with the hub unless the smart things cloud is available.

Just smart lighting limited to those device type handlers that are eligible to run locally, and some smart home monitor stuff.

So after poking around and making some adjustments, I can see that I am on server 1 for my locally installed devices (and my device list is much larger now that I’ve changed my Cree bulb type… THANK YOU for this… all works well as you stated). My concern is that when I check locally installed smart apps from the wiki page, I can look even on all 3 servers and nothing shows up at all on any of them.

The odd thing is when I look on the iPhone app, it shows:
Button Controller (I believe this is the Aeon remote)
Logitech Harmony (Connect)
Nest Manager
Smart Lighting

When I go into the IDE under My SmartApps, I have:
bravenel: Rule
bravenel: Rule Machine
tonesto7: Nest Manager

Even more strange, I don’t use the rule or rule machine at all, so I will likely just remove those and when I go into My Device Handlers, I see both a dianoga Nest Thermostat (which is the “old” one I didn’t think I was using anymore that appears to be active on my hub and that entire line is green) and I also have all of the various tonesto7 Nest, all of those lines are red and it doesn’t look like it has an active session on my hub (right column) however it works in the app as I would expect it to and I can tell it’s using the new one, not the old one.

I am utterly confused… so even though I use SmartLighting for all of my lighting rules, it doesn’t appear in the IDE… what exactly does this mean and is there something I can do or have to do to fix this? I’m so confused at this point as I’m unsure why the iPhone app and IDE don’t seem to match up at all. BTW, everything through IFTTT, Logitech Harmony, etc. all work just fine… so why don’t they show up in the IDE and why do I have red vs. green line items in the device handlers? Thanks.

Okay, sorry for the dual post… I didn’t realize that I had to check boxes under my home location under hello home to allow it to be executed locally… after I checked all of the boxes for smart lighting and clicked update, now when I look at my locally installed smart apps from the Wiki page, I see all of my smart lighting in the list. So I will test later with unhooking my network cable and seeing if these actions still execute. I still am VERY confused with the rest of my previous post though.

Smartlighting is the only smart app which can run locally (plus a few bits of smart home monitor), so you wouldn’t expect to see anything else.

And the only smart lighting automations which can run locally are those which only refer to device type handlers which are eligible to run locally. If you include even one other device type handler, such as one for Hue or any custom code, it disqualifies the entire automation from running locally.

Thanks… yes, I see now once I checked the boxes that it looks how I would expect, only the qualified devices and smart lighting apps… so THAT must be running correct.

In regards to the “mismatch” I am seeing with smart apps when clicking through the IDE and looking on my iPhone, is that to be expected?

I also figured out the red vs. green… red is the code on GitHub is newer than what was locally installed… when updated, it turns the red text to black, then I re-publish it and it looks good. The green was custom code I added (not from GitHub) that is running.

I still don’t understand why in SmartApps I see something completely different on the iPhone app vs. on the IDE though.


Can you show a screenshot?

Where are these checkboxes to allow local control?

Thanks in advance!

Click on - My Locations
Click on - {your location name, on the left}
Click on - List SmartApps (all of the way at the bottom)
Now you will be looking at “Installed SmartApps” and it is broken into 3 categories (at least in my case). Hello Home, Solutions, and Other.
Under Other, you will see Smart Lighting.
Click on Smart Lighting and you will see a check box that says, “Enable local child app discovery”. I checked it here under Smart Lighting, and I checked that same box under every single smart lighting automation below it and that’s when these showed up under local processing.

1 Like

Got it. See where they are.

1 Like


Can someone from SmartThings explain exactly what this options means?

I included a screenshot of the help text for it.

what does it mean when it is not checked?

Mine are not checked and things are running local.

Are there any negatives to leaving this always checked?

It would be nice to understand. All I can say is my smart lighting wasn’t there as local until I checked it on smart lighting and all items under it. Only then did they show up.

Tagging @slagle

© 2019 SmartThings, Inc. All Rights Reserved. Terms of Use | Privacy Policy

SmartThings; SmartApps®; Physical Graph; Hello, Home; and Hello, Smart Home are all trademarks of the SmartThings, Inc.