Stop the war

Stand with Ukraine flag

Support Ukraine

Try it now Pricing
Community Edition
Community Edition Professional Edition Cloud Edge PE Edge IoT Gateway License Server Trendz Analytics Mobile Application PE Mobile Application MQTT Broker
Documentation > Rule engine > Data processing & actions > Add & remove devices to group dynamically
Getting Started
Devices Library Guides Installation Architecture API FAQ
On this page

Add & remove devices to group dynamically

Doc info icon
ThingsBoard PE Feature

Only Professional Edition supports Device & Asset Groups feature.
Use ThingsBoard Cloud or install your own platform instance.

This tutorial will show how to dynamically add & remove device from the device group based on incoming data from device.

Use case

Let’s assume your device is reporting temperature readings to ThingsBoard and you would like to visualize devices that have reported temperature > 50°C.

In this tutorial we will configure ThingsBoard Rule Engine to automatically update “High temperature devices” group members based on incoming temperature readings from the device. You can use this tutorial as a basis for much more complex filtering.

Prerequisites

We assume you have completed the following guides and reviewed the articles listed below:

Model definition

We will operate with Temperature sensor device that has name “Sensor A” and type “DHT22”.

image

Message Flow

In this section, we explain the purpose of each node in this tutorial.

Root rule chain

image

  • Node A: Rule Chain node

    • We modify the default root rule chain to forward all telemetry to new “Add device to group” rule chain

New “Add device to group” rule chain

image

  • Node B: Script filter node

    • Checks that the incoming message from device contains temperature readings
    • If message from device contains temperature readings it is forwarded to Node C

image

  • Node C: Script filter node

    • Checks that the incoming message temperature is > 50°C
    • If temperature > 50°C message is forwarded to Node D
    • If temperature <= 50°C message is forwarded to Node E

image

  • Node D: Add to Group node

    • Adds device to the group
    • Constructs group name by substituting deviceType metadata value
    • Automatically creates device group if needed

image

  • Node E: Remove from Group node

    • Removes device from the group
    • Constructs group name by substituting deviceType metadata value

image

Configuring the Rule Chain

Download and import attached json file as a new “Add device to group” rule chain. Please note that all nodes have debug enabled. This affects performance. Create Node A as shown on the image above in the root rule chain to forward telemetry to new rule chain.

Validating the flow

Publish temperature readings on behalf of the new device and observe new group automatically created:

image

Next steps