# Geofencing-Funktion im Localino-System

### **1. Einleitung**

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 BuildingPro Suites integriert sein.
* **Zonendefinition:** Geofencing-Zonen müssen in Localino definiert sein.
* **Action-WebSocket:** In Localino muss ein Action-WebSocket eingerichtet sein.
* **Action-Port:** Der Action-Port muss in der Localino-Datenbank eingetragen werden (Schema `localino`, Tabelle `config`).
* **Tracker-Zuordnung:** Der zu überwachende Tag muss einem Asset zugeordnet sein, für das die automatische Regel erstellt werden soll.

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

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

Zusätzlich zu `id` und `ts`könnten die folgenden Informationen künftig wichtig sein:

* **Aktionsname** (`actionname`): Der Name der Aktion, die den Alarm auslöst.
* **Gruppe** (`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.
* **Aktionsauslöser** (`trigger`): Der spezifische Auslöser der Aktion, z. B. "ZoneLeave" oder "ZoneEnter".
* **Querrichtung** (`crossdirection`): Informationen zur Bewegungsrichtung, falls relevant.

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

***

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

Wenn alles korrekt eingerichtet ist, wird automatisch eine Regel erstellt und ein Alarm ausgelöst, wenn ein ZoneLeave-Ereignis auftritt.

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

* A **"ZoneLeave"** -Trigger setzt das **`geofencing_alarm`** -Attribut 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)**

* A **"ZoneEnter"** -Trigger setzt das **`geofencing_alarm`** -Attribut auf **0**.
* Der Alarm wird aufgehoben und es wird eine Meldung gesendet, die die Rückkehr in die erlaubte Zone bestätigt:

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