tgauchat
(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy)
November 16, 2017, 12:08am
85
brianlees:
So, associate all the SmartApps and Things over to a new Hub at the software level. Then, one by one, select a Thing and say “replace this device” or “move this device.” I then un-pair it from the old hub and run the association with the new one. It then puts it “in the same slot” as the Thing that was being replaced and I don’t have to touch any of the SmartApps. This is so important because some devices are associated with a dozen or more smart apps, including OAuth apps like an Amazon Echo, Harmony Remote, SmartRules, etc. There exists a lot of stuff OUTSIDE of SmartThings that would need to be completely rebuilt as well without a tool.
Yup… Pretty much exactly what I suggested (and was willing to help build, frankly…) in August 2015: , with plenty of willingness to have a few brainstorming sessions, and lots of flexibility and experimentation and alpha testing, before doing the “rocket science”. And yes… NASA is just a few miles away from SmartThings HQ.
There’s no reason that the back-end data couldn’t be 100% cloned from 1 Hub recordset to the new one. – All that is needed is to create a temporary set of Device Records, if foreign key constraints can be temporarily disabled during the account’s migration.
I’m 100% serious:
Given full access to the SmartThings device Cloud database for a single account…
Very rough pseudo code / sketch:
Lock the account and database for migration mode, limiting what functions may be performed; disable foreign key constraints. Add a friendly alternate candidate primary key – heck, use the Label Attribute (e.g., make the user ensure all the Things have a unique name by using the existing Properties/Rename function in the UI). Add a temporary column to mark “devices set for replacement”. Remove the devi…