0.0.3 • Public • Published

Node-RED Smart Machine Alarm System Node: Observation Node

This module defines a Node-RED node, the ObservationNode, developed by Harshad Joshi (GitHub: hj91). This node processes input from the node-red-contrib-simple-spc node, checks for certain conditions, and provides output accordingly.


Before using this node, ensure that the fft-js and node-red-contrib-simple-spc modules are installed:

npm install fft-js
npm install node-red-contrib-simple-spc


This Node-RED custom node checks for spikes and out-of-control conditions in data from the node-red-contrib-simple-spc node. It can trigger an alarm if either condition exceeds a certain limit, which can be configured in the Node-RED flow editor.

Input and Output

The ObservationNode accepts input from the node-red-contrib-simple-spc node, checks for certain conditions, and accordingly sends output messages with properties such as frequencies, magnitudes, spikeDetected, alarm, and state.

Error Handling

The ObservationNode provides effective error handling, updating its status with an error message in case of any errors.


The ObservationNodeis used in a flow to accept samples from the node-red-contrib-simple-spc node, and check for spike and out-of-control conditions.


The ObservationNode could be an integral part of a predictive maintenance system in an industrial automation scenario. Let's consider an example in the context of a manufacturing plant:

In a manufacturing plant, various machines and equipment are continuously operating, and their health and performance are crucial for maintaining overall productivity. Each piece of machinery might have several sensors attached, measuring various parameters like vibration, temperature, pressure, etc., all of which provide a wealth of data for monitoring the machine's health.

This is where the ObservationNode comes into play.

  1. Machine Vibration Analysis: Mechanical faults often manifest as changes in vibration patterns. The ObservationNode can analyze the vibration data in real-time. Using FFT, it converts time-domain data (how vibration changes with time) to frequency-domain data (vibration at different frequencies), making it easier to spot anomalies.

  2. Spike Detection: Sudden increases in vibration (spikes) can indicate serious issues, like mechanical faults or failures. The node detects these spikes, alerting operators or triggering automatic protective actions.

  3. Out-of-control Detection: If the machine repeatedly goes into an out-of-control state - where it deviates significantly from its normal operating conditions - it could signify deteriorating health of the equipment. The ObservationNode can count these instances and trigger an alarm if the count exceeds a certain limit.

  4. Alarm Conditions: By setting appropriate spike and out-of-control limits, the node could identify potential machine failure ahead of time, allowing operators to take preventative action before a catastrophic failure occurs. This reduces downtime and maintenance costs.

  5. State Querying: Operators or other systems can query the current state of the ObservationNode to know the number of detected spikes or out-of-control conditions. This could be used to monitor trends over time, giving insights into machine behavior and aiding in decision-making processes.


This project is licensed under the GPL-3.0 License.

Package Sidebar


npm i node-red-contrib-observation

Weekly Downloads






Unpacked Size

51.3 kB

Total Files


Last publish


  • hj91