Skip to main content

Data Objects

Subject to Change in WEDA v1.1.1

The Data Engine is expected to change in WEDA v1.1.1. This page describes the Data Object behavior available in the current release.

Data Engine Pipeline

Data Source → Data Object → Transfer Function (optional) → Output Data Object → Alert / Reports

Overview

A Data Object is the queryable, time-series data unit that all WEDA features build on. Every Data Source sensor is automatically synced into a Data Object of the same name — no configuration required. Additional Output Data Objects can be derived from existing Data Objects using a Transfer Function. Whether native or an Output Data Object, it is the same entity: a named, typed record stored in IoTDB.

Every downstream feature — Alert Rules and Reports — reads exclusively from Data Objects. Nothing reads from Data Sources directly.

Native Data Object definitions are read-only — managed by the auto-sync process. To derive additional Data Objects, use the Transfer Functions API.


Operations

OperationAPIDescription
List Data ObjectsGET /api/v1/devices/{deviceId}/data-objectsAll data-object definitions for a device
Get Data ObjectGET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}One definition by ID
Get Latest Values (all)GET /api/v1/devices/{deviceId}/data-objects/values/latestLatest snapshot for all data objects
Get Latest Value (one)GET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/values/latestLatest value for one data object
Get Historical ValuesGET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/values/historicalTime-series from IoTDB
Download BlobGET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/blobs/{blobKey}Binary value (image, waveform, etc.)

Data Object Definition

GET /api/v1/devices/{deviceId}/data-objects

Returns { totalCount, items[] }. Each item includes dataObjectId, name, displayName, and dataType.

Use the dataObjectId returned by the current Data Object definition when querying values.


Reading Values

Get Latest Values (All Data Objects)

GET /api/v1/devices/{deviceId}/data-objects/values/latest

Returns the most recent value snapshot for every Data Object on the device within the system-defined retention period, currently 60 minutes. The API returns 204 No Content if no value is available from the realtime cache or the IoTDB fallback.

Get Latest Value (Single Data Object)

GET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/values/latest

Returns the latest value for one specific Data Object within the same retention period. The API returns 204 No Content if no recent value is available.

Get Historical Values (Time Series)

GET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/values/historical

Cursor-based pagination for time-series data stored in IoTDB. Use the cursor from the previous response to retrieve subsequent results until hasMore is false.

Download Binary Data (Blob)

GET /api/v1/devices/{deviceId}/data-objects/{dataObjectId}/blobs/{blobKey}

Retrieves a binary value (e.g. image, waveform buffer) stored under a specific blob key.


System Agent Metric Types

For a device running WEDA Node, the built-in System Agent reports hardware and system metrics. WEDA Core then auto-syncs the corresponding Data Objects. The following names are examples; call GET /api/v1/devices/{deviceId}/data-objects to discover the Data Objects exposed by a specific device and configuration.

System Resources (all platforms)

MetricTypeExample Data ObjectsUnit
cpucpu_usage, cpu_load1, cpu_load5, cpu_load15, cpu_context_switches%, count
memorymemory_total, memory_available, memory_used, memory_usage_percentbytes, %
diskdisk_usage_percent, disk_total, disk_available, disk_reads_completed%, bytes, count
networknetwork_bytes_sent, network_bytes_received, network_errors_inbytes, count
systemsystem_time, system_boot_time, system_procs_runningUnix ms, count
gpugpu_utilization%

disk requires a MountPoint parameter (e.g. / or C:\). network requires an Interface parameter (e.g. eth0).

Hardware Sensors (Advantech industrial PCs)

Requires the Advantech SUSI driver. Available on Advantech industrial computers by default.

MetricTypeWhat it reports
hwinfoMotherboard name, BIOS revision, driver version, EC revision
temperatureAll temperature sensors as a dictionary (key = sensor name e.g. CPU, value = °C)
voltageAll voltage rails as a dictionary (key = rail name e.g. +3.3V, value = V)
fanspeedAll fan speeds as a dictionary (key = fan name e.g. CPU_Fan, value = RPM)

Hardware Functionality (Advantech industrial PCs)

MetricTypeWhat it reports
gpioGPIO pin states
watchdogTimer IDs, capability, and current configuration
thermalprotectionProtection zones, source sensor, event type, and shutdown temperature
note

If the SUSI driver is not installed, hardware-specific metrics are silently skipped — system resource metrics continue collecting normally.

Other device types

SubNode devices expose different Data Objects based on their device definition. The metric types above apply only to WEDA Node's built-in System Agent. Call GET /api/v1/devices/{deviceId}/data-objects to discover the actual Data Objects a specific device exposes.


Scenario

A developer finds the analog input channels on a factory device and reads the latest AI_0 value:


Constraints

  • Native Data Object definitions are read-only — managed by the auto-sync process
  • unitDisplay is reserved and always null in v1.1.0
  • Use the dataObjectId returned by the current Data Object definition when querying values
  • Deleting a Transfer Function stops it from producing new values

Last updated on Jul-16, 2026 | Version 1.1.0