Star

RabbitMQ Plugin


Important note


Please note that this guide is for ThingsBoard versions prior v2.0.

Old rules and plugins functionality is replaced by new rule engine components (rule chains and rule nodes).

Please review new rule engine documentation to learn how to adopt new functionality.

We are doing our best to modify this guide to v2.0 components. Contributions are welcome.

Overview

RabbitMQ plugin is responsible for sending messages to RabbitMQ instances triggered by specific rules

Configuration

You can specify following configuration parameters:

Server-side API

This plugin does not provide any server-side API.

Example

In this example, we are going to demonstrate how you can configure RabbitMQ extension to be able to send messages to particular queue every time new telemetry message for the device arrives.

Prerequisites before continuing RabbitMQ extension configuration:

RabbitMQ Plugin Configuration

Let’s configure RabbitMQ plugin first. Go to Plugins menu, click on a ‘+’ button and create new plugin:

image

image

Please set host, port and credentials correctly so extension is able to connect to RabbitMQ broker.

Save plugin and click on ‘Activate’ plugin button:

image

RabbitMQ Rule Configuration

Now it’s time to create appropriate Rule.

image

Add filter for POST_TELEMETRY message type:

image

Click ‘Add’ button to add the filter.

Then select ‘RabbitMQ Plugin’ in the drop-down box for the Plugin field:

image

Add action that will send temperature telemetry of device to particular RabbitMQ queue:

image

Click ‘Add’ button and then activate Rule.

Sending Temperature Telemetry

Now for any of your devices send Telemetry message that contains ‘temp’ telemetry:

{"temp":73.4}

You should receive message ‘73.4’ in appropriate RabbitMQ queue once you’ll post this message.

Here is an example of a command that publish single telemetry message to locally installed ThingsBoard:

mosquitto_pub -d -h "localhost" -p 1883 -t "v1/devices/me/telemetry" -u "$ACCESS_TOKEN" -m '{"temp":73.4}'