1.0.7 • Published 6 months ago

node-red-contrib-conditional-trigger v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

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:

  1. 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.
1.0.7

6 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago