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.