SmartThings Publication of Apps to Run Locally

It absolutely was; (to the best of my knowledge). If you look up previous posts from myself, based on what CTO Hagins told us, Hub V2 would act like a “cache” of sorts (like a browser cache); it would hold your most commonly used Device Types and SmartApps and generally only go back to the Cloud to fetch for: (a) stuff that cannot run locally (i.e., required cloud-to-cloud resources), and (b) when it ran out of local memory.

Indeed… This architecture was so “expected” that the discussion moved on into the details of it; i.e., could certain high-priority items like home security SmartApps and their Devices be “locked” into this “cache” and/or a priority system be used instead of FIFO, etc., etc.,

Alas… This proved to be too difficult to successfully implement in time to release in 2015. Again, if you look at the Forums the “pressure” from consumers to release Hub V2 was incredible (and, frankly, petulant).

And – pretty obviously – SmartThings had other reasons to set a, ahem, “premature”, release date for Hub V2. No use repeating them … September 3rd was a very sad day.

How about this, instead of compiling the local apps on the hub firmware just turn on a USB port.
Set up the API with a self executable that formats and installs smart apps to a thumb drive.

Just plug it in an go.

When updates after done, the user plugs the drive into their computer, logs in, and updates the software.

This would also make for a much more reliable update process as users can update on their schedule, as well as wait and see what bugs after in the new update.

Look at the positive side of that. Instead of 100,000 broken hubs needing a new ota update, when the bugs street reported you just update the API software and go from there.

It makes perfect sense to .

As a formerly trained Quality Control Inspector in the military and aviation I can tell you this…

…The absolute best way to QA anything is to give it to the end user. They know more about it than the designer ever will. Their feedback is priceless and there is no possible way that a team of any size can compete with the competency of a massive user group.

Dang… Just set up a beta test group and push the local apps to their hubs. Have it so the beta user must have at least 100 devices or whatever.

Just come up with something better than what you have. Because the fact that a firmware update is pushed out and a laundry list if bugs are reported by the users within minutes is unacceptable at any level.

We’ve been asking for (recommending to…) SmartThings to setup a “voluntary Beta stream” for ages.

It would be a non-trivial effort to setup and maintain (and provide a Beta tech support / bug reporting channel, etc.) – essentially a parallel infrastructure.

But: Mathematically, the net increase in efficiency and value should far exceed the implementation and operational cost.

Problem: @Geko and myself and others are presuming that all SmartThings Customers are “Beta”. Seriously. Why bother with a Beta stream in this case? … OK… How about an Alpha stream then?

Perfect. Thank you, I wasn’t aware of those. I don’t have a single local smartapp… Go figure.

How about a system that actually works, and gets fixed when it doesn’t? We’re chasing ghosts of our own imaginings.

SmartThings certainly would argue that this is precisely what they are trying to do doing.

What the sub-conversation is about is … how can SmartThings be better at fixing stuff without breaking other stuff; hence, better QA, or a volunteer Beta system, or ???

Wrong architecture:

What is the benefit of the cloud based system: tbd, easy access for mobile, some cloud business case
What is the cost of the cloud based system: complexity, interdependencies, “platform stability”, lag in HA, etc.

The costs exceed the benefit when looked at from the perspective of the end user, while foregoing the benefit and reliability of local processing for HA.

I know I’m beating a dead horse…

OK. So… Consider it a given constraint then, that SmartThings will not be changing from a cloud-heavy architecture.

What can they do within that constraint to improve reliability and Quality Assurance of new releases and/or anything else that is broken or tends to break?

Running locally doesn’t resolve all the problems at SmartThings. Not by a longshot. Especially if local updates are pushed with no control of the Customer and with no rollback (i.e., just like the mobile SmartThings App is pushed; though some of us use backups and can restore the .APK, etc.).

I’m seriously thinking it doesn’t matter what they do. My question is what do I do?

When “platform stability degraded” means that my wife’s closet lights turn off when she’s getting dressed, or my garage door opens all by itself in the middle of the night, that means I’m using the wrong HA system. Simple as that.

Onwards…

And this is what concerns me with local running apps to and probably one of the reasons this is taking a while for ST to implement properly. How does a local app get updated locally? Does ST have to push code to each HUB that’s running a program locally? How often does that happen?

If it’s up to the user to push the new program, how does the user known when an update is out? How does SmartThings support users who complain because their third party programs aren’t working right if they aren’t required to all be on the same version? (And yes, people will complain to ST even through it’s someone else’s program.)

How does Apple iOS, Google Android, and Windows Mobile handle this situation?

The Platform is not responsible for providing Customer support for the third party Apps that run on it. The Platform provides a way to automatically push/download updates (and possibly enforces automatic updates).

All SmartThings Customers have smartphones… They’ll get the concept.

[quote=“slagle, post:19, topic:37841”]
For those of you just showing up, we are going to put rule machine through the publication process. Rule Machine is slated for the next sprint.
[/quote]Does this mean that Rule Machine will run locally, or just that it will appear in the app list?

If they publish it, that will mean that it is available in the mobile app, without requiring the IDE to install it. It will not run locally, even then.

[quote=“bravenel, post:56, topic:37841”]
It will not run locally,
[/quote]Damn… So for those of us that are already using RM, all that getting it published is going to do is make it take longer to get new versions and force us to re-enter all our rules?

They have a review process for updates as well as initial releases. Access to the latest through the IDE will still be possible, so I don’t think it matters much to current users. It may allow for more automatic updates, less frequently.

[quote=“bravenel, post:58, topic:37841”]
Access to the latest through the IDE will still be possible, so I don’t think it matters much to current users.
[/quote]That makes me feel a little better.

FYI, I’ve deleted or edited my other posts throughout the forum where I mentioned Rule Machine being able to run locally soon. Sorry for any confusion I may have caused.

No worries. …

Well I’m also I’m favor of local processing - yesterday after I had almost everything working the way it should my lights started to go all funny - on, brighter, flashing colors etc - troubleshooting revealed that the PS4 in the house was downloading 50GB of game content and so the pipe was pretty loaded - seems like that some messages didn’t make it to the cloud or responses back which caused some overrides not to fire and then some actions to firet hough they shouldn’t … I surely could apply some QoS in the meantime but would prefer local processing where possible - this would also help with processing if the cloud is unavailable …

With regards to QA I would say Bruce’s response times and remediation is second to none and should actually be Samsungs desired SLA times …

@michaelahess - can i ask how you found these endpoints? I occasionally see people post useful endpoints like this but have never found a way to find all of those hidden bits of info.