O.M.G. … Serves me right for making assumptions that SmartThings “works” the way it is “supposed to”. So does it …?
I assumed that the OAuth screen has the “From: Location” pull-down explicitly so that you can select Devices from any of your Locations for that authorized SmartApp; though, agreeably, limited to only Devices at a single Location (i.e., the pulldown should let you select one and only one of your Locations.) Heck, it doesn’t even “default” to any Location.
So I uninstalled the IFTTT SmartApp using the mobile App (I’m not using IFTTT with SmartThings, but had it authorized for a bunch of devices for testing). I created a new Location called “Second Home
” with no Hub and a single Virtual Device.
Now when I go to authorized IFTTT I get this:
Looks good, right? I can select from either of my two Locations. So let’s make it simple and choose my Second Home
and that Virtual Device.
Indeed… IFTTT is shown as being installed in the Location “Second Home
”:
Now how do I connect IFTTT to my other location (i.e., “Home
”)?
Well… IFTTT, just like Amazon Echo, is to “dumb” to support multiple connections to the same “Channel / Service” under the same IFTTT Account; so let’s see what happens if I create a second IFTTT Account.
-
No problem creating the Second IFTTT Account.
-
Attempt to connect Second IFTTT Account to SmartThings and … whoops! … the “From: Location” dropdown input only shows … “Second Home
” and cannot be changed.
-
Well… let’s make sure I’m logged out of “graph.api.smartthings.com” … doesn’t help.
-
Let’s try another browser or incognito window in case the authorization left some sort of garbage cookie… Nope, same problem. As soon as the OAuth window connects to SmartThings it detects that an existing instance of the IFTTT web service SmartApp is installed and insists that I use it and I cannot change it.
WTF, right?
This certainly does not seem like “in spec” behavior (or wasn’t the original design intention). There is either an unintentional bug, or a limitation caused by the OAuth SmartApp-ID / Client-ID usage that prevents multiple instances from being initiated.
Your confirmation with Support@SmartThings.com probably is sufficient to confirm this is not just a “bug”.
But, nevertheless, it is very, very wrong IMHO, because it totally messes with the ability to control multiple SmartThings Locations under one Account – something that is fundamental to the Platform.
I suppose we should escalate this and see if it can be called a bug … or missing feature.
In the meantime, a workaround for 3rd Party Connections would require them to somehow have available a list of unique SmartApp / OAuth-Client-IDs; they could arrange this by publishing multiple Master Copies of their SmartApp (e.g., IFTTT1, IFTTT2, …).
The reason that multiple Locations worked with for personal copies of SmartTiles, is that I think you generated unique Client-IDs for each instance…?