Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-red-contrib-boolean-logic-ultimate

Package Overview
Dependencies
Maintainers
1
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-red-contrib-boolean-logic-ultimate

A set of Node-RED enhanced boolean logic, with persisten values after reboot and more

  • 1.0.9
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.3K
increased by12.55%
Maintainers
1
Weekly downloads
 
Created
Source

node-red-contrib-boolean-logic-ultimate

NPM version NPM downloads per month NPM downloads total MIT License JavaScript Style Guide Donate via PayPal

DESCRIPTION

The node performs Boolean logic on the incoming payloads.
The node performs 3 checks (AND,OR,XOR) on the incoming boolean payloads and outputs the result at the same time, as follow:

  • Output "AND": true or false
  • Output "OR": true or false
  • Output "XOR": true or false

The node can have a persistent input: the input values are retained after a node-red reboot. That means, that if you reboot your node-red, you don't need to wait all inputs to arrive and initialize the node, before the node can output a payload.

ADDITIONAL FUNCTIONS

  • Filter ouput results (outputs only true or trye/false)
  • Trigger mode selection (Can output a payload only by single input's topic trigger and after evaluation ot other inputs, or can oputput a payload by change of every input)

CHANGELOG

CONFIGURATION

The node expects a fixed number of topics (configured in the settings) on which it will operate. It will only output a value when it has seen the expected number of topics. If it ever sees more than the configured number of topics it will log a message then reset its state and start over.
Changing the topic is usually only needed when chaining multiple boolean nodes after each other becuse the topics will then all be the same when delivered to the nodes further down the chain.

Number of different topics to evaluate

Set the number of different topics to be evaluated. The node will output a message to the flow, after this number of different topics arrives.
Remember: each input topic must be different. For example, if you set this field to 3, the node expects 3 different topics.

Filter output result

  1. Output both 'true' and 'false' results: Standard behaviour, the node will output true and false whenever it receives an input and calculate the boolean logics as output.
  2. Output only 'true' results: whenever the node receives an input, it outputs a payload true only if the result of the logic is true. False results are filtered out.

Trigger mode
The node can acts ad a standard boolean logic or as single topic triggered boolean logic.
As single topic triggered boolean logic, the node will evaluate the inputs (and thus will output a payload) only if a specified topic input arrives.
In a coding perspectives, it acts as follows:
if (msg.topic == specified topic)
{
If (all other inputs are true) -> outputs true otherwise false
}

  1. All topics: standard behaviour, the node will output true and false by evaluating all inputs. Each input change will trigger the node output.
  2. Single topic + eval other inputs: only whenever the node receives a msg input with the specified topic (having payload = true), it starts the evaluation of all other inputs as well and outputs the evaluated payload. If the node receives a msg input other than the specified topic), it only retains it's value for the boolean evaluation.

If input states are undefined
Every time you create a node or modify the node, all inputs are set to undefined. This means that the node will wait the arrive of all topics (for example 3 topics, if you've selected 3 topics in the option), before it can output a payload. This can be a problem if your logic must be operative as soon as you deploy the flow. To overcome this problem, you can "initialize" all the undefined inputs with True or False.

  1. Leave undefined: Standard behaviour, the node will wait all the "undefined" topics to arrive, then starts a flow with the result.
  2. True or False: The node is immediately operative, by force the initialization of the "undefined" inputs with "true" or "false".



Remember latest input values after reboot
If checked, the input values are retained after a node-red reboot. That means, that if you reboot your node-red, you don't need to wait all inputs to arrive and initialize the node, before the node can output a payload.
Every time you modify the node's config, the retained values are cleared.

All incoming msg.payloads are converted into a boolean value according to the following rules (this applies to all boolean logic nodes):

  1. Boolean values are taken as-is.
  2. For numbers, 0 evaluates to false, all other numbers evaluates to true.
  3. Strings are converted to numbers if they match the format of a decimal value, then the same rule as for numbers are applied. If it does not match, it evaluates to false. Also, the string "true" evaluates to true.

The XOR operation operates in a one, and only one mode, i.e. (A ^ B) ^ C ... ^ n

OTHER USEFUL NODES

Interrupt Flow

Whenever this node receives a payload = false from a specific topic, it stops output messages to the flow. As soon it receives payload = true from this topic, the output messages start to flow out again.

Invert Ultimate

Outputs the inverted input. For example true -> false

Filter Ultimate

This node has 2 outputs.
If the input payload is true, the node will send true on output 1 and nothing on oputput 2
If the input payload is false, the node will send nothing on output 1, and false on oputput 2

Keywords

FAQs

Package last updated on 06 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc