Last night I was thinking how cool (and potentially much more stable) it would be if I was able to run an instance of the (limited) ST platform on my own home computer and have the ST hub connect to that instance, rather than to the public ST one; or, even, if I was able to spin up my own private AWS ST instance - if I didn’t want to run my own computer 24/7. It wouldn’t need to be able to scale to handle hundreds of thousands of users and millions of devices; it would just need to handle the limited needs and scale of my own HA solution. A much simpler engineering feat, for sure.
Then I started thinking about what it would take to get it up and running; if you think about it, if the hub-cloud protocol was public, it wouldn’t be an enormous challenge; you could still use the ST cloud solution for development and testing, and rely on your private instance just for deployment purposes.
Has any information about the ST cloud-hub protocol ever surfaced? Has anyone tried to sniff it? Would that even be legal?
I do believe that something along those lines (after all, I always thought/hoped hub V2 would have end up being just that: a private ST instance able to run my apps and device handlers locally) is the only practical way out of this never ending sequence of “shared platform” instability.
I really do think your on to something and it could be a great way for ST to monetize on this. If they can partner with AWS to offer us dedicated instances guaranteeing us reliability, and allowing us to continue to expand the platforms ourselves, I would happily pay $10 a month. I pay for all sorts of services from iCloud, Ring, Netflix, Tivo, etc. which I use a lot less and value less than Smartthings. Clearly, ST has not been able to figure out how to scale their infrastructure after 3 years so perhaps they need to re-think the way they are doing things.
That would be considered “reverse engineering” and is most certainly a violation of the Terms of Use. If detected, your Account would be terminated and your could be sued for breach of contract. Sniffing for the purpose of reverse engineering is illegal.
http://www.SmartThings.com/terms
You agree that you will not…
Decompiles, reverse engineers, or otherwise attempts to obtain the source code of the Services (except (i) for sample or tutorial code examples that we provide on the Services which are clearly marked as such, or (ii) to the extent such restriction is prohibited by applicable law).
You understand that SmartThings owns the Services. You won’t modify, publish, transmit, participate in the transfer or sale of, reproduce (except as expressly provided in this Section), create derivative works based on, or otherwise exploit any of the Services
The “fully local / on-premise version of SmartThings” discussion is interesting theoretically, but complete nonsense practically.
For one thing, SmartThings already has the hardware (and base of software) to run as much of the platform locally as they wish… It’s called Hub V2.
It is a major fallacy to consider SmartThings to be an “open” platform. This is not some sort of FOSS which a group of folks could fork and use as the foundation for a different architecture (e.g., personal isolated execution in user’s own PCs or VPS).
SmartThings is proprietary.
For what I care, it is SmartThings who is in violation of the GPL license by not making the open-source portions of their hub firmware public.
http://www.gnu.org/licenses/gpl-violation.en.html
Note that the GPL, and other copyleft licenses, are copyright licenses. This means that only the copyright holders are empowered to act against violations. The FSF acts on all GPL violations reported on FSF copyrighted code, and we offer assistance to any other copyright holder who wishes to do the same.
But, we cannot act on our own if we do not hold copyright. Thus, be sure to find out who the copyright holders of the software are before reporting a violation.
In a more productive vein…
There are several (?) actual FOSS Smart Home projects that folks interested in this subject area could research, try, and contribute to, rather than wasting time trying to make one out of SmartThings when it is not one.
I may well be wasting my time - but it looks like I’m not the only one doing that here…
I know that it’s not practically and/or legally feasible to build an on-premise/privately hosted ST-equivalent which talks to an ST hub. I suppose the intent of my original post was to put a bug in ST’s ear: why not doing that themselves?
And, yes: I understand that V2 is/was meant to do something along those lines; but truth is, it doesn’t. The hardware, from what I gather, is not nearly as powerful as it should be to do that, and clearly the approach of having to modify the firmware to deploy an app locally is just way too limited.
And, yes: there are other FOSS SH projects out there; but here we have a hub which has been chatting with real zwave and zigbee devices for years and which works reasonably well in general; and an overall solution which has proved quite powerful and flexible - and whose real only fault is that it’s not able to support the kind of load that all the ST users together generate.
They are… trying.
While SmartThings is committed to their Cloud for various reasons and it will always be a major part of the architecture; I have no doubt whatsoever that they will use the local Hub in whatever way optimizes performance and reliability, subject to cost, corporate and organizational behavior constraints – Note that SmartThings has to run on Samsung televisions, not just dedicated “Hubs”.
There are smart people here who say that this is impossible; that the legacy architecture is fundamentally incompatible with independent local processing. They’re quite possibly correct.
I believe that the cognitive dissonance the Community has trouble acknowledging and accepting is that, despite its 3+ years of age and high profile parent, SmartThings (and DIY smart home) is still an infant. It has already proven to have a slow maturity rate.
I’m hoping it has a “growth spurt” (sophistication, not popularity), but the resulting adolescent may not be recognizable.
And you know teenagers: they are not easily influenced. SmartThings will likely remain stubborn to their particular designs and plans, disregarding early Customer & Community feedback. Don’t let those feedback session requests fool you into thinking otherwise. These are a marketing tactic, not a design strategy.
Because their cloud technology is proprietary IP. Why would they want to open up it and give it away for free? Then any Chinese hardware manufacturer would be able to sell rip off hubs for half ST’s price. I don’t think Samsung would want this to happen.