Messages sent by Bosch IoT Rollouts
Note: The DMF protocol uses the term “thing” for a device or in Bosch IoT Rollouts speech “provisioning target”. The terms can be considered as synonyms.
Messages sent by Rollouts (Rollouts -> Client)
All messages from Bosch IoT Rollouts are sent to the sp_direct_queue or to the exchange specified by the reply_to property.
CANCEL_DOWNLOAD
Message to cancel an update task.
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “Event” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
topic |
Topic name identifying the event |
Fixed string “CANCEL_DOWNLOAD” |
true |
tenant |
The tenant this provisioning target belongs to |
String |
false |
Message Properties |
Description |
Type |
Mandatory |
content_type |
The content type of the payload |
String |
true |
Payload template:
{
"actionId"
:
long
}
Example Headers and Payload:
Header |
MessageProperties |
type=EVENT |
content_type=application/json |
{
"actionId"
:
137
}
After sending this message, an action status event with either actionStatus=CANCELED or actionStatus=CANCEL_REJECTED has to be returned.
Example header and payload when cancellation is successful:
Header |
MessageProperties |
type=EVENT |
content_type=application/json |
{
"actionId"
:
137
,
"softwareModuleId"
:
17
,
"actionStatus"
:
"CANCELED"
,
"message"
:[
"The update was canceled."
]
}
Example header and payload when cancellation is rejected:
Header |
MessageProperties |
type=EVENT |
content_type=application/json |
{
"actionId"
:
137
,
"softwareModuleId"
:
17
,
"actionStatus"
:
"CANCEL_REJECTED"
,
"message"
:[
"The cancellation was not possible since the target sent an unexpected response."
]
}
DOWNLOAD_AND_INSTALL or DOWNLOAD
Message sent by Bosch IoT Rollouts to initialize an update or download task. Note: in case of a Action state machine > Maintenance Window configured but not yet active the message will have the topic DOWNLOAD instead of DOWNLOAD_AND_INSTALL.
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “EVENT” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
topic |
Topic name identifying the event |
Fixed string “DOWNLOAD_AND_INSTALL” or “DOWNLOAD” |
true |
tenant |
The tenant this provisioning target belongs to |
String |
false |
Message Properties |
Description |
Type |
Mandatory |
content_type |
The content type of the payload |
String |
true |
Payload Template (the Java representation is DmfDownloadAndUpdateRequest):
Example header and payload:
Header |
MessageProperties |
type=EVENT |
content_type=application/json |
MULTI_ACTION
If multi.assignments.enabled is enabled, this message is sent instead of DOWNLOAD_AND_INSTALL, DOWNLOAD, or CANCEL_DOWNLOAD by Bosch IoT Rollouts to initialize update, download, or cancel task(s).
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “EVENT” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
topic |
Topic name identifying the event |
Fixed string “MULTI_ACTION” |
true |
tenant |
The tenant this provisioning target belongs to |
String |
false |
Message Properties |
Description |
Type |
Mandatory |
content_type |
The content type of the payload |
String |
true |
Payload Template (the Java representation is DmfMultiActionRequest):
Example header and payload:
Header |
MessageProperties |
type=EVENT |
content_type=application/json |
THING_DELETED
Message sent by Bosch IoT Rollouts when a target has been deleted.
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “THING_DELETED” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
tenant |
The tenant this provisioning target belongs to |
String |
true |
Example header:
Header |
MessageProperties |
type=THING_DELETED |
|
REQUEST_ATTRIBUTES_UPDATE
Message sent by Bosch IoT Rollouts when a re-transmission of target attributes is requested.
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “EVENT” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
topic |
Topic name identifying the event |
Fixed string “REQUEST_ATTRIBUTES_UPDATE” |
true |
tenant |
The tenant this provisioning target belongs to |
String |
true |
Example headers:
Header |
MessageProperties |
type=EVENT |
|
PING_RESPONSE
To the Messages sent to Bosch IoT Rollouts > PING message, Bosch IoT Rollouts will respond with a PING_RESPONSE type message that has the same correlationId as the original PING message:
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “PING_RESPONSE” |
true |
tenant |
The tenant the PING belongs to |
String |
false |
Message Properties |
Description |
Type |
Mandatory |
correlationId |
CorrelationId of the original PING request |
String |
true |
content_type |
The content type of the payload |
String |
true |
The PING_RESPONSE also contains a timestamp (i.e. the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC) as plain text. It is not guaranteed that this timestamp is completely accurate.
Header |
MessageProperties |
type=PING_RESPONSE |
content_type=text/plain |
Disclaimer: It is up to the (potentially clustered) client to relate the PING message to the corresponding PING_RESPONSE (which might be taken by another cluster node from the queue).
CONFIRM
Message sent by Bosch IoT Rollouts to initialize a user confirmation task.
Applicable only if the user consent flow feature has been enabled prior to the start of the action.
Header |
Description |
Type |
Mandatory |
type |
Type of the message |
Fixed string “EVENT” |
true |
thingId |
The ID of the registered provisioning target |
String |
true |
topic |
Topic name identifying the event |
Fixed string “CONFIRM” |
true |
tenant |
The tenant this target belongs to |
String |
true |
Message properties |
Description |
Type |
Mandatory |
content_type |
The content type of the payload |
String |
true |