Extract Device IDs Node

Extracts the identifiers of devices from the data stream. This can be important for routing data correctly or for analytics that require identification of the source device.

Inputs

The Extract Device IDs node has both mandatory and optional inputs.

Input

Requirement

Comments

Device ID Field

Mandatory

Enter the JSON key that holds the device ID value which was set up in the Device Management.

Date Field Name

Optional

Enter the JSON key that holds the date and time of the payload.


Functionality

The Extract Device IDs node can be used to

  • Reassign payload to a different device
  • Define the timestamp of the payload
  • Split array object into individual JSON objects for separate processing downstream

Outputs

Multiple JSON objects if Subgroup Path is used or single JSON object if Subgroup Path is not used

How to Use

Implementation

In the Rayven Workflow Builder:

  • Select Functions.
  • Drag the Extract Device IDs node to the canvas.
  • Provide an input to the Extract Device IDs node by connecting it to another node.
  • Double click on the Extract Device IDs node to open the configuration window.

Configuration

Section: General

This section contains basic configuration elements required for any Extract Device ID implementation

Field

Requirement

Comments

Node Name

Mandatory

Enter a name for this node.


This provides a handle to which you and others can refer, so it should be simple but meaningful and explain the node’s purpose.



Section: Device ID Information

This section defines the device ID that the payload is associated with.

Field

Requirement

Comments

Device ID Field

Mandatory

The payload should have a JSON key that is holding the device ID value as configured in Device Management. If this key does not exist, it can be created with JavaScript Node. 

If the JSON key is changing, wildcard (*) can be used at the beginning or end of the field name provided and the first located field will be used.

Device ID Field Delimiter

Optional

Enter the delimiter used in the Device ID Field. If space is used, please type [space] with the square brackets

Device ID Field Index

Optional

Enter the index position of the Device ID if Device ID Field Delimiter is used. Note that indexes start from 0.

Add to Existing Device ID

Optional

Checkbox to allow users to append the extracted Device ID to the parent device ID.

Take Device ID from Key

Optional

Checkbox to allow users to grab the Device ID from the JSON key.



Section: General

This section allows users to extract data from an array of objects.

Field

Requirement

Comments

Subgroup Path

Optional

Enter the JSON key that holds the array of objects to be extracted.

Filter Field

Optional

If Subgroup Path value is provided and Take Only Subgroup is checked, Filter Field can be used to ensure that only JSON objects with the specified field will be passed on.

Filter Value

Optional

If Subgroup Path and Filter Field values are provided and Take Only Subgroup is checked, Filter Value will ensure only the specified value will be passed on.

Take Only Subgroup

Optional

This option is only valid if Subgroup Path is provided.

Selecting this option will split the JSON array into individual JSON objects to be passed on.

Split Delay

Mandatory

Default to 500ms. Ideally 500ms or more to allow sufficient time for the workflow to process the payload

Use for Storage

Optional

Permits the use of the ‘Tags Project Export’ function in SuperAdmin on the node. Otherwise the export function only works on input and visual nodes.

NOTE: ‘Tags Project Export’ function is functionality only available in SuperAdmin



Section: Take Date Field from JSON

In the case that you would like the timestamp of the data to be based on the data coming from the device, and if the device is coordinated with a time zone, you will need to define the following three fields:

Field

Requirement

Comments

Date Field Name

Optional

Enter the JSON key that is holding the timestamp value

Date Format

Optional

Provide the format for the timestamp, using:

Date Format specifiers:

s - Second, 0->59

ss - Second, 00->59

m- Minute, 0->59

mm- Minute, 00->59

h - Hour, 12 hour clock 1->12

hh - Hour, 12 hour clock 01->12

H - Hour, 24 hour clock 0->23

HH - Hour, 24 hour clock 00->23

d - Day, 1->31

dd - Day, 01->31

M - Month, 1->12

MM - Month, 01->12

MMM - Month, abbreviated

MMMM - Month, full name

yyyy - Year

t - AM/PM, first letter

tt - AM/PM

f - Decimal seconds (enter an 'f' for each decimal place)

EPOCH - UNIX Epoch format (seconds)

EPOCHMS - UNIX Epoch format (milliseconds)

Timezone

Optional

Define from a drop down list, the time zone that the device recorded the data. If EPOCH or EPOCHMS is set as the Date Format, this section can be left blank.