I've been trying to create an app which does pretty much the same thing smartthings app does with some additional functionalities. But I've struggled to understand their documentations and terminologies. I've tried to illustrate my intentions below:
However their illustration is as follows:
My questions are as follows:
What do they mean by Third party Cloud? Is it same as My API Server?
What is smartapps? Are they kind of programs to define capabilities of a device? If yes, how can we create it using API instead of Groovy program.
How is Locations, SmartApps and Devices related to each other?
How do we communicate to hub connected devices? In other words, How does My API Server know about the state changes in the device? Is webhooks used here?