Rules
Within this area, a distinction is made between two different categories.
| Category | Description |
|---|---|
Event Rules |
Rules that are triggered based on events |
Periodic Rules |
Rules that are triggered repeatedly based on time |
| Periodic rules are described on their own page: Periodic Rules. |
Conditions
| Field | Type | Description |
|---|---|---|
Start/End |
Location |
Start/End of the rule |
Max. Dwell Time |
Time |
Max. time the asset is allowed to stay in the location |
Max. Transport Time |
Time |
Max. time the transport to the location may take |
Destination |
Location |
Start/End of the rule |
Max. Dwell Time |
Time |
Max. time the asset is allowed to stay in the location |
Max. Transport Time |
Time |
Max. time the transport to the location may take |
Actions
| Field | Type | Description |
|---|---|---|
Start/End |
Location |
Start/End of the rule |
Max. Dwell Time |
Time |
Max. time the asset is allowed to stay in the location |
Max. Transport Time |
Time |
Max. time the transport to the location may take |
Destination |
Location |
Start/End of the rule |
Max. Dwell Time |
Time |
Max. time the asset is allowed to stay in the location |
Max. Transport Time |
Time |
Max. time the transport to the location may take |
E-mail notification
A rule can send an e-mail as one of its actions. Subject and body are stored as FreeMarker templates and filled at execution time with the data of the triggering rule.
Available data
Two objects are available inside the template:
| Object | Content |
|---|---|
|
The asset that triggered the rule |
|
The full execution context of the rule |
From the asset you can output name, id, type and tags, among others:
Asset ${asset.name} has changed its location.
The details of the location change are available under context.transitionResult:
| Field | Description |
|---|---|
|
ID of the entered location |
|
ID of the exited location |
|
Timestamp of entering |
|
Timestamp of exiting |
|
all entered / exited location IDs |
A location ID can be resolved into an object with id and name using context.findLocation(id).
<#assign locationName = "unknown location">
<#assign time = "unknown time">
<#if context.transitionResult??>
<#assign time = context.transitionResult.enterTime!"unknown time">
<#if context.transitionResult.entered??>
<#assign location = context.findLocation(context.transitionResult.entered)>
<#if location??><#assign locationName = location.name></#if>
</#if>
</#if>
Asset ${asset.name} reached ${locationName} at ${time}
| The rule offers a test mode that renders the template with sample data (asset "Demo Asset", location "Dummyhausen", current timestamps). This lets you validate templates without real tracking events. |