node-red-nodes/function/rbe
Sam Machin 2d28a2304f
Update package.jsons for mono-repo (#851)
Update the package.json for each node to point to the directory within the repo that hosts the code for the package in question.  as per https://docs.npmjs.com/cli/v7/configuring-npm/package-json#repository
2021-11-02 15:22:30 +00:00
..
icons fatten up rbe icon slightly 2015-08-11 19:56:23 +01:00
locales Let RBE node be able to use any property as key (not just topic) 2021-04-27 20:25:30 +01:00
LICENSE Update licenses and packages for all nodes 2016-11-06 20:26:19 +00:00
README.md make RBE info consistent with menu options 2020-01-12 16:45:37 +00:00
package.json Update package.jsons for mono-repo (#851) 2021-11-02 15:22:30 +00:00
rbe.html Let RBE node be able to use any property as key (not just topic) 2021-04-27 20:25:30 +01:00
rbe.js Let RBE node be able to use any property as key (not just topic) 2021-04-27 20:25:30 +01:00

README.md

node-red-node-rbe

A Node-RED node that provides report-by-exception (RBE) and deadband capability.

The node blocks unless the incoming value changes - RBE mode, or changes by more than a certain amount (absolute value or percentage) - bandgap modes.

Install

Run the following command in your Node-RED user directory - typically ~/.node-red

npm i node-red-node-rbe

Usage

A simple node to provide report by exception (RBE) and bandgap functions

  • only passes on data if it has changed.

This works on a per msg.topic basis. This means that a single rbe node can handle multiple topics at the same time.

RBE mode

The node doesn't send any output until the msg.payload is different to the previous one. Works on numbers and strings. Useful for filtering out repeated messages of the same value. Saves bandwidth, etc...

Deadband and Narrowband modes

In deadband modes the incoming payload should contain a parseable number and is output only if greater than + or - the band gap away from the previous output.

The narrowband modes will block if the incoming value change is greater than + or - the band gap away from the previous value. Useful for ignoring outliers from a faulty sensor for example.

You can specify compare with previous valid output value or previous input value. The former ignores any values outside the valid range, whereas the latter allows two "bad" readings in a row to reset the range based on those values. For example a valid step change.

The deadband value can be specified as a fixed number, or a percentage. E.g. 10 or 5% . If % mode is used then the output will only get sent if the input payload value is equal or more than the specified % away from the previously sent value.

For example - if last sent value was 100, and deadband is set to 10% - a value of 110 will pass - then the next value has to be 121 in order to pass (= 110 + 10% = 121).

This is mainly useful if you want to operate across multiple topics at the same time that may have widely differing input ranges.

Will only accept numbers, or parseable strings like "18.4 C" or "$500"