Data Model

Data model questions

What’s the difference between Object and Value{}?

Both types are represented in JSON as an object, so there is sometimes confusion here.

However, when we talk about Object within AOP we do not mean the JSON representation but the AOP Object type with its defined structure of Properties.

A Value {} (value map), on the other hand, has no defined type and can contain arbitrary Properties. It can be seen as just a flat collection of Properties. The Property IDs can even consist of Property Paths.

So, value maps are for instance used for the <dataobject>.Set functions to directly address various aspects of an Object on different hierarchy levels.

What is the difference between a Datapoint and an EXT Object?

These two concepts are often confused, but they represent different layers of the system:

A Datapoint is a WinGuard-native entity. It has a name, lives in WinGuard’s object hierarchy, belongs to a category, carries alarm states, and is displayed in the WinGuard UI. Datapoints are configured and managed inside WinGuard.

An EXT Object is the Extension’s representation of a physical or logical device entity. From the Extension’s perspective, an EXT Object has:

  • An Object ID (unique within the Extension)
  • An Object type (defined in the Extension’s XML model)
  • States and Events (device conditions and triggered occurrences)
  • Operations (functions that can be called on the Object)

In addition, an EXT Object can be a member of an Activity.

The Extension does not know or control the Datapoint’s name, hierarchy segment, category, or any other WinGuard configuration. That mapping is done by WinGuard during system configuration: A WinGuard administrator assigns an EXT Object to a Datapoint and configures name, hierarchy, and category there.

In practice, this means:

  • When implementing an Extension, you work entirely with Object IDs and types, not with WinGuard Datapoints.
  • The Extension cannot read back the name or hierarchy of the Datapoint that a WinGuard administrator has assigned to one of its Objects.
  • As part of developing a device adapter, the developer provides an App-XML file.
    • This file defines how the Object types map to WinGuard Datapoints, including which Object States and Events map to which Datapoint states and events.

→ See Device Integration Concepts, API Extensions Objects and EXT Object Model for details.

What are Properties, States, and Events and how do they relate to each other?

These three concepts describe different aspects of an EXT Object, all built on the same underlying AOP data model (named values):

  • Properties are fixed attributes — static information such as an address, a hardware identifier, or a configurable setting. They are part of the Object definition and are transferred to the linked WinGuard Datapoint during Automatic Data Supply.

  • States are dynamic attributes — named values updated at runtime to reflect the device’s current condition (e.g., Open = true, Temperature = 22.5). States are continuously pushed from the adapter to WinGuard whenever the device condition changes.

  • Events are dynamic occurrences — things that happen to an Object. They come in two forms:

    • Notification Events: a momentary occurrence with no duration (e.g., an access booking or a license plate recognition).
    • Clearable Events: an occurrence with a start and an end (e.g., an alarm that must be acknowledged and reset).

Both States and Events can be mapped to WinGuard App states and can trigger alarms or system log entries. Whether a device condition is modeled as a State or a Clearable Event is a design decision for the adapter developer — both representations are valid and equivalent in WinGuard.

→ See Device Integration Concepts: States and Events for the full model.

Last modified September 25, 2026