/node-red-contrib-config

A Node Red node for setting global and flow context data at startup

Primary LanguageHTMLMIT LicenseMIT

node-red-contrib-config

A Node Red node for setting global and flow context properties at startup and during runtime.

This node allows you to store configuration information in a central location and use it to set global and flow context properties at startup (initialization phase) or during runtime. Multiple config nodes can be used to store alternate configuration settings and switch between them during runtime.
node-appearance
Fig. 1: Node appearance

Installation

In Node-RED

  • Via Manage Palette -> Search for "node-red-contrib-config"

In a shell

  • go to the Node-RED installation folder, e.g.: ~/.node-red
  • run npm install node-red-contrib-config

Usage

Node Configuration

node-settings
Fig. 2: Node properties

Configuration of Property and Value

The object given in the Property field is the context property which shall be modified. This object can be a global or a flow variable.
The contents of the Value field is the data which is written to the context property object. This object can be of the type

  • string
  • number
  • boolean
  • JSON
  • timestamp

Checkbox Active

If Active is checked (i.e. node is active), the configuration properties will be applied at startup before any flows are started. This may e.g. be used for initialization purposes.

Input

If the node receives any msg, it will apply the configuration properties contained in that config node. I.e. the value of the Value field is written into the variable given in the Property field. The received msg is discarded.
This allows e.g. to alter configurations programmatically.

Pressing the button on the left side of the node will also apply the configuration properties contained in that config node.
This allows also to alter configurations manually.

Output

The config node has no output data.

Example


Remark: Example flows are present in the examples subdirectory. In Node-RED they can be imported via the import function and then selecting Examples in the vertical tab menue.


The example flow shows an example where the global variable PC_Stability

  • is modified at startup (initial operation, only by the upper config node),
  • can be modified by the left button of both config nodes (manual operation),
  • can be modified by the upper both inject nodes (msg initiated operation).

The lower nodes only show the contents of the modified global variable.

ConfigNodeExampleFlow.json

Fig. 3: Config node example

The following figure shows the node configuration of the upper confignode.

Fig. 4: Example Config node properties