9.53.6 MQTT Example

This section contains one example for the MQTT agent.


MQTT Agent

In this workflow example for the MQTT agent

 

MQTT workflow 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 publish 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.