A Node-RED subflow for triggering conditional events based on multiple input messages. The subflow evaluates if two incoming messages meet specific conditions (e.g., both msg.payload values are true) and routes the result to different outputs. Ideal for s
npm install node-red-contrib-conditional-triggermsg.input values are true). It routes the results to different outputs based on the evaluation. Ideal for automation workflows, IoT event processing, and decision-making systems.
bash
cd ~/.node-red
How It Works
This subflow expects two input messages with the following structure:
$3
- msg.input = true | false
- msg.topic = "input1"
$3
- msg.input = true | false
- msg.topic = "input2"
The subflow combines these messages, evaluates their conditions, and routes the result to the appropriate output.
$3
- Output 1: Triggered if both inputs are true.
- Output 2: Triggered if one or both inputs are not true.
---
Example Usage
Here’s an example flow to test the subflow:
`json
[
{
"id": "1cba32ac7aea14fd",
"type": "inject",
"name": "Input 1: True",
"props": [
{
"p": "input",
"v": "true",
"vt": "bool"
},
{
"p": "topic",
"v": "input1",
"vt": "str"
}
],
"wires": [["conditional-trigger"]]
},
{
"id": "c88fe6573e26cabc",
"type": "inject",
"name": "Input 2: True",
"props": [
{
"p": "input",
"v": "true",
"vt": "bool"
},
{
"p": "topic",
"v": "input2",
"vt": "str"
}
],
"wires": [["conditional-trigger"]]
},
{
"id": "conditional-trigger",
"type": "subflow:conditional-trigger",
"name": "Conditional Trigger Subflow"
},
{
"id": "debug1",
"type": "debug",
"name": "Output 1: Event Triggered",
"wires": []
},
{
"id": "debug2",
"type": "debug",
"name": "Output 2: Alternate Event",
"wires": []
}
]
``