Initiate Attribute node
Technical overview and capabilities

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.

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 configuration panel
Let's see what elements this node uses and what you can configure when working with it:
Configuration steps
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
Define attribute properties: Configure the following settings for the new attribute
Each attribute requires a name and value expression at minimumAttribute 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()
)
Use expressions to define values: Apply Navixy Expression Language to calculate attribute values
Use
value('parameter_name')
to reference existing device parametersApply mathematical operations to transform values
Use time-based functions to access historical values
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:

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:
Connect the node to at least one Data Source node as input
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.
