From the Smartthings developer documentation and the available APIs, all available queries and commands are fetching information from the cloud. Is there any way to query directly from the hub within a SmartApp as a developer (e.g. query event history or event order )?
Also, related to that, the cloud issues requests to the hub (e.g. a SmartApp controls a Smart Lock). The hub is also involved, as it executes a ZWave/Zigbee command to control the device, thus changing the state of the device (e.g. Smartlock locks/unlocks). When does the hub respond or report the changed state to the cloud? Does the SmartApp in the cloud wait for this update before it finishes execution? If there is a client waiting for a response, does the SmartApp wait for the hub to make its update or does the SmartApp in the cloud return a response immediately and assumes the command propagates to the hub and to the smart device correctly?
In the architecture documentation does the “fire and forget” policy refer to the commands issued from the hub to smart devices over wireless? Does that refer to the fact that these commands are not ACK’ed?