MQTT Example
This section contains an example of the MQTT agent in a workflow.
MQTT workflow example
Example
In this workflow, the MQTT agent sends any of these 3 UDR types: Error, PublishAck or SubscribeResponse to the Analysis agent, which contains the following code:
consume {
debug(input);
if(instanceOf(input, MQTT.SubscribeResponse)){
MQTT.SubscribeResponse resp = (MQTT.SubscribeResponse)input;
MQTT.Publish pub = udrCreate(MQTT.Publish);
pub.qos = 1;
pub.retain = true;
pub.topic = "test/";
pub.data = resp.data;
udrRoute(pub);
}
}With this code, the Analysis agent will:
Debugs the output of the MQTT agent.
If the received UDR is of the SubscriberResponse type, the UDR will be populated into a SubscribeResponse type UDR called resp.
Create a UDR of Publish type called pub.
Set the qos to 1, to indicate that the message will be published with the At Least once QoS.
Set retain to true.
Set the topic to test/
Populate the Data with the Data field from the resp UDR.
Routes the pub UDR back to the MQTT agent.