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"
}
Search Documentation
Conditions & Filtering