Skip to main content

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:

FormatMeaningExample
nowCurrent UTC timenow
-NsN seconds from now-30s
-NmN minutes from now-15m
-NhN hours from now-1h
-NdN 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 }
]
}
]