Objects

Common Objects used by Extensions

ExtObject

Property Type Description
Url string (Value: AopUrl) This Object’s unique URL identifier.
Type string (Value: SymbolPath) Type of the Object.
Props value{} (Key: Symbol) List of Properties.
States value{} (Key: Symbol) List of States. Values are either the State values themselves or ExtState objects.
Events ExtEvent{} List of currently active Events. Map key is an Event key which is an arbitrary string to uniquely identify the instance of the Event type.

💡All individual Properties of EXT Objects are summarized as Props to separate them from the general Properties such as Url and Type.

💡This definition includes all possible ExtObject Properties. APIs will declare StaticExtObject or ExtObjectSync instead to better indicate which Properties are actually used by the respective function or notification.

Special Props prefixed with “@” are optional and have a special meaning.

Property Type Description
@path string[] Defines a logical hierarchy for browsing the Objects. Used instead of the URL for building the hierarchy in automatic data supply.
@minval same type as the State Defines a minimum value for the input range of a value Object’s State. Useful if the range is only known at runtime.
@maxval same type as the State Defines a maximum value for the input range of a value Object’s State. Useful if the range is only known at runtime.
@valueinfo ValueInfo Defines information about the value (unit, precision, savehistory).
@valuetransformation ValueTransformation Defines the transformation of the value (@minval and @maxval are part of this transformation).
@valuemapping ValueMapping[] Defines an array of value mappings.

StaticExtObject

Statically configured/persisted parts of an Adapter Object.

Property Type Description
Url string (Value: AopUrl) This Object’s unique URL identifier.
Type string (Value: SymbolPath) Type of the Object.
Props value{} (Key: Symbol) List of Properties.

ExtObjectSync

Represents a full synchronization of States and Events of an Adapter Object. States and Events not included in the synchronization are considered removed.

Property Type Description
Url string (Value: AopUrl) This Object’s unique URL identifier.
States value{} (Key: Symbol) Complete list of States. Values are either the State values themselves or ExtState objects.
Events ExtEvent{} Complete list of currently active Events. Map key is an Event key which is an arbitrary string to uniquely identify the instance of the Event type.

ExtActivityResult

Property Type Description
Url string (Value: AopUrl) The Activity’s unique URL identifier. Must be the same as the URL passed to activity.Start.
Success bool True if operation was successful.

ExtActivity

Property Type Description
Url string (Value: AopUrl) This Activity’s unique URL identifier.
Type string (Value: SymbolPath) Type of the Activity.
Members ExtActivityMember[] List of members.
Props value{} (Key: Symbol) List of Properties.

ExtActivityMember

Property Type Description
Id string (Optional) Id of the member. Can be used to uniquely identify the member.
Url string (Value: AopUrl, Optional) URL of the Activity member (i.e., Object URL). Not set if the member does not reference an entity addressable with a URL.
Role string (Value: Symbol) Role of the Object within the Activity. Roles are statically defined per Activity type.
Props value{} (Key: Symbol) List of Properties.

ExtIncidentResult

Property Type Description
Success bool True if the Incident was successfully created.
Url string (Value: AopUrl, Optional) When created successfully, the Incident’s unique URL identifier.
Props value{} (Key: Symbol, Optional) When created successfully, the (initial) Property values of the Incident.

ExtIncident

Property Type Description
Url string (Value: AopUrl) This Incident’s unique URL identifier.
Props value{} (Key: Symbol) List of Properties.

IncidentEventRef

Property Type Description
Url string (Value: AopUrl) Unique URL identifier of the referenced Event.
HRId string Human readable Id of the referenced Event.

ExtState

Property Type Description
Value value Value of the State. Type depends on the specific State.
Time time (Optional) Time of the status change. If not set, the current time is used.
Iotag string (Optional) Tag to associate the State with corresponding Extension or IO log entries.
Props value{} (Key: Symbol, Optional) List of Properties.
Resources Resource{} (Key: Symbol, Optional) List of resources. Key is the resource Id.

💡 ExtState is only used to transmit a State if one of the optional additional specifications is set.

ExtEvent

Property Type Description
Type string (Value: Symbol) Type of the Event.
Time time (Optional) Time of occurrence. If not set, the current time is used.
Iotag string (Optional) Tag to associate the Event with corresponding Extension or IO log entries.
Props value{} (Key: Symbol, Optional) List of Properties.
Resources Resource{} (Key: Symbol, Optional) List of resources. Key is the resource Id.

💡 If Props contains “Latitude”/“Longitude” (of type float) and the triggering Object has the “Locatable” Functionality, WinGuard will store this geo-position in the resulting App Event, rather than the current values of the Object’s “Latitude”/“Longitude” States.

Resource

Property Type Description
Method string The resource transfer method. See EnumResourceMethod.
Type string Data type of resource: ‘bool’, ‘int’, ‘float’, ‘string’, ‘guid’, ’time’, ‘data’ or ‘object’; optionally with [] suffix to declare an array. String and data resources are most common.
Kind string (Optional) Explanation with regard to type, mostly for resources of type ‘data’, e.g., ‘image/jpeg’.
Url string (Value: AopUrl) URL of the resource. Extension origin must match the Extension code of the providing Extension.
Props value{} (Key: Symbol, Optional) Additional information required for the query (e.g., Badge Id). This information is passed to the resource.Get function if Method is ‘get’.

Operation

Property Type Description
Url string (Value: AopUrl) URL of the Operation target, which can be an Object, Event (URL may include Event key if applicable), Activity or Incident.
Type string (Value: SymbolPath) Type of Operation to execute.
Props value{} (Key: Symbol, Optional) Parameters for the specific Operation.
Resources Resource{} (Key: Symbol, Optional) List of resources. Key is the resource Id.

OperationProgress

Property Type Description
Token int Identifies a long-running Operation for the Extension uniquely.
Percentage int Completion percentage (range: 0 to 100).
Props value{} (Key: Symbol, Optional) Additional information/data with regard to the progress.

OperationResult

Property Type Description
Token int (Optional) Identifies a long-running Operation for the Extension uniquely. This is only set if the Operation is long-running. If set, Error and Props must not be set.
Error string (Optional) Contains a string error Id to indicate a failure. In this case, Props can contain further information with regard to the error.
Props value{} (Key: Symbol, Optional) The result of the Operation, or details with regard to the error if the Operation failed.

Is used both for operation.Execute as well as in the notification operation.Result. In the first case, only either token + props or error + props is set; in the notification, the token is always required.

ResourceResult

Result of a resource.Get call. Only exactly one of Url, Value or Error may be set.

Property Type Description
Url string (Optional) Transfer URL for out-of-band HTTP data transfer.
Value value (Optional) The resource value.
Error string (Optional) Contains a string error Id to indicate a failure. In this case, Props can contain further information with regard to the error.
Props value{} (Key: Symbol, Optional) Additional information for a successful result, or details with regard to the error.

MonitorDef

Property Type Description
Url string (Value: AopUrl) URL of the monitor.
Type string Type of the monitor. Right now, only ‘data’ is supported. See EnumMonitorType.
Name string (Optional) Name of the monitor.
Props value{} (Key: Symbol, Optional) Additional information concerning the monitor.

MonitorData

Property Type Description
Url string (Value: AopUrl) URL of the monitor.
Entries MonitorEntry[] List of monitor entries.

MonitorEntry

Property Type Description
Io int Indicates the direction of the data flow. See EnumMonitorEntryIo.
Time time Recording time.
Data data The recorded data. Content structure depends on the monitor type.
Info string (Optional) Further information in text form with regard to the monitor entry.
Last modified September 25, 2026