- Jelina overview
- EMS Builder
- Core capabilities
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.
Four data types
Section titled “Four data types”| 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.
Point attributes and conversion
Section titled “Point attributes and conversion”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.
Time schedules
Section titled “Time schedules”- 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.
Hierarchical groups
Section titled “Hierarchical groups”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.