Cloud
ThingsBoard Documentation
Cloud Professional Edition Community Edition Edge PE Edge IoT Gateway License Server Trendz Analytics Mobile Application PE Mobile Application
Try it now Pricing
Documentation > Rule engine > Nodes > Flow Nodes
Getting Started
Guides API FAQ

On this page

Flow Nodes

Flow Nodes are used to control message processing flow.

Acknowledge Node

The node will mark the message as successfully processed (acknowledged). See message processing result for more details. This indicates to rule engine that the message was successfully processed.

Useful if you don’t want to reprocess the failed messages. For example, the rule chain below will reprocess the failed messages only for important messages. Failure of unimportant message will be simply ignored.

image

Note: We recommend the “acknowledge” rule node to be the last in the processing chain. Theoretically, you may add other rule nodes after the “acknowledge” one. However, this may cause the OOM errors. For example, subsequent rule nodes may process messages slowly. Unprocessed messages will be stored in memory and will consume too much RAM

Checkpoint Node

Publish a copy of the message to the selected rule engine queue. The original message is marked as successfully processed once the target queue acknowledge publish of the copied message.

Useful if you want to mark message as high priority or process messages sequentially grouped by originator of the message. See default queues or define your own queue.

Rule Chain Node
Since TB Version 3.3.3

Forwards the message to the selected rule chain. Since TB Version 3.3.3, the target rule chain may also output the results of processing using output node. The output node enables reuse of the rule chains and extraction of the processing logic to modules (rule chains).

For example, you may create a rule chain that validates the incoming message, and process valid and invalid messages separately.

image

The logic of message validation may be reused in other rule chains. For this purpose, we extract it in a separate rule chain.

image

Notice the “Output” nodes we use in validation rule chain. The names of the output nodes should match the outgoing relations of the “rule chain node” in the main rule chain.

Output Node
Since TB Version 3.3.3

Used in combination with the rule chain node. Allows to publish result of the message processing to the caller rule chain. The output rule node name corresponds to the relation type of the output message, and it is used to forward messages to other rule nodes in the caller rule chain. See rule chain node documentation for example.