Performs time-based aggregation of a payload field grouped by unique identifier (UID), typically per UID.
What It Does
This node calculates an aggregation (currently only sum) over a time window for each unique UID — usually per UID (UID). It is used to consolidate data streams into a single result, allowing device-level performance evaluation.
The node is intended for scenarios where individual devices emit multiple payloads over time, and those values need to be accumulated into a rolling total. This is useful for:
-
Device-level diagnostics and health metrics
-
Short-term flow rate or energy consumption monitoring
-
Rolling value accumulation for alerting or logic branching
-
Enabling precise, per-device aggregation in multi-source environments
Internally, the node maintains a sliding window of recent values per UID and calculates the defined metric over that window.
Configuration Options
| Field | Required | Description |
|---|---|---|
| Node name | ✅ | Internal label for the node |
| JSON key | ✅ | Field in the payload to be aggregated |
| Calculation | ✅ | Aggregation function to use (currently only Sum) |
| Calculation time span | ✅ | Numeric duration of the sliding time window |
| Calculation ends | ✅ | Window cutoff. Set to Up to current timestamp |
| Calculation time span units | ✅ | Units for the time window (Seconds, Minutes, Hours, Days) |
| Output JSON key | ✅ | Field in the outgoing payload where result is stored |
| How many up | Optional | Controls how many values to output (typically 1) |
| Decimal places | Optional | Number of decimal places in the output (e.g., 2) |
Step-by-Step: How to Configure the Node
-
Add the Node
Place the node into the workflow where time-based accumulation is required. -
Node Name
Assign a descriptive name (e.g.,SumFlow10min). -
Select JSON Key
Choose the field in the payload to sum (e.g.,flowRate). -
Set Calculation
ChooseSum. -
Define Time Window
-
Set Calculation time span (e.g.,
10) -
Select Units (e.g.,
minutes) -
Set Calculation ends to
Up to current timestamp
-
-
Set Output Key
Enter a name likeflowRate10minSumto store the result. -
Set Decimal Precision
Optional — use2for typical numeric rounding.
Example Configurations
Example 1: Aggregate flow rate over last 10 minutes per device
| Field | Value |
|---|---|
| JSON key | flowRate |
| Calculation | Sum |
| Time span | 10 |
| Time units | Minutes |
| Output JSON key | flowRate10Min |
| Decimal places | 2 |
Example 2: Aggregate energy per hour per device
| JSON key | kWh |
| UID | deviceId (implicit) |
| Calculation | Sum |
| Time span | 1 |
| Time units | Hours |
| Output key | hourlyEnergy |
| Decimal places | 3 |
Q&A
Q: How is UID determined?
A: UID is inferred from UID or equivalent grouping key. Each UID gets its own rolling window.
Q: Does this node use the payload timestamp or processing time?
A: The node uses the payload timestamp for time-window logic.
Q: What happens if no values exist within the window?
A: The result is 0.
Q: Can I change the aggregation method?
A: No. Only Sum is currently supported.
Q: Can I use it for non-numeric fields?
A: No. Only numeric aggregation is supported.