Improving reliability: Can’t we just run locally?

I had high hopes for my Smartthings 2.0. Bought a bunch of sensors and switches and set everything up. All was well but over time I’ve seen multiple failures with time-based events and things like mode swapping (setting one mode based on switching to another mode when the time is say after sunset). I’m starting to understand the frustration I’m seeing here first hand. It seems like every time we are looking at flakiness it’s connected to the cloud-based aspects of ST. Can’t you just let us install and run events locally? Wouldn’t this improve reliability and remove more of ST’s responsibility for pushing events from the Cloud? Why is ST so miserly with allowing things to run locally?

1 Like

From my understanding the issue is having an open system like SmartThings and having a fully local hub are not easy to do together. There would be a risk each time you added new custom code to brick the system and they don’t want to take that risk. I could be way off the mark but that is what I seem to remember reading.

There are fully open systems that allow custom code without problem.

SmartThings issues appear to have to do with their account management structure. They don’t really have a local library assigned to each account. Everybody in a region gets exactly the same local smart apps downloaded to their hub, apparently all at the same time.

So you’re right that the issue has to do with how they update local custom code, but it’s not because their system is open. It’s because they haven’t yet structured it to support a local open system.

3 Likes

@JDRoberts to the rescue :slight_smile: I was hoping someone would have a better answer.

2 Likes

As to the bricking, I’m going to guess that’d it be easy enough to have a soft and hard reset. And if it’s built via the IDE then it should be reasonably hard to make code that would brick the device. I’m guessing that it’s more about protecting against tight loops (with requests made of the cloud)? But that doesn’t explain what you do with your own devices at home. I suspect (warning: conspiracy theory) that this is about making Samsung hardware first class citizens while demoting everything else to second class. I know that something like openHAB is supposed to be “rock solid” and I assume this is because they are not cloud depending. If you think about it, there are two many points of failure when depending on a cloud based system to push out a request to a device: network issues, server load, etc etc. I’d love to hear from someone at ST?

1 Like

Another thing that comes to mind is hub resources. I’m sure this has been discussed ad nauseum somewhere, but I’m curious if there is a hub resource limitation where only limited amounts of local processing are able be handled locally (due to cpu/memory/storage restraints). If someone knows of a thread/linky (my search-fu is weak today with this gnarly head cold), I’d love to read more about the v2 hub specs.

I think the local resources are more than up to the task, the V2 hub has to have enough flash memory to save 2 minutes of 720p video from up to 4 cameras at a time locally before uploading to the cloud. I would be ok with only being able to record 3 cameras (my current system uses 2) if I could have the rest of the space dedicated to app instruction sets downloaded and executed locally.

Also, I will bet everyone who uses ST has a personal computer in their home running at all times. It seems like the best and easiest fix for this would be for ST to create a middle-tier server that you can install on your home computer, it hits the cloud account and gets all your data, stores it locally and then tells the hub to talk to it instead of the cloud. The server would be able to keep the cloud up to date asynchronously so Samsung would still get all their marketing data, etc.

If I could get my hands on the server-side code, I could get this done in a couple of weeks, though without changes to the Hub firmware, I guess it would require that the hubs communication be redirected on the local network.

I don’t. :sunglasses: These days many millennials don’t even own a laptop. If SmartThings wants to be a system for makers and tinkerers, then requiring an additional laptop server is fine. But if they really want to be mass-market, it’s not.

Right.

I think ST needs to do this if they want this to be a successful/stable platform in the long term:

  1. Keep the cloud but make it solely for pushing application and firmware updates to the Hub (and for doing other housekeeping like time clock sync etc). The cloud will obviously also be used to provide access to settings etc to the Hub from outside the LAN.

  2. Run all applications locally on the Hub where they can be reliable and where processing bandwidth isn’t an issue as the user base scales. The Hub clearly has enough hardware to handle very simple scripts. Look at what OpenHAB can do on a Raspberry Pi.

I’m sure that this will be Apple’s approach (real apps) and I think it is going to outperform ST if they stay with their server-based approach.

This is not going to happen because Samsung/SmartThings business strategy is tied to the cloud. You can read more about it this this thread:

But they can keep that business strategy and still push everything to the hub for local execution. The hub is and can remain tied to the cloud. Even with local processing, the cloud is going to maintain a virtual image of the hub, so that the mobile app works without talking directly to the hub. I think this is how Smart Lighting works, where it executes locally but all of the events and logs are still sent to the cloud.

3 Likes

That’s a conclusion some analysts and community members have drawn, but I don’t know that it’s ever been stated as a fact by Samsung. Do you have a source?

These days many millennials don’t even own a laptop

Damned Millenials (/me shakes his gnarled, arthritic fist)! In my day you had to have a sit down at a damned desk computer and it was always on!

I’d pay another $100 for a “Samsung Smartthings Local Processor Server Hub Fantastico Prime ™” that sits under the V2 Hub, you plug the ethernet from the hub into the Local Processor and it provides all the benefits of the cloud with local response time and no dependency on your internet quality. Hey, they could even jack up the price and add LTE service to it so that Smartthings can be useful as a real security system (as it is, I don’t even bother with the security system functionality as on the way into my house you pass the box that contains the phone lines and CenturyLink doesn’t put very sturdy padlocks on those things).

They can still keep the whole thing linked to the cloud in the exact way it is now, just keep a local copy of everything for quick access and reliability. I generally dislike Apple products, but if Apple comes out with an IHome or whatever that does local processing AND is as flexible a platform as SmartThings, I’ll switch in a heartbeat. I’m not holding my breath though, knowing them it will only work with Apple made sensors/etc.

1 Like

That may be true, but clearly is not a priority.

P.S. Also, even with V2 “local execution” scheme, there has never been a plan for the mobile client to connect to the hub locally. The mobile app can only access physical graph via the cloud.

Admittedly, the conclusions were made based on publicly available information, which can be described only as “circumstantial evidence”. However, this hypothesis was neither confirmed nor denied by the “officials”, which would be expected if they were under non-disclosure agreement covering SmartThings involvement with Samsung SmartHome commercial cloud platform.

I really don’t see why this would be the case when there are, currently, apps that run locally like Smart Lighting. Just because you trigger and process things locally doesn’t mean that those events can’t then be synchronized back up to the cloud for data mining purposes (not that I’m sure that they’re doing that to that level of fine grained detail, but maybe).

You can continue to keep the mobile app running through the cloud vs. local to make sure that the end user has incentive to keep the hub online if that would also be a strategic concern. In fact, running the mobile apps through the cloud makes sense because, otherwise, you’d have to rely on the end users to muck around with their LANs to ensure direct connectivity to the hub LAN or WAN.

Crap, I just read bravenel’s response to you. Oh well, since I typed it all out, here’s the td;lr - read bravenel’s response.

That’s not true. Vera, Philips Hue and many others solve this problem without requiring the user to always connect “through the cloud” or “muck around with their LANs”. Which again points to the fact that this is a business decision, not a technical limitation.

1 Like

Philips Hue absolutely needs you to be connected to the cloud for remote control. I believe Vera does as well… My Hue bridge will NOT do a damned thing if I’m not connected to the cloud (third blue light blinking). My lights won’t even show up.

It’s not their fault. Something’s wrong with your setup. I have both Vera and Hue and can assure you that I can control them over LAN without internet connection.

P.S. Refer to Philips Hue FAQ.
http://www2.meethue.com/en-us/support/faq-detail/?productId=58356

Do I need an active Internet connection to control the Hue system?

All in-home Hue features will remain working without an active internet connection being active, except out of home control, IFTT, geofencing, Siri voice control and software updates and HomeKit

If you are using scenes created in your hue cloud account, then you have to have an active Internet connection. Or if you want to use Siri for voice control (that’s always true of Siri).

But otherwise as long as your phone/tablet is connected by Wi-Fi to the same network that your hue bridge is on, you should be able to do everything.

So it all comes down to what we mean by remote control. If you mean control the lights at home while you are at your office across town, then yes you have to have an Internet connection. But I believe the original question was could you use your phone app locally, and the answer to that is certainly phone apps can be written that don’t require Internet access. But the phone/tablet does have to be on the same network as the device being controlled.

1 Like

Yes, I was referring to the ability to control things remotely, not while sitting on the LAN. It’s possible that the app team hasn’t yet gotten around to adding the local execution portion of the mobile apps yet. If that road map even exists, I would think that it would of low priority since the model has always been cloud based. I find that more plausible than there being a higher level directive to keep it going through the cloud for data collection purposes since, like the existing local apps, any of those events could subsequently be sync’d up to the cloud.

My (short) list of priorities would be:

  1. Local synchronization of device handlers and smartapps for local execution

um… that’s it. Of course as I continue this journey, I’m sure I’ll think of more things. As of right now though, I can’t think of anything more important.

PS. I just wanted to say that I enjoy reading the forums and especially posts from veteran members. So I don’t want to come across as combative or anything so please don’t take it personally if I disagree with you. We all have our opinions :smile:

1 Like