node-red-contrib-conditional-trigger 1.0.7
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
node-red-contrib-conditional-trigger
A Node-RED subflow for triggering conditional events based on multiple input messages.
This subflow evaluates two incoming messages to determine if they meet specific conditions (e.g., both msg.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.
Features
- Multi-Input Evaluation: Processes multiple incoming messages.
- Conditional Logic: Triggers events only if specific conditions are met.
- Flexible Outputs: Routes messages to different outputs based on conditions.
- Debug-Friendly: Includes outputs to monitor the flow's logic.
Installation
To use this subflow, you can install it via npm in your Node-RED environment:
- Navigate to your Node-RED user directory:
cd ~/.node-red
How It Works
This subflow expects two input messages with the following structure:
Input 1:
msg.input = true | false
msg.topic = "input1"
Input 2:
msg.input = true | false
msg.topic = "input2"
The subflow combines these messages, evaluates their conditions, and routes the result to the appropriate output.
Outputs:
- 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:
[
{
"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": []
}
]
Use Cases
- IoT Automation: Trigger actions when sensor states meet conditions.
- Workflow Validation: Ensure prerequisites are satisfied before progressing.
- Multi-State Processing: Handle logic requiring multiple inputs.