Skip to content
JelinaJelina DocumentationTechnical documentation
Back to website

Data Model and Groups

Edge-EMS Builder organizes points into four types, using dataKey to connect acquisition, computation, strategies, and sharing. Business scripts do not need to access device registers directly.

Type Source Common uses
Raw data (Collection) Values and communication status acquired by CommBridge Voltage, temperature, device status; writable points can also be used for control
Aggregated data (Aggregation) Lua expressions or stored runtime values Total power, status evaluation, runtime variables
Time-scheduled data (Customization) Manual or strategy configuration with effective time intervals Electricity tariffs, operating modes, scheduled profiles
Shared data (Share) Other EMS Builder nodes Cross-node computation and control

Shared points are addressed using both the source device code and dataKey. Writing raw or shared data ultimately depends on the target device’s writability and permissions. Not every acquisition point is a control point.

Points carry names, aliases, and units, which are synchronized when shared. Raw points can synchronize CommBridge’s read coefficients; points without configured coefficients and status points may return null values.

CommBridge performs inverse coefficient conversion for acquisition writes. Edge-EMS Builder scripts and callers do not need to convert again. Both readings and target values sent to devices should use verified engineering units.

  • DAILY_CHANGE: each value is effective over a full date-and-time interval.
  • DAILY_REPEAT: each value uses a daily time interval, with an overall effective date range configured separately for the schedule.

For example, a repeating daily tariff can specify the price from 08:00 to 12:00 and the dates over which the entire schedule applies. Check existing time intervals and overlaps before replacing a complete schedule.

Aggregation calculations and runtime values

Section titled “Aggregation calculations and runtime values”

An aggregation point can calculate an expression or use useLatestValue to store and retrieve a runtime value. Set an initial value when creating a runtime variable; UDE-generated variables can also use an initial-value template.

Missing data in formulas is the string __Null__. Use tonumber for numerical calculations and handle missing data explicitly, avoiding treating missing data as zero. See the expression engine for functions and examples.

All four point types can be added to parent/child groups. Configure the order of child groups and points, edit basic information, and choose how to handle child groups when deleting a group. Query or subscribe to data by group to organize interfaces by device, area, or purpose.

For large numbers of similar devices, use UDE templates to generate groups and mappings automatically.

Next: Historical queries, Trigger schemes, Device sharing, Frontend reads and writes.