Skip to main content Skip to footer

Split Documentation

Version: 3.0.0

Retrieved: 2025-10-09 15:16:22


Split Module

The module allows you to add condition-groups to split/route messages to different outputs.

Settings

The module allows you to add several condition-groups. At least one group is required. Each group can contain a list of conditions to match against the messages arriving at the module The group of conditions can be matched in two ways. All conditions have to match (default), or one of the conditions have to match. When multiple condition groups are met, the message will be sent to all corresponding outputs.

Condition Groups

Name Requirements Purpose Default
Condition rule And, Or   And
Conditions A list of conditions (see table below)    

Conditions

Name Requirements Purpose Default
Name String, not null    
Operator Comparison operator such as EqualTo, NotEqual etc   ==
MissingOk If true the property can be missing   False
Type Any, String, Number, Boolean, Property   Any

Example 1

We can split/route messages based on a simple rule that split them based on the value of the category.

  • we split temp messages to output A
  • we split rpm messages to output B
  • we split pressure messages to output C

Messages not matching any of the condition-groups will not be passed to any output.

# Settings:
"conditionGroups": {
          "A": {
            "conditionRule": "And",
            "conditions": [
              {
                "propertyName": "category",
                "operator": "EqualTo",
                "value": "temp",
                "missingPropertyIsValid": false,
                "comparisonType": "Any"
              }
            ]
          },
          "B": {
            "conditionRule": "And",
            "conditions": [
              {
                "propertyName": "category",
                "operator": "EqualTo",
                "value": "rpm",
                "missingPropertyIsValid": false,
                "comparisonType": "Any"
              }
            ]
          },
          "C": {
            "conditionRule": "And",
            "conditions": [
              {
                "propertyName": "category",
                "operator": "EqualTo",
                "value": "pressure",
                "missingPropertyIsValid": false,
                "comparisonType": "Any"
              }
            ]
          }
        }

# Incoming Messages

// 1 - Will be sent to output A
{
  "source": "machine1",
  "category": "temp",
  "value": 37
}

// 2 - Will not be sent to any output
{
  "value": 3,
  "category": "humidity",
  "source": "machine1"
}

// 3 - Will be sent to output C
{
  "value": 77,
  "category": "pressure",
  "source": "machine1"
}

// 4 - Will be sent to output B
{
  "source": "machine1",
  "value": 4599,
  "category": "rpm"
}