# Geofencing-Funktion im Localino-System

### **1. Einführung**

Geofencing ermöglicht die Überwachung von Trackern (z.B. Tags) innerhalb vordefinierter Zonen. Ein Alarm wird ausgelöst, wenn ein Tracker eine Zone verlässt.

#### **Voraussetzungen**

* **Integration:** Die Localino-App muss korrekt in Eliona integriert sein.
* **Zonendefinition:** Geofencing-Zonen müssen in Localino definiert sein.
* **Action-WebSocket:** Ein Action-WebSocket muss in Localino eingerichtet sein.
* **Action-Port:** Der Action-Port muss in der Localino-Datenbank (Schema `localino`, Tabelle `config`) eingetragen sein.
* **Tracker-Zuordnung:** Der zu überwachende Tag muss einem Asset zugeordnet sein, auf dem die automatischs Regel erstellt werden soll.

{% hint style="warning" %}
Die wichtigste Information, die über den `/actionwebsocket` gesendet werden muss, ist die **id** (hardwareid) des Tags sowie idealerweise der **ts** (Zeitstempel ).
{% endhint %}

#### **Weitere Informationen, die zukünftig eine Rolle spielen könnten:**

Zusätzlich zu `id` und `ts` könnten folgende Informationen in der Zukunft wichtig sein:

* **Action Name** (`actionname`): Der Name der Aktion, die den Alarm auslöst.
* **Group** (`hardwaregroup`): Die Gruppe oder Kategorie des Geräts.
* **Name** (`hardwarename`): Der Name des Trackers oder der Hardware.
* **Zone** (`zone`): Die definierte Zone, die verlassen oder betreten wird.
* **Action Trigger** (`trigger`): Der spezifische Auslöser der Aktion, z.B. "ZoneLeave" oder "ZoneEnter".
* **CrossDirection** (`crossdirection`): Informationen zur Bewegungsrichtung, falls relevant.

Diese zusätzlichen Daten könnten für erweiterte Benachrichtigungen oder zukünftige Features nützlich sein, wie z.B. detailliertere Alarmmeldungen oder die Integration mit weiteren Systemen.

***

### **2. Geofencing-Alarmprozess**

Ist alles korrekt eingerichtet, wird bei einem ZoneLeave-Ereignis automatisch eine Regel erstellt, und ein Alarm wird ausgelöst.

#### **2.1 Verlassen einer Zone (ZoneLeave)**

* Ein **"ZoneLeave"**-Trigger setzt das Attribut **`geofencing_alarm`** im zugeordneten Asset auf **1**.
* Eine Alarmmeldung wird automatisch ausgelöst:

  ```arduino
  "{{asset.name}} befindet sich außerhalb der erlaubten Zone"
  ```

#### **2.2 Betreten einer Zone (ZoneEnter)**

* Ein **"ZoneEnter"**-Trigger setzt das Attribut **`geofencing_alarm`** auf **0**.
* Der Alarm geht eine Nachricht wird gesendet, die das Zurückkehren in die erlaubte Zone bestätigt:

  ```arduino
  "{{asset.name}} ist wieder innerhalb der erlaubten Zone"
  ```
