Skip to content
JelinaJelina DocumentationTechnical documentation
Back to website

Unit Dynamic Expansion (UDE)

UDE manages similar devices with a shared set of templates. Adding a device automatically generates aggregation points, groups, and sharing configurations. After template changes, reconciliation updates existing instances.

Object Purpose
Device unit type Defines naming conventions and templates for similar devices
Device unit instance A specific unit on a device, such as METER#1
Aggregation template Generates calculated points, units, expressions, and initial values
Group template Generates parent/child groups, point mappings, and ordering
Sharing template Generates shared point lists and binds shared targets

Processing follows the order aggregation → groups → sharing, allowing each step to reference earlier results. Group templates support tree queries and designated parent groups; an individual instance can also override its root parent group.

In METER#1_power, for example, METER#1 is the instance prefix and power is the point suffix. Instance prefixes cannot contain underscores. Prefixes must be unique on a device, and similar devices should use consistent suffix conventions.

During CommBridge configuration synchronization or upon arrival of shared data, the system detects instances that match the rules. Existing data can also be scanned to include devices whose templates were configured later.

Use {token} placeholders to reuse a template across devices with different names, group locations, or sources:

  • Rule sets organize placeholders and can be bound to a device unit type.
  • Matching rules generate placeholder values from device codes, instance prefixes, or serial numbers.
  • Scopes apply separately to groups, source devices, expressions, initial values, or sharing configurations.
  • Trial calculation and impact preview check rendered results before saving and show the impact before disabling or deleting rules.

UDE resolves {token} during template generation; Lua reads ${dataKey} when an expression runs. Their purposes differ. After testing a template, also validate the generated Lua expressions.

Reconciliation fills in missing configuration and updates template-managed fields, group mappings, and sharing bindings. It does more than simply add new objects without modifying existing ones.

  1. Define types and templates, preparing the parent groups and shared targets they reference.
  2. Reconcile a test instance and inspect the generated results.
  3. After confirmation, reconcile the type or all types in a batch.
  4. Inspect instance materialization status and errors. If an API reports “scheduled,” background processing may still be underway.

In the current version, saving or deleting templates validates changes and schedules affected existing instances. Confirm the impact before release. If a parent group is not ready, inspect status and retry information, correct the dependency, and check the results again.

Generated configuration carries ownership information and fingerprints to detect template changes and conflicts with manual edits. If an aggregation template’s initial value has not changed, repeated reconciliation does not reset a valid runtime value to its default. After deleting templates or changing codes, do not assume every old business object will be deleted automatically; check references and cleanup results.

UDE reduces repetitive configuration when more devices of the same model are added, configurations are reused across sites, or device counts are high. Small, fixed device sets can also be managed directly as points.

Related capabilities: Data model, Device sharing. For Agent-based configuration, use the UDE and dynamic placeholder Skills for template and instance setup, rule trials, impact analysis, and release.