# Xovis

> Bitte beachten Sie, dass dies die Dokumentation für die Xovis-App ist, den Nachfolger der [Xovis People Counter App](https://doc.eliona.io/collection/apps/apps/xovis-people-counter).

### Übersicht

Dieses Handbuch enthält Anweisungen zum Konfigurieren, Installieren und Verwenden der Xovis-App, um Ressourcen zu verwalten und Daten zwischen BuildingPro Suites und Xovis People Counters zu synchronisieren.

### Installation

Installieren Sie die Xovis-App über den BuildingPro Suites App Store.

### Konfiguration

Die Xovis-App muss über die Einstellungsoberfläche von BuildingPro Suites konfiguriert werden. Nachfolgend finden Sie die allgemeinen Schritte und Details zur Konfiguration der App.

### Konfigurations- und Sensorerkennungs-Workflow der Xovis-App

Konfigurationen können in BuildingPro Suites unter `Einstellungen > Apps > Xovis`erstellt werden, wodurch die App-Oberfläche [Generic Frontend](https://doc.eliona.io/collection/v/manuals/settings/apps)geöffnet wird. Nachfolgend finden Sie den vollständigen Workflow zur Konfiguration von Xovis-Geräten.

#### Schritt 1: Erstellen einer Xovis-App-Konfiguration

Zuerst muss eine Konfiguration erstellt werden, die festlegt, wie BuildingPro Suites mit dem Xovis-Gerät interagiert. Diese Konfiguration enthält wichtige Details wie die Zertifikatsprüfung des Geräts, die Häufigkeit der Datenerfassung und API-Timeouts.

**Endpunkt**: `/configs`

**Methode**: `POST`

**Erforderliche Daten**:

| Attribut           | Beschreibung                                                                                                                                                                            |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `checkCertificate` | Legt fest, ob das Gerätezertifikat geprüft werden soll (`wahr` für öffentlich zugängliche Geräte, `falsch` für nicht öffentlich zugängliche Geräte).                                    |
| `enable`           | Aktiviert oder deaktiviert die Datensynchronisierung für diese Konfiguration.                                                                                                           |
| `refreshInterval`  | Intervall in Sekunden für die Datenerfassung vom Xovis-Gerät (Standard: 60 Sekunden). Kann reduziert werden, wenn Datapush verwendet wird.                                              |
| `requestTimeout`   | Timeout in Sekunden für API-Anfragen an das Xovis-Gerät (Standard: 120 Sekunden).                                                                                                       |
| `tenantIDs`        | Liste der BuildingPro Suites Mandanten-IDs, für die dieses Gerät Daten erfassen soll. Smart Devices werden für jede Mandanten-ID automatisch als Assets in BuildingPro Suites erstellt. |

#### Beispiel für eine Konfigurationsanfrage:

```json
{
  "checkCertificate": true,
  "enable": true,
  "refreshInterval": 60,
  "requestTimeout": 120,
  "tenantIDs": ["10"]
}
```

#### Antwort:

Nach erfolgreichem Erstellen der Konfiguration erhalten Sie eine Antwort mit der internen ID (`id`) der neu erstellten Konfiguration. Diese ID wird für die Konfiguration der Sensoren im nächsten Schritt benötigt.

#### Schritt 2: Hinzufügen von Xovis-Sensoren mit der Konfigurations-ID

Verwenden Sie die in Schritt 1 erhaltene Konfigurations-ID (z. B. `"id": 1`), können Sie nun Xovis-Sensoren konfigurieren. Jeder Sensor ist mit einer Konfiguration verknüpft und unterstützt Erkennungsmethoden wie Layer 2 (L2) oder Layer 3 (L3).

Endpunkt: `/sensors`

Methode: `POST`

Erforderliche Daten:

| Attribut           | Beschreibung                                                                                                   |
| ------------------ | -------------------------------------------------------------------------------------------------------------- |
| `configuration_id` | Die ID der in Schritt 1 erstellten Konfiguration. Dadurch wird der Sensor mit der Konfiguration verknüpft.     |
| `username`         | Benutzername des Xovis-Sensors.                                                                                |
| `password`         | Passwort des Xovis-Sensors.                                                                                    |
| `hostname`         | Hostname oder IP-Adresse des Xovis-Sensors.                                                                    |
| `port`             | Netzwerkport für die Kommunikation mit dem Sensor (z. B. 443 für HTTPS).                                       |
| `discovery_mode`   | Modus für die Sensorerkennung (`deaktiviert`, `L2` oder `L3`).                                                 |
| `l3_first_ip`      | (Optional) Start-IP-Adresse für die Layer-3-(L3)-Erkennung, um Sensoren in einem bestimmten Bereich zu finden. |
| `l3_count`         | (Optional) Anzahl der IP-Adressen, die im L3-Erkennungsmodus gescannt werden sollen.                           |

#### Beispiel für eine Sensoranfrage:

```json
{
  "configuration_id": 1,
  "username": "sensor_user",
  "password": "securepassword123",
  "hostname": "sensor1.local",
  "port": 8080,
  "discovery_mode": "L3",
  "l3_first_ip": "192.168.1.10",
  "l3_count": 50
}
```

### Kontinuierliche Asset-Erstellung (CAC)

Nach Abschluss der Konfiguration und der Sensorerkennung startet BuildingPro Suites die Continuous Asset Creation (CAC). Die erkannten Sensoren werden automatisch als Assets in BuildingPro Suites hinzugefügt:

* Sensorerkennung: Identifizierte Sensoren werden als Assets hinzugefügt.
* Automatische Asset-Erstellung: Konfigurierte Logiken auf den Sensoren werden als Assets in BuildingPro Suites gespeichert.
* Benachrichtigungen: Der Benutzer erhält eine Nachricht über das Benachrichtigungssystem von BuildingPro Suites, wenn neue Assets erstellt wurden.

### Datapush

Für eine kontinuierliche Datenübertragung (damit Daten sofort übertragen werden, wenn Personen unter den Sensoren hindurchgehen, anstatt auf den `refreshInterval`) kann Datapush konfiguriert werden:

1. Gehen Sie zur Konfigurationsoberfläche des Sensors.
2. Navigieren Sie zu `Einstellungen > Einzelner Sensor > Daten-Push`.
3. Richten Sie eine neue HTTPS-Verbindung mit dem Ziel ein `https://{your-eliona-instance}/apps-public/xovis/{configuration_id}/datapush`, Port 443.
4. Erstellen Sie einen neuen Agenten -> Live Data Push:
   * Datenfilterung: nach Wunsch
   * Format: JSON
   * Zeitformat: Unix-Zeit MS
   * Leere Frames: Leere Frames auslassen
   * Normalisierung: Stufe 1
   * Vollständige Paketinformationen: aus
   * Vollständige Sensorinformationen: aus
   * Schönes Format: aus
