ReadZenonArchiveData@1
The ReadZenonArchiveData@1 node queries historian data for one or more variables inside a named zenon archive over a relative time window, with optional raster. Each configuration field can be set as a literal in YAML or resolved from the pipeline DataContext at runtime via an optional JsonPath override.
Adapter Prerequisites
Node Configuration
For fields path, targetPath, targetValueWriteMode, and targetValueKind, see Overview.
transformations:
- type: ReadZenonArchiveData@1
archiveName: MASCHINEN # zenon archive identifier or name
variableNames: # list of variable names to query
- MachineOn
- CycleCount
startTimeOffset: "-1h" # relative to now; see below
endTimeOffset: "now" # relative to now; see below
raster: 0 # optional aggregation raster in seconds (0 = raw)
targetPath: $.archiveData
targetValueWriteMode: Overwrite
Relative time offsets
Both startTimeOffset and endTimeOffset accept:
| Format | Meaning | Example |
|---|---|---|
now | Current UTC time | now |
-Ns | N seconds from now | -30s |
-Nm | N minutes from now | -15m |
-Nh | N hours from now | -1h |
-Nd | N days from now | -7d |
Positive values are also accepted but rarely useful (future timestamps return no data).
JsonPath overrides
Every config field has an optional *Path sibling that reads the value from the input document (selected via path) at runtime. If the path resolves, the JsonPath value wins; otherwise the literal config value is used. This lets a single node serve many requests with different parameters.
transformations:
- type: ReadZenonArchiveData@1
path: $.request # input document root for the overrides
archiveNamePath: $.archiveName
variableNamesPath: $.variables # must resolve to a string array
startTimeOffsetPath: $.from
endTimeOffsetPath: $.to
rasterPath: $.raster
# literal fallbacks used when a path is missing or unresolvable:
archiveName: MASCHINEN
variableNames: []
startTimeOffset: "-1h"
endTimeOffset: "now"
raster: 0
targetPath: $.archiveData
targetValueWriteMode: Overwrite
Output shape
A list of ArchiveQueryResult objects, one per variable:
[
{
"VariableName": "MachineOn",
"Values": [
{ "Timestamp": "2026-04-17T08:00:00Z", "Value": true, "StatusBits": 0 },
{ "Timestamp": "2026-04-17T08:00:10Z", "Value": false, "StatusBits": 0 }
]
}
]