Skip to main content
Skip table of contents

Initiate Attribute node

Technical overview and capabilities

image-20250404-083140.png

In IoT Logic, Initiate Attribute node transforms device readings by creating new data attributes based on incoming telemetry. This node enables you to manipulate data through mathematical formulas, rename existing parameters, and perform bit-level operations using the Navixy Expression Language. The node serves as a key component in a flow, allowing you to enrich data before sending it to your target systems.

Initiate Attribute node is configured for each flow in the Navixy platform UI. For specific syntax options and detailed expression language reference, see Navixy Expression Language in the user documentation.

Initiate attribute node in the flow workspace showing the node connected to other nodes in the flow

Flow architecture integration

Initiate Attribute node functions within the flow architecture by providing data transformation capabilities and enabling:

  • Processing raw telemetry data into meaningful business metrics

  • Creating calculated fields based on multiple parameter values

  • Converting units of measurement (e.g., kilometers to miles)

  • Computing differences between current and previous readings

  • Generating time-based analytics on device behavior

The Initiate attribute node requires at least one Data Source node to be connected to it. No calculations will be performed without input data connections.

Node capabilities

The Initiate Attribute node by itself offers:

  • Data attribute transformation: Create completely new attributes by applying mathematical operations to the ones coming from data sources

  • Unit conversion: Convert measurement units (e.g., speed from km/h to mph, or temperature from °C to °F)

  • Time-based calculations: Compare current readings with previous values to determine changes

  • Time manipulation: Customize timestamps for when attribute was generated on a device and when it was received by the server to avoid timeline inconsistencies and unify time formats

Configuration options

Initiate Attribute node allows you to define how device parameters are transformed into attributes, which will be available for further processing in your data flow.

Initiate attribute node configuration panel showing the list of attributes and the Add New Attribute button

Initiate Attribute configuration panel

Let's see what elements this node uses and what you can configure when working with it:

Configuration steps

  1. Specify Node name: Enter a descriptive name to highlight the node’s purpose

    • Use a name that helps you identify the calculations that will be made within this node

    • This name will be displayed in the flow diagram for easy identification

  2. Define attribute properties: Configure the following settings for the new attribute
    Each attribute requires a name and value expression at minimum

    • Attribute name: A descriptive name for the new attribute

    • Value: The expression that defines how the attribute value is calculated

    • Toggle on Specify time attributes if you need to manipulate event timestamps, it enables two more options:

      • Generation time: When the data was created (defaults to now())

      • Server time: When the data was received by IoT Logic (defaults to now())

  3. Use expressions to define values: Apply Navixy Expression Language to calculate attribute values

    • Use value('parameter_name') to reference existing device parameters

    • Apply mathematical operations to transform values

    • Use time-based functions to access historical values

  4. Add a new attribute (optional): Click Add Attribute to create a new data attribute if you need multiple calculations to be performed within the same node
    This opens the attribute configuration dialog where you'll define all attribute properties

Let's look at a practical example of configuring attributes:

image-20250404-083703.pngIniatiate attribute node configuration window with node name Speed conversions, Attribute name KMPH to MPH and formula

In this example, we're creating an attribute that converts speed from kilometers to miles per hour by dividing the CAN speed parameter by 1.609.

For details on calculations for new attributes, see Calculation examples.

Also, you can find a detailed example of using calculated attributes in a flow in Flow configuration example → steps 3 and 4.

Data flow considerations

After configuring your Initiate Attribute node, make sure to:

  1. Connect the node to at least one Data Source node as input

  2. Connect the output to an Output Endpoint node to send the transformed data

Inside the Initiate Attribute node, parameter values are processed according to your expressions each time the device provides data. On output, you'll receive:

  • All original device parameters

  • All calculated attributes with their values

  • Updated generation time and server time values as configured

If you use the same name for a calculated attribute as an existing parameter, the attribute will replace the original parameter in the output data packet.

Frequently asked questions

Can I reference non-latest values in my calculations?

Yes. Use the index parameter in the value function to access historical values. For example, value('temperature', 1, 'valid') refers to the previous valid value of the temperature parameter.

How do I perform calculations involving time?

Use the genTime() and srvTime() functions to work with timestamps. You can calculate time differences, add time offsets, or format timestamps for display.

What happens if I delete an attribute?

The attribute will no longer be calculated for newly received data, but historical data remains unchanged. The attribute will not appear in any new data packets after deletion.

Can I use attributes created in one Initiate attribute node in another?

Yes. Attributes created earlier in the flow can be referenced in subsequent Initiate Attribute nodes, allowing for multi-stage calculations.

Example of a complete flow with two Initiate attribute nodes consecutively

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.