---
title: Regeln
id: "de:tracking:admin:rules.adoc"
site: de
component: tracking
module: admin
version: 3.0
lang: de
url: "https://help.rtlscloud.io/de/tracking/3.0/admin/rules.html"
source_repo: "https://github.com/iot-invent/xCloud.git@3.0.x"
source_path: tracking/docs/de/modules/admin/pages/rules.adoc
---

# Regeln

Innerhalb dieses Bereiches wird in zwei verschieden Kategorien unterschieden.

|  |  |
| --- | --- |
| Kategorie | Beschreibung |
| Event-Regeln | Regeln die Event basiert ausgelöst werden |
| Periodische Regeln | Regeln die zeitbasierend wiederholt ausgelöst werden |

> **NOTE:** Periodische Regeln werden auf einer eigenen Seite beschrieben: Periodische Regeln.

## Bedingungen

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| **Start/Ende** | Lokation | Start/Ende der Regel |
| Ma. Verweilzeit | Zeit | max. Zeit wie lange das Asset in der Lokation verweilen darf |
| Max. Transportzeit | Zeit | max. Zeit wie lange der Transport zur Lokation dauern darf |
| **Ziel** | Lokation | Start/Ende der Regel |
| Ma. Verweilzeit | Zeit | max. Zeit wie lange das Asset in der Lokation verweilen darf |
| Max. Transportzeit | Zeit | max. Zeit wie lange der Transport zur Lokation dauern darf |

## Aktionen

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| **Start/Ende** | Lokation | Start/Ende der Regel |
| Ma. Verweilzeit | Zeit | max. Zeit wie lange das Asset in der Lokation verweilen darf |
| Max. Transportzeit | Zeit | max. Zeit wie lange der Transport zur Lokation dauern darf |
| **Ziel** | Lokation | Start/Ende der Regel |
| Ma. Verweilzeit | Zeit | max. Zeit wie lange das Asset in der Lokation verweilen darf |
| Max. Transportzeit | Zeit | max. Zeit wie lange der Transport zur Lokation dauern darf |

## E-Mail-Benachrichtigung

Als Aktion einer Regel kann eine E-Mail versendet werden. Betreff und Text werden als **FreeMarker-Vorlagen** hinterlegt und zum Zeitpunkt der Ausführung mit den Daten der auslösenden Regel gefüllt.

### Verfügbare Daten

Innerhalb der Vorlage stehen zwei Objekte zur Verfügung:

| Objekt | Inhalt |
| --- | --- |
| `asset` | Das Asset, das die Regel ausgelöst hat |
| `context` | Der vollständige Ausführungskontext der Regel |

Vom Asset lassen sich unter anderem Name, Id, Typ und Tags ausgeben:

```none
Asset ${asset.name} hat seine Lokation gewechselt.
```

Die Angaben zum Lokationswechsel liegen unter `context.transitionResult`:

| Feld | Beschreibung |
| --- | --- |
| `entered` | Id der betretenen Lokation |
| `exited` | Id der verlassenen Lokation |
| `enterTime` | Zeitpunkt des Betretens |
| `exitTime` | Zeitpunkt des Verlassens |
| `allEntered` / `allExited` | alle betretenen bzw. verlassenen Lokations-Ids |

Eine Lokations-Id lässt sich mit `context.findLocation(id)` in ein Objekt mit `id` und `name` auflösen.

Beispiel: Betreff

```none
<#assign locationName = "unbekannte Lokation">
<#assign time = "unbekannte Zeit">
<#if context.transitionResult??>
  <#assign time = context.transitionResult.enterTime!"unbekannte Zeit">
  <#if context.transitionResult.entered??>
    <#assign location = context.findLocation(context.transitionResult.entered)>
    <#if location??><#assign locationName = location.name></#if>
  </#if>
</#if>
Asset ${asset.name} hat ${locationName} um ${time} erreicht
```

> **TIP:** Die Regel bietet einen Testmodus, der die Vorlage mit Beispieldaten rendert (Asset „Demo Asset", Lokation „Dummyhausen", aktuelle Zeitstempel). So lassen sich Vorlagen ohne echte Tracking-Ereignisse prüfen.
