For Sentience 1.0 the cloud application should subscribe for Annotation stream: Messages sent using this api will be sent to the system and it will wait for the response from the system. If the command is long running, the system should return quickly (within the specified time-out period) and then send results using an event message that can be retrieved via an annotation stream. If a long running command pattern is used, the CommandId parameter in the request can be used to correlate the originating command with the result, from:
http://159.99.24.36:8082/?url=https://t01atqacloudapp.testqa-cbp.honeywell.com/api/swagger/public#!/SystemCommand/SystemCommand_SendV2
See Sentience documentation for details on how to use events and annotation streams. The API for subscription can be found here:
http://159.99.24.36:8082/?url=https://t01atqacloudapp.testqa-cbp.honeywell.com/api/swagger/public#!/AnnotationSubscription
Design your application with unreliable response delivery in mind. Never consider guaranteed command response delivery! When sending a command from the application down to device you should assume that the command was delivered and executed but the response could be missed. That is to say, if you've sent the command "Increase temperature by 10 degree" and did not receive the response don't send a command one more time. Instead retrieve the current point status to verify that the command was not delivered and executed.
Design your application without the assumption that the response will contain “good JSON”. Keep in mind that the
So the correct behavior in absence of a response will be: "Increase temperature by 10 degrees"→ No response→ "Get current temperature"→ Decide to send or not to resend the command based on the current temperature received from the device.
Another option is to send "stateless" commands. Which means instead of sending, "Increase temperature by 10 degrees", send the command, "Set temperature to X degrees".

| ACTION: Subscribe for Response Events |
|---|
|
Subscribe for commands response messages (Annotation Stream for Sentience 1.0). Develop event-driven application. Keep in mind that command response could be missed while the command will be executed on the station. |