# Device simulator

> Die Gerät-Simulator-App simuliert die Dateneingabe in Eliona.

### Überblick

Diese Anleitung bietet Anweisungen zur Konfiguration, Installation und Nutzung der Gerät-Simulator-App.

### Installation

Installieren Sie die Gerät-Simulator-App über den Eliona App Store.

### Konfiguration

Die Gerät-Simulator-App erfordert eine Konfiguration über die Eliona-Einstellungen. Im Folgenden sind die allgemeinen Schritte und Details zur Konfiguration der App aufgeführt.

#### Konfiguration der Gerät-Simulator-App

Generatoren können in Eliona unter `Apps > Gerät-Simulator > Einstellungen` erstellt werden, was die [Generic Frontend](https://doc.eliona.io/collection/v/eliona-english/manuals/settings/apps) der App öffnet. Hier können Sie den Endpunkt `/generators` mit der POST-Methode verwenden. Jeder Generator erfordert die folgenden Daten:

| Attribut           | Beschreibung                                                                                                                                                                                                                                       |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `asset_id`         | ID des simulierten Assets.                                                                                                                                                                                                                         |
| `attribute`        | Attributname der generierten Daten.                                                                                                                                                                                                                |
| `subtype`          | Subtyp der generierten Daten (z.B. "input").                                                                                                                                                                                                       |
| `function_type`    | Funktionstyp für die Datengenerierung (z.B. "sin\_wave", "random", "sawtooth\_wave").                                                                                                                                                              |
| `min_value`        | Minimalwert für die generierten Daten.                                                                                                                                                                                                             |
| `max_value`        | Maximalwert für die generierten Daten.                                                                                                                                                                                                             |
| `integer`          | Gibt an, ob der generierte Wert eine Ganzzahl oder ein Float sein soll (`true` für Ganzzahl, `false` für Float).                                                                                                                                   |
| `interval_seconds` | Intervall in Sekunden für die Datengenerierung. (Abtastrate) (Wie oft sollen die neuen Daten generiert werden?)                                                                                                                                    |
| `frequency`        | Frequenz in Hz für Wellenfunktionen. (Wie oft sollte die Funktion den ursprünglichen Wert pro Sekunde erreichen?) (typischerweise weniger als 1) (Darf nicht höher sein als 1/(2\*Intervall\_Sekunden), um Aliasing/Nyquist-Frequenz zu vermeiden) |

Beispiel-Generator-JSON:

```json
{
  "asset_id": 17202,
  "attribute": "power",
  "subtype": "input",
  "function_type": "sin_wave",
  "min_value": 10.5,
  "max_value": 75.2,
  "integer": false,
  "interval_seconds": 1,
  "frequency": 0.05
}
```
