Signal Validation nodes - Developer Documentation
Skip to content

Signal Validation nodes

Usage of Signal Validation nodes

The following listing shows the specific "Signal Validation" nodes and their respective functions:

Detect range violations

Detect range

The "detect range violations" node performs range check and finds the data going beyond the specified limit on timeseries data provided in the message payload and sends the data to node output.

You use this node to:

  • Detect the range violations of an asset as per the threshold limit.

Detect spikes

Detect spike

The "Detect spikes" node performs spike detection and find the spikes for given timeseries data provided in message payload and sends the list with the detected spikes to the node output. You need to specify the window size to view the spike data. For more information on the window size, see Spike Alert.

You use this node to:

  • Detect the spike value for an asset as per the specified limit.

Using Signal Validation nodes

Example scenario

You can use signal validation nodes to detect the range values going beyond the threshold limit and to detect the spike data of the sensors on a given interval of the time series data.

Objective

To perform the detection of the range values going beyond the threshold limit and to detect the spike data of the sensors

Pre-requisites

Enter the following example code in the payload of the inject node to detect the range violations of the sensors on given interval.

Code
    [
        {
            "temperature": 50,
            "_time": "2018-01-02T00:01:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:02:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:03:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:04:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:05:00Z"
        },
        {
            "temperature": 70,

            "_time": "2018-01-02T00:06:00Z"
        },
        {
            "temperature": 60,
            "_time": "2018-01-02T00:07:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:08:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:09:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:10:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:11:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:12:00Z"
        },
        {
            "temperature": 20,
            "_time": "2018-01-02T00:13:00Z"
        },
        {
            "temperature": 30,
            "_time": "2018-01-02T00:14:00Z"
        },
        {
            "temperature": 50,
            "_time": "2018-01-02T00:15:00Z"
        }
    ]

Enter the following example code in the payload of the inject node to detect the spike for a given sensors values.

Code
    [
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:00.000Z"
        },
        {
            "var1": "1.1",
            "_time": "2017-04-20T12:00:01.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:02.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:03.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:04.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:05.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:06.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:07.000Z"
        },
        {
            "var1": "     ",
            "_time": "2017-04-20T12:00:08.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:09.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:10.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:11.000Z"
        },
        {
            "var1": " 100.0",
            "_time": "2017-04-20T12:00:12.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:13.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:14.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:15.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:16.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:17.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:18.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:19.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:20.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:21.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:22.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:23.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:24.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:25.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:26.000Z"
        },
        {
            "var1": "0.9",
            "_time": "2017-04-20T12:00:27.000Z"
        },
        {
            "var1": "1.0",
            "_time": "2017-04-20T12:00:28.000Z"
        },
        {
            "var1": "50.0",
            "_time": "2017-04-20T12:00:29.000Z"
        },
        {
            "var1": "49.9",
            "_time": "2017-04-20T12:00:30.000Z"
        },
        {
            "var1": "50.0",
            "_time": "2017-04-20T12:00:31.000Z"
        },
        {
            "var1": "49.9",
            "_time": "2017-04-20T12:00:32.000Z"
        },
        {
            "var1": "55.0",
            "_time": "2017-04-20T12:00:33.000Z"
        },
        {
            "var1": "50.0",
            "_time": "2017-04-20T12:00:34.000Z"
        },
        {
            "var1": "45.0",
            "_time": "2017-04-20T12:00:35.000Z"
        },
        {
            "var1": "50.0",
            "_time": "2017-04-20T12:00:36.000Z"
        },
        {
            "var1": "2.0",
            "_time": "2017-04-20T12:00:37.000Z"
        },
        {
            "var1": "3.0",
            "_time": "2017-04-20T12:00:38.000Z"
        },
        {
            "var1": "4.0",
            "_time": "2017-04-20T12:00:39.000Z"
        },
        {
            "var1": "5.0",
            "_time": "2017-04-20T12:00:40.000Z"
        },
        {
            "var1": "6.0",
            "_time": "2017-04-20T12:00:41.000Z"
        },
        {
            "var1": "7.0",
            "_time": "2017-04-20T12:00:42.000Z"
        },
        {
            "var1": "8.0",
            "_time": "2017-04-20T12:00:43.000Z"
        }
    ]

Detect range violations node procedure

  1. Select the "Detect range violations" node from the "Signal validation" palette.
  2. Connect the inject node and input your payload code in the json editor. Connect the "Detect range violations" node with a message payload as shown below:

    Range data

    • Enter lower limit as 45 and upper limit as 55 in the edit detect range violations node.
  3. Inject the payload node.

Result

The output is displayed in the message payload:

Detect range violations node output

Detect range violations

Detect spikes node procedure

  1. Select the "Detect spikes" node from the "Signal validation" palette.
  2. Connect the inject node and input your payload code in the json editor. Connect the "Detect spikes" node with a message payload as shown below:

    Spike data

    • Enter window size as 11 in the edit detect spikes node.
  3. Inject the payload node.

Result

The output is displayed in the message payload:

Detect spikes node output

Detect spike node


Last update: June 15, 2023