Data Engine Concepts
The Data Engine is expected to change in WEDA v1.1.1. This section describes the Data Engine behavior available in the current release.
WEDA's Data Engine is the layer that turns raw device signals into actionable data. Every downstream feature — Alert Rules and Reports — reads from a single unified output: Data Objects.
The Pipeline
Alert Rules, Reports, and all other features consume ② Data Objects — everything downstream reads from this single layer, whether the Data Object came from auto-sync or from a Transfer Function (as an Output Data Object).
① Data Source
A Data Source describes how a device acquires raw sensor data — the communication protocol or driver layer (e.g. Advantech DAQ, Modbus, SubNode connector) and which sensor channels belong to it.
Data Sources are read-only from the Cloud API. They are automatically synchronized from WEDA Node and reflect the physical configuration of the device.
② Data Object
A Data Object is the queryable, time-series data unit that all WEDA features build on.
Auto-sync: When a device syncs its Data Sources to WEDA Core, every sensor channel is
automatically synced into a Data Object of the same name — no user configuration needed. The
Data Source's identifier (sensorId) and the Data Object's identifier (dataObjectId) are
unrelated GUIDs; the two are matched by name, not by ID.
Output Data Objects: Additional Data Objects can be produced on top of the native ones by creating a Transfer Function — a computation that takes an existing Data Object as input and produces an Output Data Object:
- Convert 4–20 mA current to engineering units (e.g. 0–100 bar pressure)
- Convert units (Celsius → Fahrenheit)
- Normalize or scale a sensor value
Whether native or an Output Data Object, both are the same kind of entity: a named, typed record stored in IoTDB and queryable through the Data Points API.
③ Transfer Function
A Transfer Function is an optional, cloud-side computation in WEDA Core. It reads an existing Data Object's value, applies a mathematical expression, and produces an Output Data Object.
Multiple Transfer Functions can coexist on the same device, each producing its own Output Data
Object. Currently Expression is the only available type; more types may be added in future
versions.