MQTT Example

This section contains one example for the MQTT agent.

 

MQTT workflow example
In the above example, 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.