# Eliona-Module für Niagara

Funktionalität

Das Modul ermöglicht die Datenübertragung von Niagara-Komponenten zu Eliona-Assets. Es sendet den Wert eines konfigurierbaren Slots (Standard: `out`) und, sofern verfügbar, dessen Status an Eliona. Alarme können ebenfalls direkt an Eliona weitergeleitet werden. Optional kann das Modul automatisch Assets in Eliona erstellen und verknüpfen und ihnen die entsprechenden Asset-Typen zuweisen.

Umgekehrt kann das Modul Daten von Eliona empfangen und in einen konfigurierbaren Slot (Standard: `set`) einer Niagara-Komponente schreiben. Alarmquittierungen aus Eliona werden unterstützt, sodass Statusaktualisierungen innerhalb der Niagara-Alarmkonsole synchronisiert werden können.

#### Kommunikation

Die Kommunikation zwischen Niagara und Eliona nutzt die Eliona REST API und WebSockets, die von Eliona bereitgestellt werden, wobei Daten im JSON-Format übertragen werden. Die gesamte Kommunikation ist über HTTPS verschlüsselt.

***

### Schnellstartanleitung

#### Voraussetzungen

* Zugriff auf eine Eliona-Instanz (Benutzername und Passwort)
* Anmeldedaten für die Eliona API (URL und Token mit Lese-Schreib-Berechtigung)
* Zugriff auf eine Niagara-Station (siehe Kompatibilität)

#### Installation

Um das Eliona-Modul zu installieren, kopieren Sie `eliona-rt.jar` und `eliona-wb.jar` in den `modules`-Ordner Ihrer lokalen Niagara-Installation oder verwenden Sie den **Software Manager** unter Plattform, um das Modul zu installieren. Schließen Sie die Installation ab, indem Sie den Workplace neu starten. Nun können Sie Komponenten in der Eliona-Palette verwenden.

#### Konfiguration

* Öffnen Sie den **Niagara Workbench** und wählen Sie die **Eliona-Palette** aus.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/uNHRzVG0x4lBvjDyiYoi/eliona_palette.png" alt=""><figcaption></figcaption></figure>

* Erstellen Sie ein **Eliona Network** mit einem **Eliona Device**, indem Sie diese aus der Palette ziehen und unter **Configuration > Drivers** in der Station ablegen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/FyyD4Oy7f8pn7GlC4sLI/eliona_network.png" alt=""><figcaption></figcaption></figure>

* Öffnen Sie das **Eliona Device** und konfigurieren Sie die Eliona API mit URL und Token. Geben Sie die Eliona-Projekt-ID an, mit der Sie sich verbinden möchten.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/gnYQ3UYWMKK5rVOA8ake/eliona_api.png" alt=""><figcaption></figcaption></figure>

* Nach der Konfiguration sollte der Status des Geräts `OK` sein. Wenn dies der Fall ist, speichern Sie die Station.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/TrBA9Y8kBFN21FmHKvPv/eliona_device_ok.png" alt=""><figcaption></figcaption></figure>

#### Statusinformationen in Eliona anzeigen

* Nach der Konfiguration erstellt das Modul ein **Niagara Station Asset**, das standardmäßig alle 5 Minuten automatisch technische Informationen abruft.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/uUMV2BbZqiIvKQ0RD6iu/niagara_station_asset.png" alt=""><figcaption></figcaption></figure>

* Dieses Asset überwacht außerdem den Status der Station als Live-Signal: `Active`, wenn die Station normal funktioniert, und `Inactive`, wenn nach 10 Minuten keine Aktivität festgestellt wird. Dieser Status kann durch **Validity Monitoring** alarmiert werden.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/zlslrgjozUnk1Nvcy8iF/station_active_state.png" alt=""><figcaption></figcaption></figure>

#### Daten an Eliona senden

* Wählen Sie den Niagara-Datenpunkt aus, den Sie mit Eliona synchronisieren möchten, und fügen Sie eine **Eliona Extension** (z.B. `ElionaCovExtension`) hinzu, indem Sie sie aus der **Eliona-Palette** ziehen und ablegen. Öffnen Sie die Extension und aktivieren Sie sie.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/4kPngahq0wAw02NJYeWw/eliona_extension.png" alt=""><figcaption></figcaption></figure>

* Sobald die Extension aktiviert ist, erstellt sie automatisch ein Asset in Niagara und in Eliona. Öffnen Sie das **Asset Mapping** in der Extension und klicken Sie auf den **Asset**-Link. Dies navigiert zu dem in Niagara erstellten Asset.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/yJt7HyysMNu31nskCfG4/asset_mapping.png" alt=""><figcaption></figcaption></figure>

* Im Niagara-Asset finden Sie alle Informationen über das Asset und die **Asset ID** des erstellten Eliona-Assets. Sie können den **Asset Hyperlink** verwenden, um das Asset in Eliona zu öffnen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/5Sljag2VsMk1EDnwD2Fs/asset.png" alt=""><figcaption></figcaption></figure>

* Wenn Sie das Eliona-Asset öffnen, wird der aktuelle Wert des Datenpunkts dem **Value**-Attribut in Eliona zugewiesen. Ab diesem Zeitpunkt wird jede Änderung des Datenpunkts an dieses Attribut gesendet. Sie können dies überwachen, indem Sie den **Last Synchronized**-Zeitstempel in der Niagara-Asset-Ansicht überprüfen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/27GrgWMZW1XTpN4G3ngJ/eliona_asset.png" alt=""><figcaption></figcaption></figure>

#### Daten von Eliona empfangen

* Nachdem Sie die Assets in Niagara und Eliona erstellt und zugeordnet haben, können Sie Werte von Eliona an den Niagara-Datenpunkt senden. Fügen Sie dazu einen neuen Wert zum **Setpoint**-Attribut hinzu.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/zY6SdxBeDeqs2z5mK6M7/eliona_setpoint.png" alt=""><figcaption></figcaption></figure>

* Der Wert wird standardmäßig mithilfe der **Set**-Aktion an den `fallback`-Slot in Niagara gesendet.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/itWGb8sXiziHSGxAVpHt/fallback_slot.png" alt=""><figcaption></figcaption></figure>

#### Alarme an Eliona senden

* Um Alarme zu synchronisieren, routen Sie zuerst die gewünschten Alarmklassen. Fügen Sie dazu den **Eliona Recipient** zum **Alarm Service** hinzu, indem Sie ihn aus der **Eliona-Palette** ziehen und ablegen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/9wxIp51mfQXgVXFx6cUD/eliona_recipient.png" alt=""><figcaption></figcaption></figure>

* Verknüpfen Sie nun die Alarmklasse mit dem **Route Alarm**-Slot.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/NhwiIBNHglAWhNEvw4vu/route_alarm.png" alt=""><figcaption></figcaption></figure>

* Sobald die Verknüpfung hergestellt ist, werden alle Alarme für die angegebene Alarmklasse an Eliona gesendet. Sie können dies testen, indem Sie eine **Niagara-Alarm-Extension** (z.B. `OutOfRangeAlarmExtension`) aus der Alarm-Palette ziehen und sie unter dem Niagara-Datenpunkt platzieren, den Sie überwachen möchten.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/HogrrbRxO4Y2ntdPYuAY/niagara_alarm_extension.png" alt=""><figcaption></figcaption></figure>

* Konfigurieren Sie die Extension, und wenn der erste Alarm ausgelöst wird, erstellt der **Eliona Recipient** ein **Asset Mapping** ähnlich dem oben genannten unter der Alarm-Extension. Wenn das Asset nicht existiert, wird es automatisch sowohl in Niagara als auch in Eliona erstellt.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/TndelSuu3mCWW0cVpj0a/alarm_asset_mapping.png" alt=""><figcaption></figcaption></figure>

* Jetzt kann der Alarm auch in Eliona gefunden werden. Die Bestätigung des Alarms kann entweder in Eliona oder Niagara erfolgen, und der Status wird zwischen ihnen synchronisiert.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/KqS7fanURM5UeeYgba30/alarm_acknowledge.png" alt=""><figcaption></figcaption></figure>

#### Asset-Übersicht

* Alle Assets, die Eliona zugeordnet sind, finden Sie in der **Assets**-Komponente des **Eliona Device**.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/OUA141ry7KdsY36Ygcf0/assets.png" alt=""><figcaption></figcaption></figure>

* Hier können Sie alle Asset-Informationen überwachen, Assets neu zuordnen und bei Bedarf alle Assets oder einzelne Assets mit Eliona neu synchronisieren.

#### Anpassen von n:1 Mapping

Sie können komplexere Beziehungen zwischen Niagara-Datenpunkten und Eliona-Assets einrichten. Ein häufiges Szenario ist die Zuordnung mehrerer Datenpunkte zu einem einzelnen Asset mit unterschiedlichen Attributen in Eliona.

* Wählen oder fügen Sie einen weiteren Niagara-Datenpunkt hinzu, den Sie mit Eliona synchronisieren möchten. Hängen Sie dann eine **Eliona extension** (z. B. `ElionaCovExtension`) an, indem Sie sie per Drag-and-Drop aus der **Eliona palette** hinzufügen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/Dh3VEgAq2zZoPcUMhvkI/another_eliona_extension.png" alt=""><figcaption></figcaption></figure>

* Öffnen Sie die Extension und navigieren Sie zu **Asset Mapping**. Hier können Sie die standardmäßige **Global Asset ID** durch eine bereits existierende ID überschreiben. So lenken Sie unterschiedliche Asset-Mappings in Niagara auf dasselbe Asset in Eliona, beispielsweise indem Sie die vorhandene `/Eliona/NumericWriteable` als gemeinsame **Global Asset ID** verwenden.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/j2YteJbmm3yvLORrwf5w/asset_mapping.png" alt=""><figcaption></figcaption></figure>

* Konfigurieren Sie unterschiedliche Attributnamen für das Senden und Empfangen von Daten zwischen Niagara und Eliona. In diesem Fall wird der Standardname `Value` in `Another Value` geändert.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/d25SZ30iPuUSzd0wisJf/another_data_attributes.png" alt=""><figcaption></figcaption></figure>

* Wenn Sie die Extension aktivieren, erkennt das Mapping automatisch das vorhandene Asset in Niagara und verknüpft sich damit. Ist **Enable Upserts** in **Eliona Assets** aktiviert, werden alle neuen Attribute (z. B. `Another Value`) automatisch im entsprechenden Asset-Typ in Eliona erstellt.
* Wenn Sie nun das Eliona-Asset öffnen, werden die aktuellen Werte der beiden Datenpunkte ihren jeweiligen Attributen in Eliona zugeordnet. Ab diesem Zeitpunkt werden alle Änderungen an den Datenpunkten an diese Attribute gesendet und von dort empfangen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/Tc1XQ5yoLckvigXg4H3z/shared_eliona_asset.png" alt=""><figcaption></figcaption></figure>

#### Anpassen von 1:n Mapping

In diesem Szenario wird ein einzelner Niagara-Datenpunkt mehreren Eliona-Assets zugeordnet, optional mit unterschiedlichen Attributen.

* Fügen Sie für einen vorhandenen Niagara-Datenpunkt eine weitere **Extension Asset Mapping** zur aktuellen **Eliona extension** (z. B. `ElionaCovExtension`) hinzu, indem Sie sie per Drag-and-Drop aus der **Eliona palette** hinzufügen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/nLyrzBfGEe3JpNfUOTDT/multiple_asset_mappings.png" alt=""><figcaption></figcaption></figure>

* Überschreiben Sie in dem neuen Asset-Mapping die standardmäßige **Global Asset ID**. Setzen Sie sie beispielsweise auf `/Eliona/NumericWriteableCopy` anstelle von `/Eliona/NumericWriteable`. Sobald Sie das Asset-Mapping speichern, wird das neue Asset automatisch in Niagara und in Eliona erstellt (falls **Enable Upserts** aktiviert ist). Von diesem Zeitpunkt an werden alle Änderungen am Datenpunkt sowohl an beide Assets in Eliona gesendet als auch von dort empfangen.
* Für den Empfang von Daten aus Eliona möchten Sie möglicherweise einen anderen Write Slot verwenden. Zum Beispiel könnten Sie den Standard-Slot `Set` (Fallback) verwenden und zusätzlich den Slot `Override` setzen. Dies erreichen Sie, indem Sie den Write Slot mit dem Asset-Attribut in der **Asset Mapping** kombinieren.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/rUOauVFYtgdqPiUSzY5w/override_data_attributes.png" alt=""><figcaption></figcaption></figure>

* Jetzt können Sie in Eliona einen Override-Wert festlegen, der den entsprechenden Datenpunkt in Niagara aktualisiert.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/PH9XO4QlLYSboLfwkWL0/eliona_asset_override.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/QTQqba3dbxpdkzW1MuWH/writeable_overridden.png" alt=""><figcaption></figcaption></figure>

***

### Komponenten-Übersicht

#### Eliona Network

Das **Eliona Network** ist die Stamm-Komponente, die alle **Eliona Devices** innerhalb einer Niagara-Station gruppiert.

#### Eliona Device

Jedes **Eliona Device** verbindet eine Eliona-Instanz und ein spezifisches Projekt innerhalb dieser Instanz. Dieses Gerät teilt seine Eliona-Verbindung mit allen untergeordneten Komponenten, wie dem **Eliona Sender**, **Eliona Receiver**, **Eliona Assets**-Container und **Eliona Alarm Acknowledger**. Das **Eliona Device** wird auch vom **Eliona Recipient** referenziert.

#### Eliona Sender

Der **Eliona Sender** ist verantwortlich für die Übertragung von Werten von Niagara-Datenpunkten an Eliona. Er ist ein Kind des **Eliona Device** und verwendet die zugeordnete Eliona-Instanz und das Projekt. Der Sender kann mit einem Wertpuffer konfiguriert werden, um Szenarien zu handhaben, in denen die Verbindung zu Eliona vorübergehend nicht verfügbar ist.

#### Eliona Receiver

Der **Eliona Receiver** empfängt Daten von Eliona und schreibt sie in Niagara-Datenpunkte. Er ist ein Kind des **Eliona Device** und verwendet die gleiche Eliona-Instanz und das Projekt. Der Receiver ermöglicht die Konfiguration des Schreib-Slots des Datenpunkts und gibt den Niagara-Benutzernamen für die Operation an.

#### Eliona Assets

Der **Eliona Assets**-Container gruppiert und synchronisiert Assets mit Eliona. Er ist ein Kind des **Eliona Device** und nutzt die verbundene Eliona-Instanz und das Projekt. Dieser Container kann Assets während der Synchronisierung automatisch in Eliona erstellen oder aktualisieren. Er organisiert auch alle Asset-Komponenten, die realen Assets in Eliona entsprechen.

#### Eliona Asset

Eine **Eliona Asset**-Komponente repräsentiert ein einzelnes Asset in Eliona. Diese Komponente ist ein Kind des **Eliona Assets**-Containers und enthält eine eindeutige Global Asset ID. Während der Synchronisierung bestimmen diese Global Asset ID und das Eliona-Projekt (vom übergeordneten **Eliona Device**) die Asset ID in Eliona, die dann in der Asset-Komponente gespeichert wird. Attribute wie Asset-Typ, Name und Beschreibung werden ebenfalls synchronisiert. Wenn die automatische Erstellung oder Aktualisierung im **Eliona Assets**-Container aktiviert ist, werden Assets in Eliona erstellt oder aktualisiert; andernfalls referenziert die Komponente ein bestehendes Asset anhand seiner ID.

#### Eliona Extension

Die **Eliona Extension** überwacht Änderungen der Niagara-Datenpunktwerte und löst die Datenübertragung an Eliona über den **Eliona Sender** aus. Diese Extension ist an einen Niagara-Datenpunkt angehängt und referenziert ein **Eliona Device** und nutzt die verbundene Eliona-Instanz und das Projekt.

#### Eliona Asset Mapping

Das **Eliona Asset Mapping** stellt eine Verbindung zwischen Niagara-Datenpunkten und Attributen eines Assets in Eliona her. Es ist ein Kind entweder einer **Eliona Extension** oder einer **Alarm Extension** in Niagara, die selbst an Niagara-Datenpunkte angehängt sind. Das Mapping definiert eine Global Asset ID, die es ermöglicht, die entsprechende **Eliona Asset**-Komponente in Niagara zu referenzieren und zu erstellen. Diese Komponente wiederum verknüpft sich mit dem realen Asset in Eliona, indem sie nach der Synchronisierung die Asset ID speichert.

#### Eliona Alarm Acknowledger

Der **Eliona Alarm Acknowledger** empfängt Alarmbestätigungen von Eliona und bestätigt die entsprechenden Alarme in Niagara. Er ist ein Kind des **Eliona Device** und verwendet die verbundene Eliona-Instanz und das Projekt. Der Acknowledger ermöglicht die Konfiguration des Niagara-Benutzernamens für die Bestätigungsoperation.

#### Eliona Recipient

Der **Eliona Recipient** leitet Alarme von Alarmklassen in Niagara an Eliona weiter. Er referenziert ein **Eliona Device** und nutzt die verbundene Eliona-Instanz und das Projekt. Der Empfänger kann mit einem Alarmpuffer konfiguriert werden, um Szenarien zu handhaben, in denen die Verbindung zu Eliona vorübergehend nicht verfügbar ist.

#### Eliona API Client

Der **Eliona API Client** ermöglicht die direkte Kommunikation mit Eliona über APIv2 (siehe [api.eliona.io](https://api.eliona.io)).\
Er wird typischerweise verwendet, um eine Vielzahl von Operationen wie das Lesen, Erstellen, Aktualisieren und Löschen von Assets, Alarmen und Konfigurationen in Eliona auszuführen.\
Der Client verwaltet die Authentifizierungs- und Verbindungseinstellungen und dient als zentrale Schnittstelle für alle API-gesteuerten Interaktionen, um eine zuverlässige und sichere Integration zwischen Niagara und Eliona zu gewährleisten.

***

### Komponenten-Konfiguration

#### Eliona Network

Sie können das **Eliona Network** als Kind des **Drivers**-Containers in einer Niagara-Station hinzufügen. Dies kann durch Ziehen aus der **Eliona Palette** oder durch Öffnen des **Driver Manager** und Klicken auf die **New**-Schaltfläche erfolgen. Beachten Sie, dass pro Station nur ein **Eliona Network** erlaubt ist.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/mOz8Acko9otFuPmkaMYB/eliona_network_settings.png" alt=""><figcaption></figcaption></figure>

#### Eliona Device

Das **Eliona Device** kann als Kind des **Eliona Network** hinzugefügt werden. Sie können es durch Ziehen aus der **Eliona Palette** hinzufügen. Mehrere **Eliona Devices** können erstellt werden, um verschiedene Eliona-Instanzen oder Projekte darzustellen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/ZdOG59VbGIvcItbZaZNv/eliona_device.png" alt=""><figcaption></figcaption></figure>

| Einstellung          | Beschreibung                                                    |
| -------------------- | --------------------------------------------------------------- |
| `Enabled`            | Aktiviert oder deaktiviert das Eliona Device                    |
| `APIv2 URL`          | URL für die Verbindung zur Eliona APIv2-Instanz                 |
| `APIv2 Token`        | Autorisierungstoken für den Zugriff auf die Eliona APIv2        |
| `Project ID`         | Projekt-ID, die für Asset-Mapping und Erstellung verwendet wird |
| `Connection Timeout` | Maximale Zeit in Sekunden, bevor ein Verbindungsversuch abläuft |

**Enabled**

> Aktiviert oder deaktiviert das Eliona Device. Wenn es aktiviert ist, sind alle zugehörigen Komponenten (z.B. Sender, Receiver) betriebsbereit.

**APIv2 URL**

> Gibt die URL der Eliona APIv2-Instanz an, mit der verbunden werden soll (z.B. `https://my.eliona.io/api/v2`). Diese sollte von Ihrem Eliona-Administrator bereitgestellt werden.

**APIv2 Token**

> Das Autorisierungstoken, das für den Zugriff auf die Eliona APIv2 erforderlich ist. Stellen Sie sicher, dass dieses Token sowohl Lese- als auch Schreibberechtigungen nach Bedarf hat. Dieses sollte von Ihrem Eliona-Administrator bereitgestellt werden.

**Project ID**

> Definiert die Eliona-Projekt-ID, die für die Referenzierung von Assets verwendet wird. Diese ID muss mit der Projektkonfiguration in Eliona übereinstimmen.

**Connection Timeout**

> Legt die maximale Dauer in Sekunden für einen Verbindungsversuch zu Eliona fest. Wenn die Netzwerklatenz hoch ist, erwägen Sie, diesen Timeout zu erhöhen. Ein typischer Wert liegt bei etwa 5 Sekunden.

#### Eliona Sender

Der **Eliona Sender** wird automatisch als Kind des **Eliona Device** erstellt.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/T5oPve5YhYnJ2pTolYF2/eliona_sender.png" alt=""><figcaption></figcaption></figure>

| Feld                                | Beschreibung                                                         |
| ----------------------------------- | -------------------------------------------------------------------- |
| `Enabled`                           | Aktiviert oder deaktiviert die Datenübertragung                      |
| `Value Buffer Size`                 | Legt die maximale Größe des Nachrichtenpuffers fest                  |
| `Circular Buffer`                   | Bestimmt das Pufferverhalten, wenn er voll ist                       |
| `Buffer Database Connection`        | Konfiguriert externe Datenbankverbindung für die Pufferung           |
| Bu`lk Sending Interval`             | Intervall zum Gruppieren von Werten für den Massenversand            |
| Bu`lk Sending Limit`                | Obergrenze für das Gruppieren von Werten für den Massenversand       |
| `Last Send` (Info)                  | Zeitstempel der letzten erfolgreichen Datenübertragung               |
| `Send Variables Count` (Info)       | Anzahl der Datenpunkte, die derzeit an Eliona gesendet werden        |
| `Forecast Messages Per Hour` (Info) | Geschätzte Anzahl der pro Stunde gesendeten Nachrichten              |
| `Forecast Bytes Per Message` (Info) | Durchschnittliche Größe jeder Nachricht in Bytes                     |
| `Value Buffer Used` (Info)          | Aktuelle Anzahl der Nachrichten im Puffer                            |
| `Last Send Count`                   | Anzahl der Werte, die in der letzten Massenoperation gesendet wurden |
| `Current Send Thread Count`         | Aktuelle Anzahl der gleichzeitigen Threads, die Werte senden         |
| `Update Forecast` (Action)          | Aktualisiert manuell die Prognosestatistiken                         |
| `Clear Value Buffer` (Action)       | Löscht alle Nachrichten im Puffer                                    |

**Enabled**

> Aktiviert oder deaktiviert den Eliona Sender. Wenn aktiviert, werden Daten an Eliona übertragen; wenn deaktiviert, stoppt die Übertragung.

**Value Buffer Size**

> Gibt die maximale Anzahl von Nachrichten an, die der Puffer halten kann. Verwenden Sie **Forecast Messages Per Hour** und **Forecast Bytes Per Message**, um die ideale Puffergröße basierend auf dem erwarteten Datenvolumen abzuschätzen.

**Circular Buffer**

> Bestimmt, wie der Puffer neue Nachrichten behandelt, wenn er seine Kapazität erreicht hat:
>
> * **Enabled**: Überschreibt die ältesten Nachrichten mit neuen, wenn der Puffer voll ist.
> * **Disabled**: Hört auf, neue Nachrichten zu akzeptieren, sobald der Puffer voll ist.

**Buffer Database Connection**

> Ermöglicht die Verwendung einer externen H2-Datenbank für die Pufferung. Wenn leer gelassen, wird standardmäßig ein interner Speicherpuffer verwendet.
>
> * **Embedded Buffer Mode**: Verwendet eine vom Treiber verwaltete Datenbankdatei (z.B. `jdbc:h2:C:/Users/username/Niagara4.9/stations/eliona/shared/values`). In Niagara ist nur das lokale Shared-Verzeichnis schreibbar.
> * **Server Buffer Mode**: Verbindet sich mit einer serververwalteten H2-Datenbank (z.B. `jdbc:h2:tcp://localhost/C:/temp/values;user=sa;password=secret`).

#### Bulk Sending Interval

> Definiert das Zeitintervall (in Sekunden), in dem Werte gruppiert werden, bevor sie in einer Sammeloperation gesendet werden. Das Modul sammelt Werte basierend auf diesem Intervall und der festgelegten Obergrenze, bevor sie in parallelen Threads an Eliona gesendet werden.\
> Falls dieser Wert auf `null` gesetzt wird, wird keine Sammeloperation verwendet.

#### Bulk Sending Limit

> Legt die maximale Anzahl an Werten fest, die in einer einzelnen Sammeloperation gruppiert und gesendet werden können. Sobald entweder das **Bulk Send Interval** erreicht ist oder dieses Limit überschritten wird, werden die gesammelten Werte gesendet. Eine korrekte Einstellung dieses Limits in Kombination mit dem Intervall trägt zu einer effizienten Datenübertragung mit minimaler Thread-Nutzung bei.

> **Hinweis:** Um die Leistung zu optimieren und übermäßige parallele Threads zu vermeiden, sollte der Wert für `Forecast Messages Per Hour` berücksichtigt werden.\
> Das Limit kann nach folgender Formel berechnet werden:\
> `Forecast Messages Per Hour × 2 / 3600 / Interval` (wobei `×2` als Sicherheitsfaktor dient).\
> Durch eine geeignete Anpassung dieses Limits kann verhindert werden, dass mehr als ein Thread für das Senden verwendet wird.

**Last Send** (Info)

> Zeigt den Zeitstempel der zuletzt erfolgreichen Datenübertragung an, nützlich zur Überwachung der Aktivität.

**Send Variables Count** (Info)

> Zeigt die aktuelle Anzahl der eindeutigen Datenpunkte an, die an Eliona übertragen werden.

**Forecast Messages Per Hour** (Info)

> Schätzt die Anzahl der pro Stunde gesendeten Nachrichten basierend auf der aktuellen Aktivität. Dieser Wert wird alle 10 Sekunden aktualisiert.

**Forecast Bytes Per Message** (Info)

> Zeigt die durchschnittliche Größe jeder Nachricht in Bytes an, aktualisiert alle 10 Sekunden.

**Value Buffer Used** (Info)

> Gibt die aktuelle Anzahl der im Puffer gespeicherten Nachrichten an.

#### Last Send Count (Info)

> Zeigt die Anzahl der Werte an, die in der letzten Sammeloperation gesendet wurden. Dies hilft dabei, die Effektivität der aktuellen Konfiguration für den Massenversand zu überwachen.

#### Current Send Thread Count (Info)

> Zeigt die Anzahl der aktuell verwendeten parallelen Threads für das Senden von Werten an. Idealerweise sollte dieser Wert nicht mehr als einen Thread gleichzeitig überschreiten, um eine optimale Ressourcennutzung und Systemstabilität sicherzustellen.

**Update Forecast** (Action)

> Aktualisiert manuell die Prognosestatistiken. Diese Statistiken werden automatisch alle 10 Sekunden aktualisiert.

**Clear Value Buffer** (Action)

> Löscht alle derzeit im Puffer gespeicherten Nachrichten.

#### Eliona Receiver

Der **Eliona Receiver** wird automatisch als Kind des **Eliona Device** erstellt.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/UPq8ybxum5VQOsySGOBf/eliona_receiver.png" alt=""><figcaption></figcaption></figure>

| Feld                           | Beschreibung                                                      |
| ------------------------------ | ----------------------------------------------------------------- |
| `Enabled`                      | Aktiviert oder deaktiviert den Receiver                           |
| `Username`                     | Niagara-Benutzerkonto, das zum Schreiben von Daten verwendet wird |
| `Default Write Slot`           | Ziel-Slot für das Schreiben, wenn keine Priorität angegeben ist   |
| `Delay Reset to Null`          | Setzt den Wert nach den angegebenen Sekunden auf Null zurück      |
| `Last Received` (Info)         | Zeitstempel der letzten empfangenen Nachricht                     |
| `Last Message Received` (Info) | Details der zuletzt empfangenen Nachricht                         |

**Enabled**

> Aktiviert oder deaktiviert den Eliona Receiver. Wenn aktiviert, werden von Eliona empfangene Daten in die angegebenen Niagara-Datenpunkte geschrieben.

**Username**

> Gibt das Niagara-Benutzerkonto an, das zum Schreiben von Werten in Datenpunkte verwendet wird. Wenn in der eingehenden Nachricht nicht angegeben, wird dieser Standardbenutzer verwendet. Der Benutzer muss Berechtigungen zum Ausführen von Aktionen oder zum Schreiben in Slots haben. Stellen Sie sicher, dass der Benutzername gültig ist und die erforderlichen Berechtigungen besitzt.

**Default Write Slot**

> Definiert den Slot im Ziel-Datenpunkt, in den der empfangene Wert geschrieben wird, wenn keine Priorität angegeben ist. Dies kann auch ein Aktions-Slot sein, der die Aktion mit dem Wert als Argument auslöst.

**Delay Reset to Null**

> Legt die Anzahl der Sekunden fest, nach denen der geschriebene Wert auf `null` zurückgesetzt wird. Wenn ein Wert größer als Null festgelegt wird, wird der Wert nach der angegebenen Verzögerung zurückgesetzt. Diese Verzögerung wird als Standard verwendet, falls im Asset Mapping keine Verzögerung definiert ist.

**Last Received** (Info)

> Zeigt den Zeitstempel des letzten erfolgreichen Datenempfangs von Eliona an.

**Last Message Received** (Info)

> Zeigt die letzte von Eliona empfangene Nachricht an. Dies dient hauptsächlich zu Debugging-Zwecken und ist standardmäßig ausgeblendet.

#### Eliona Assets

Der **Eliona Assets**-Container wird automatisch als Kind des **Eliona Device** erstellt. Er enthält alle **Eliona Asset**-Komponenten.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/S3uxjqUzDvq84CQ8W7Im/eliona_assets.png" alt=""><figcaption></figcaption></figure>

| Feld                         | Beschreibung                                                                  |
| ---------------------------- | ----------------------------------------------------------------------------- |
| `Upsert Enabled`             | Aktiviert die automatische Erstellung und Aktualisierung von Assets in Eliona |
| `Auto Save`                  | Speichert die Station automatisch, nachdem Assets geändert wurden             |
| `Default Global Asset ID`    | Legt ein Standardmuster für die Global Asset ID fest                          |
| `Default Asset Name`         | Legt ein Standardmuster für Asset-Namen fest                                  |
| `Default Asset Description`  | Legt ein Standardmuster für Asset-Beschreibungen fest                         |
| `Default Send Attribute`     | Legt das Standardattribut zum Senden von Daten an Eliona fest                 |
| `Default Status Attribute`   | Legt das Standardstatusattribut für Assets fest                               |
| `Default Receive Attribute`  | Legt das Standardattribut zum Empfangen von Daten von Eliona fest             |
| `Default Alarm Attribute`    | Legt das Standardattribut für Alarme fest                                     |
| `Synchronize` (Action)       | Startet die Synchronisation der Assets mit Eliona, falls erforderlich         |
| `Force Synchronize` (Action) | Erzwingt die Synchronisation aller Assets mit Eliona                          |

**Upsert Enabled**

> Aktiviert oder deaktiviert die Upsert-Funktionalität (Update oder Insert) für Assets in Eliona.
>
> * **Enabled**: Assets werden während der Synchronisierung automatisch aktualisiert, wenn sie existieren, oder eingefügt, wenn sie neu sind.
> * **Disabled**: Assets werden nur referenziert, wenn sie in Eliona existieren; sie werden nicht erstellt oder aktualisiert.

**Auto Save**

> Speichert die Station automatisch, wenn Assets im **Eliona Assets**-Container erstellt oder geändert werden.

**Default Global Asset ID**

> Definiert das Muster für die Standard-Global Asset ID, die zur eindeutigen Referenzierung von Assets in Eliona verwendet wird. Spiegelt typischerweise den übergeordneten Slot-Pfad des Assets wider.

**Default Asset Name**

> Gibt das Muster für den Standard-Asset-Namen in Eliona an, oft unter Verwendung des Namens des übergeordneten Elements.

**Default Asset Description**

> Legt das Muster für die Standard-Asset-Beschreibung fest, möglicherweise einschließlich des Typs und des Anzeigenamens der übergeordneten Komponente.

**Default Send Attribute**

> Legt das Standardattribut fest, das zum Senden von Daten an Eliona verwendet wird. Standard ist `"value"`.

**Default Status Attribute**

> Definiert das Standardattribut zur Meldung des Asset-Status. Standard ist `"value_status"`.

**Default Receive Attribute**

> Legt das Standardattribut zum Empfangen von Daten von Eliona fest. Standard ist `"value"`.

**Default Alarm Attribute**

> Spezifiziert das Standardattribut für Alarmdaten. Standard ist `"alarm"`.

**Synchronize** (Action)

> Löst die Synchronisation aller Assets mit Eliona aus. Wenn **Upsert** aktiviert ist, werden Assets automatisch erstellt oder aktualisiert. Andernfalls werden Assets nur referenziert, sofern sie bereits in Eliona anhand ihrer **Project ID** und **Global Asset ID** existieren. Bereits synchronisierte Assets (bei denen eine **Asset ID** gesetzt ist) werden übersprungen.

#### **Force Synchronize** (Action)

> Erzwingt die Synchronisation aller Assets, ohne den Synchronisationsstatus zu überprüfen (unabhängig davon, ob eine **Asset ID** gesetzt ist oder nicht). Jedes Asset wird an Eliona gesendet, sodass Aktualisierungen auch dann angewendet werden, wenn die Assets bereits synchronisiert wurden.

#### Eliona Asset

Eine **Eliona Asset**-Komponente wird automatisch erstellt, wenn eine **Eliona Asset Mapping**-Komponente eingerichtet wird. Die **Global Asset ID** dient als eindeutiger Bezeichner.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/kSe5xXSsV7jlkkYEQ7QI/eliona_asset_settings.png" alt=""><figcaption></figcaption></figure>

| Feld                         | Beschreibung                                                            |
| ---------------------------- | ----------------------------------------------------------------------- |
| `Asset Type`                 | Definiert den Typ des Assets in Eliona                                  |
| `Global Asset ID` (Info)     | Eindeutiger globaler Bezeichner für Referenzierung und Synchronisierung |
| `Asset Name` (Info)          | Name des Assets in Eliona                                               |
| `Asset Description` (Info)   | Beschreibung des Assets in Eliona                                       |
| `Asset ID` (Info)            | Referenzierte Asset ID in Eliona                                        |
| `Alarm Rule ID` (Info)       | Bezeichner für die zugehörige Alarmregel in Eliona                      |
| `Last Alarmed` (Info)        | Zeitstempel des zuletzt ausgelösten Alarms                              |
| `Asset Hyperlink Ord` (Info) | Link zum Asset im Eliona-Frontend für einfache Navigation               |
| `Last Sync` (Info)           | Zeitstempel der letzten Synchronisierung mit Eliona                     |
| `Synchronize` (Action)       | Startet die Synchronisation mit Eliona, falls erforderlich              |
| `Force Synchronize` (Action) | Erzwingt die Synchronisation mit Eliona                                 |

**Asset Type**

> Definiert den Asset-Typ in Eliona bei der Synchronisierung.

**Global Asset ID** (Info)

> Eindeutiger Bezeichner, der die Global Asset ID und die Project ID vom **Eliona Device** kombiniert. Wird für die Synchronisierung verwendet.

**Asset Name** (Info)

> Name des Assets in Eliona. Dieser wird während Updates synchronisiert.

**Asset Description** (Info)

> Beschreibung des Assets in Eliona, synchronisiert während Updates.

**Asset ID** (Info)

> Referenz zur Asset ID in Eliona, basierend auf der Project ID und der Global Asset ID.

**Alarm Rule ID** (Info)

> Bezeichner für die zugehörige Alarmregel in Eliona.

**Last Alarmed** (Info)

> Zeitstempel des zuletzt ausgelösten Alarms für das Asset.

**Asset Hyperlink Ord** (Info)

> Bietet einen direkten Link zum Asset im Eliona-Frontend.

**Last Sync** (Info)

> Zeigt an, wann das Asset zuletzt mit Eliona synchronisiert wurde.

**Synchronize** (Action)

> Löst die Synchronisation der Asset-Daten mit Eliona manuell aus. Falls das Asset bereits synchronisiert wurde (eine **Asset ID** gesetzt ist), wird die Aktion übersprungen. Andernfalls wird das Asset basierend auf seiner **Project ID** und **Global Asset ID** aktualisiert oder referenziert.

#### **Force Synchronize** (Action)

> Umgeht Synchronisationsprüfungen und erzwingt das Senden der Asset-Daten an Eliona, unabhängig davon, ob das Asset bereits synchronisiert wurde (eine **Asset ID** gesetzt ist). Dies stellt sicher, dass das Asset stets aktualisiert wird, und ist besonders nützlich, wenn eine vollständige Aktualisierung erforderlich ist.

#### Eliona Asset Mapping

Eine **Eliona Asset Mapping**-Komponente wird als Kind von Niagara-Datenpunkterweiterungen (entweder **Eliona Extension** oder **Alarm Extension**) erstellt. Sie wird mit einem **Eliona Asset** unter Verwendung der Global Asset ID verknüpft.

| Feld                 | Beschreibung                                   |
| -------------------- | ---------------------------------------------- |
| `Global Asset ID`    | Eindeutiger Bezeichner für das Asset in Eliona |
| `Asset Ord` (Info)   | Referenz zum Asset in Niagara                  |
| `Map Asset` (Action) | Startet die Zuordnung des Assets               |

**Global Asset ID**

> Eindeutiger Bezeichner, der eine konsistente Identifikation in Niagara und Eliona sicherstellt.

**Asset Ord** (Info)

> Referenz zum Asset innerhalb von Niagara.

**Map Asset** (Action)

> Startet den Mapping-Prozess für das Asset.

**Eliona Value Asset Mapping**

Die **Eliona Value Asset Mapping**-Komponente wird automatisch als Kind der **Eliona Extension** erstellt.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/IlsJZXz49G7kwGQZeCa7/eliona_value_asset_mapping.png" alt=""><figcaption></figcaption></figure>

| Feld                  | Beschreibung                                                 |
| --------------------- | ------------------------------------------------------------ |
| `Send Subtype`        | Subtyp zum Senden von Werten (z.B. `"input"`)                |
| `Send Attribute`      | Attribut, das beim Senden von Daten an Eliona verwendet wird |
| `Status Attribute`    | Attribut, das den Status des Assets darstellt                |
| `Receive Attribute`   | Attribut zum Empfangen von Daten von Eliona                  |
| `Write Slot`          | Slot, in den empfangene Daten geschrieben werden             |
| `Delay Reset to Null` | Setzt den Wert nach den angegebenen Sekunden auf Null zurück |

**Send Subtype**

> Gibt den Subtyp für Wertdaten beim Senden an Eliona an. Standard ist `"input"`.

**Send Attribute**

> Attribut, das zum Senden von Daten an Eliona verwendet wird. Um vom Senden auszuschließen, setzen Sie den Attributnamen auf leer.

**Status Attribute**

> Attribut, das den Status des Assets in Eliona darstellt. Um vom Senden auszuschließen, setzen Sie den Attributnamen auf leer.

**Receive Attribute**

> Attribut zum Empfangen von Daten von Eliona. Um vom Empfangen auszuschließen, setzen Sie den Attributnamen auf leer.

**Write Slot**

> Definiert den Slot in Niagara, in den Daten von Eliona geschrieben werden.

#### **Delay Reset to Null**

> Legt die Anzahl der Sekunden fest, nach denen der geschriebene Wert auf `null` zurückgesetzt wird. Wenn ein Wert größer als Null festgelegt wird, wird der Wert nach der angegebenen Verzögerung zurückgesetzt.

**Eliona Alarm Asset Mapping**

Die **Eliona Alarm Asset Mapping**-Komponente wird als Kind der **Alarm Extension** erstellt, wenn der erste Alarm für den übergeordneten Datenpunkt ausgelöst wird.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/ygXKITO7s02H4zhOr27a/eliona_alarm_asset_mapping.png" alt=""><figcaption></figcaption></figure>

| Feld                   | Beschreibung                                                |
| ---------------------- | ----------------------------------------------------------- |
| `Alarm Subtype`        | Subtyp für Alarmdaten (z.B. `"input"`)                      |
| `Alarm Attribute`      | Attribut, das beim Übertragen von Alarmdaten verwendet wird |
| `Recipient Ord` (Info) | Referenz zum Alarmempfänger in Niagara                      |

**Alarm Subtype**

> Subtyp für Alarmdaten. Standard ist `"input"`.

**Alarm Attribute**

> Attribut, das zum Übertragen von Alarmdaten an Eliona verwendet wird. Um vom Senden auszuschließen, setzen Sie den Attributnamen auf leer.

**Recipient Ord** (Info)

> Referenz zum Alarmempfänger in Niagara.

**Eliona Station Asset Mapping**

Die Komponente **Eliona Station Asset Mapping** wird als Kind des **Eliona Device** erstellt, wenn dieses erstellt wird.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/a1FczZ2waCO1J3auqOca/eliona_station_asset_mapping.png" alt=""><figcaption></figcaption></figure>

| **Feld**        | **Beschreibung**                                                    |
| --------------- | ------------------------------------------------------------------- |
| **`Attribute`** | Attributnamen, die beim Senden des Stationsstatus verwendet werden. |

**Attribute**

> Definieren Sie die Attributnamen, die beim Senden des Status an Eliona verwendet werden sollen. Um bestimmte Informationen vom Senden auszuschließen, setzen Sie den Attributnamen auf leer.

#### Eliona Alarm Acknowledger

Der **Eliona Alarm Acknowledger** wird automatisch als Kind des **Eliona Device** erstellt.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/qZC4TYNH3jXUTeQfIbkp/eliona_alarm_acknowledger.png" alt=""><figcaption></figcaption></figure>

| Feld                                    | Beschreibung                                                       |
| --------------------------------------- | ------------------------------------------------------------------ |
| `Enabled`                               | Aktiviert oder deaktiviert den Acknowledger                        |
| `Ack Alarm From Same Source`            | Bestätigt alle Alarme aus derselben Quelle                         |
| `Username`                              | Niagara-Benutzerkonto für Bestätigungen                            |
| `Last Alarm Acked` (Info)               | Details des zuletzt bestätigten Alarms                             |
| `Last Alarm Acked Time` (Info)          | Zeitstempel der letzten erfolgreichen Bestätigung                  |
| `Last Alarm Acked Failure Time` (Info)  | Zeitstempel des letzten fehlgeschlagenen Bestätigungsversuchs      |
| `Last Alarm Acked Failure Cause` (Info) | Fehlermeldung für den letzten fehlgeschlagenen Bestätigungsversuch |
| `Total Alarms Acked Today` (Info)       | Anzahl der heute bestätigten Alarme                                |
| `Total Alarms Acked Failures` (Info)    | Anzahl der heute fehlgeschlagenen Bestätigungen                    |
| `Total Messages Received Today` (Info)  | Anzahl der heute von Eliona erhaltenen Bestätigungsnachrichten     |
| `Last Alarm Ack Note` (Info)            | Notiz, die mit der letzten Bestätigung verknüpft ist               |

**Enabled**

> Aktiviert oder deaktiviert den Alarm Acknowledger.

**Ack Alarm From Same Source**

> Wenn aktiviert, werden alle Alarme bestätigt, die von derselben Quelle stammen.

**Username**

> Gibt das Niagara-Benutzerkonto an, das für die Bestätigung von Alarmen verwendet wird. Der Benutzer muss die erforderlichen Berechtigungen haben.

**Last Alarm Acked** (Info)

> Details des zuletzt erfolgreich bestätigten Alarms.

**Last Alarm Acked Time** (Info)

> Zeitstempel der letzten erfolgreichen Bestätigung.

**Last Alarm Acked Failure Time** (Info)

> Zeitstempel des letzten fehlgeschlagenen Bestätigungsversuchs.

**Last Alarm Acked Failure Cause** (Info)

> Fehlermeldung, die die Ursache des letzten fehlgeschlagenen Bestätigungsversuchs erklärt.

**Total Alarms Acked Today** (Info)

> Anzahl der heute bestätigten Alarme.

**Total Alarms Acked Failures** (Info)

> Anzahl der heute fehlgeschlagenen Bestätigungsversuche.

**Total Messages Received Today** (Info)

> Anzahl der heute von Eliona erhaltenen Bestätigungsnachrichten.

**Last Alarm Ack Note** (Info)

> Eine Notiz, die mit der letzten Alarmbestätigung verknüpft ist.

#### Eliona Extension

Die **Eliona Extension** kann als Kind eines Niagara-Datenpunkts hinzugefügt werden, indem Sie sie aus der **Eliona Palette** ziehen. Mehrere Extensions können für einen einzelnen Datenpunkt erstellt werden.

| Feld               | Beschreibung                                           |
| ------------------ | ------------------------------------------------------ |
| `Enabled`          | Aktiviert die Extension für die Datenübertragung       |
| `Last Send` (Info) | Zeitstempel der letzten erfolgreichen Datenübertragung |

Die Erweiterung überträgt und empfängt den Wert eines konfigurierbaren Slots (Standard: `out` und `set`) und, sofern verfügbar, dessen Status.

**Enabled**

> Aktiviert oder deaktiviert die Extension.

**Last Send** (Info)

> Zeigt den Zeitstempel der letzten erfolgreichen Datenübertragung an.

**Eliona Interval Extension**

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/l47JlFVVXpwXDokTGeDN/eliona_interval_extension.png" alt=""><figcaption></figcaption></figure>

| Feld       | Beschreibung                                            |
| ---------- | ------------------------------------------------------- |
| `Interval` | Intervall für die Datenübertragung (Interval Extension) |

**Interval**

> Definiert das Intervall, in dem der Wert der übergeordneten Variable an Eliona gesendet wird.

**Eliona COV Extension**

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/T17THCoGecBWTrSZa9F6/eliona_cov_extension.png" alt=""><figcaption></figcaption></figure>

| Feld               | Beschreibung                                                    |
| ------------------ | --------------------------------------------------------------- |
| `Change Tolerance` | Mindeständerung, um eine Übertragung auszulösen (COV Extension) |

**Change Tolerance**

> Gibt die minimale erforderliche Änderung im Wert der übergeordneten Variable an, um eine Datenübertragung auszulösen. Wenn auf `0` gesetzt, löst jede Änderung eine Übertragung aus.

#### Eliona Recipient

Der **Eliona Recipient** kann als Kind des Niagara **Alarm Service** hinzugefügt werden. Er muss mit einer **Alarm Class** verbunden sein, um Alarme für diese Klasse zu routen.

<figure><img src="https://content.gitbook.com/content/Nyvwhz1kEMXcHf4HLuZ8/blobs/eFStCJGNRd6tXtZS5zka/eliona_recipient_settings.png" alt=""><figcaption></figcaption></figure>

| Feld                              | Beschreibung                                               |
| --------------------------------- | ---------------------------------------------------------- |
| `Time Range`                      | Zeitbereich, in dem Alarme weitergeleitet werden           |
| `Days Of Week`                    | Wochentage, an denen Alarme weitergeleitet werden          |
| `Transition`                      | Alarmübergänge, die weitergeleitet werden                  |
| `Route Acks`                      | Gibt an, ob Alarmbestätigungen weitergeleitet werden       |
| `Alarm Buffer Size`               | Legt die Größe des Nachrichtenpuffers fest                 |
| `Circular Buffer`                 | Bestimmt das Pufferverhalten, wenn voll                    |
| `Buffer Database Connection`      | Konfiguriert externe Datenbankverbindung für die Pufferung |
| `Forecast Alarms Per Hour` (Info) | Geschätzte Anzahl der pro Stunde gesendeten Alarme         |
| `Forecast Bytes Per Alarm` (Info) | Durchschnittliche Größe jeder Alarmnachricht in Bytes      |
| `Alarm Buffer Used` (Info)        | Aktuelle Anzahl der Alarme im Puffer                       |
| `Last Send` (Info)                | Zeitstempel der letzten erfolgreichen Datenübertragung     |
| `Update Forecast` (Action)        | Aktualisiert manuell die Prognosestatistiken               |
| `Clear Alarm Buffer` (Action)     | Löscht alle Alarme im Puffer                               |

**Time Range**

> Definiert den Zeitraum, in dem Alarme an Eliona weitergeleitet werden.

**Days Of Week**

> Gibt die Tage an, an denen Alarme weitergeleitet werden.

**Transition**

> Bestimmt, welche Alarmübergänge (z.B. Aktivierung, Bestätigung) an Eliona weitergeleitet werden.

**Route Acks**

> Gibt an, ob Alarmbestätigungen in Niagara an Eliona weitergeleitet werden.

**Alarm Buffer Size**

> Gibt die maximale Anzahl von Alarmen an, die der Puffer halten kann.

**Circular Buffer**

> Bestimmt, wie der Puffer neue Alarme behandelt, wenn er voll ist:
>
> * **Enabled**: Überschreibt die ältesten Alarme mit neuen.
> * **Disabled**: Hört auf, neue Alarme zu akzeptieren, wenn er voll ist.

**Buffer Database Connection**

> Ermöglicht die Verwendung einer externen H2-Datenbank für die Pufferung. Wenn leer gelassen, wird standardmäßig ein interner Speicherpuffer verwendet.
>
> * **Embedded Buffer Mode**: Verwendet eine Datenbankdatei, die vom Treiber verwaltet wird.
> * **Server Buffer Mode**: Verbindet sich mit einer serververwalteten H2-Datenbank.

**Forecast Alarms Per Hour** (Info)

> Schätzt die Anzahl der pro Stunde gesendeten Alarme, aktualisiert alle 10 Sekunden.

**Forecast Bytes Per Alarm** (Info)

> Zeigt die durchschnittliche Größe jeder Alarmnachricht in Bytes an.

**Alarm Buffer Used** (Info)

> Zeigt die aktuelle Anzahl der im Puffer gespeicherten Alarme an.

**Last Send** (Info)

> Zeitstempel der letzten erfolgreichen Datenübertragung.

**Update Forecast** (Action)

> Aktualisiert manuell die Prognosestatistiken.

**Clear Alarm Buffer** (Action)

> Löscht alle derzeit im Puffer gespeicherten Alarme.

#### Eliona API Client

Der **Eliona API Client** kann hinzugefügt werden, indem er aus der **Eliona Palette** gezogen wird.\
Er ermöglicht die direkte Kommunikation mit einem Eliona-System über APIv2, indem benutzerdefinierte HTTP-Anfragen an spezifische Endpunkte gesendet werden.

| Feld                    | Beschreibung                                                                                  |
| ----------------------- | --------------------------------------------------------------------------------------------- |
| `Aktiviert`             | Aktiviert oder deaktiviert den Client                                                         |
| `Request Bei Änderung`  | Löst die `Request`-Aktion automatisch aus, wenn sich eine Eigenschaft ändert                  |
| `Methode`               | HTTP-Methode, die für den API-Aufruf verwendet wird (`GET`, `PUT`, `POST`, `DELETE`, `PATCH`) |
| `In`                    | JSON-Body, der bei Bedarf in die Anfrage eingefügt wird                                       |
| `Pfad`                  | Pfad des API-Endpunkts                                                                        |
| `Url` (Info)            | Ergebnis-URL basierend auf der Konfiguration des **Eliona Device** und dem `Pfad`             |
| `Response Code` (Info)  | HTTP-Antwortcode nach der Ausführung eines `Request`                                          |
| `Letzte Anfrage` (Info) | Zeitstempel der zuletzt gesendeten Anfrage                                                    |
| `Letzte Antwort` (Info) | Zeitstempel der zuletzt empfangenen Antwort                                                   |
| `Request` (Action)      | Startet manuell eine neue Anfrage an Eliona                                                   |

***

**Enabled**

> Aktiviert oder deaktiviert den Eliona API Client. Wenn deaktiviert, werden keine Anfragen gesendet oder empfangen.

**Request When Changed**

> Löst automatisch die `Request`-Aktion aus, sobald sich eine relevante Eigenschaft (z. B. `Methode`, `In` oder `Pfad`) ändert.

**Method**

> Definiert die HTTP-Methode, die für den API-Aufruf verwendet wird. Verfügbare Optionen sind: `GET`, `PUT`, `POST`, `DELETE`, `PATCH`.

**In**

> Gibt den JSON-Body an, der in die Anfrage eingefügt wird. Dieser wird verwendet, wenn die HTTP-Methode das Senden eines Payloads erfordert (z. B. bei `POST`, `PUT` oder `PATCH`).

**Path**

> Definiert den Pfad des API-Endpunkts relativ zur Basis-URL von Eliona, die im zugeordneten **Eliona Device** konfiguriert ist.

**Url** (Info)

> Zeigt die vollständige URL an, die sich aus der Konfiguration des **Eliona Device** und dem angegebenen `Path` zusammensetzt.

**Response Code** (Info)

> Zeigt den HTTP-Antwortcode der letzten Anfrage an (z. B. `200 OK`, `404 Not Found`, `500 Internal Server Error`).

**Last Request** (Info)

> Speichert den Zeitstempel der letzten an Eliona gesendeten Anfrage.

**Last Response** (Info)

> Speichert den Zeitstempel der letzten von Eliona empfangenen Antwort.

**Request** (Action)

> Startet manuell eine Anfrage basierend auf der aktuellen Konfiguration des Eliona API Client.

***

### Migrationsleitfaden

Ab Version 5.0 hat das Niagara-Modul wesentliche Änderungen in seinen Betriebsprinzipien erfahren. Die Kommunikation mit Eliona verwendet nun direkt die Eliona APIv2. Zuvor wurde die Kommunikation über einen TCP-Tunnel zu einer separaten Niagara-App innerhalb von Eliona hergestellt, die das Asset-Mapping und die Asset-Änderungen verwaltete. Die Konfiguration in früheren Versionen beinhaltete die Definition von Listeners (für den TCP-Tunnel) und Controllern (für das Asset-Mapping und die Attribut-Einstellungen für Werte und Alarme).

#### Kommunikationseinstellungen

In der neuen Version benötigen Sie anstelle einer IP-Adresse und eines Ports zum Erstellen eines TCP-Tunnels zum Niagara-App-Connector eine APIv2-URL und ein Token. Diese Anmeldeinformationen sollten von Ihrem Eliona-Administrator bereitgestellt werden. Die APIv2-Anmeldeinformationen müssen in der **Eliona Device**-Komponente innerhalb von Niagara konfiguriert werden.

#### Asset-Mapping

In früheren Versionen wurde das Asset-Mapping innerhalb der Niagara-App in Eliona definiert. Der Controller in den Niagara-App-Einstellungen enthielt eine Liste von Assets, die über ihre Handles (eindeutige IDs von Datenpunkten innerhalb einer Niagara-Station) mit Niagara-Datenpunkten verknüpft waren. Für jedes Handle (Datenpunkt) wurden die Asset ID und das Attribut mit Subtyp angegeben. Zusätzlich wurde die Priorität (Name des Slots in Niagara) für Ausgabeattribute definiert, die Daten zurück an Niagara senden.

Die neue Version führt einen anderen Ansatz für die Referenzierung von Assets und Attributen ein. Das **Eliona Value Asset Mapping**, definiert innerhalb einer **Eliona Extension**, gibt eine Global Asset ID an. Diese Global Asset ID, kombiniert mit der Project ID vom **Eliona Device**, identifiziert eindeutig ein Asset in Eliona. Für jede Global Asset ID wird ein **Eliona Asset** unter dem **Eliona Assets**-Container in Niagara erstellt. Während der Asset-Synchronisierung wird dieses Eliona Asset mit seinem entsprechenden Asset in Eliona durch Festlegen der Asset ID in der **Eliona Asset**-Komponente gekoppelt.

Das neue **Asset Mapping** definiert auch die `Attribute`-Einstellungen und Subtypen, die verwendet werden, wenn Werte an Eliona gesendet oder von dort empfangen werden. Wenn Sie einen anderen Schreib-Slot als den `Default Write Slot` definieren müssen, der im **Eliona Receiver** festgelegt ist, können Sie die `Write Slot`-Einstellung in der **Asset Mapping**-Komponente verwenden.

Sie können derselben Global Asset ID mehrere Asset Mappings mit unterschiedlichen Attributnamen zuweisen. Dies ermöglicht es Ihnen, ein einzelnes Asset in Eliona zu definieren, das mehrere Datenpunkte von Niagara repräsentiert, die jeweils verschiedenen Attributen zugeordnet sind.

#### Alarm-Mapping

In früheren Versionen wurde das Alarm-Mapping innerhalb der Niagara-App in Eliona definiert. Der Controller in den Niagara-App-Einstellungen enthielt eine Liste von Alarmregeln und den vollständigen Slot-BOrd der entsprechenden Alarm-Extensions. Dieses Setup ermöglichte es der alten Version, Alarme zu senden und Bestätigungen zu synchronisieren.

Die neue Version übernimmt einen anderen Ansatz. Das **Eliona Alarm Asset Mapping**, definiert für jede **Alarm Extension**, gibt eine Global Asset ID an. Diese Global Asset ID, zusammen mit der Project ID vom **Eliona Device**, identifiziert das Asset in Eliona eindeutig. Eine Alarmregel wird dann für dieses Asset in Eliona erstellt. Das Asset-Mapping definiert auch einen Attributnamen, der den Alarmzustand darstellt: Er wird auf `0` gesetzt, wenn kein Alarm vorliegt, und auf `1`, wenn der übergeordnete Niagara-Datenpunkt in einem Alarmzustand ist.

#### Asset-Import und Erstellung

In früheren Versionen wurde eine **Eliona Service**-Komponente bereitgestellt. Diese Komponente konnte Asset-Definitionen aus Niagara für jeden Datenpunkt exportieren und in einen Controller in der Eliona-App importieren, wodurch die Assets und Asset-Mappings für den ausgewählten Controller erstellt wurden.

Die neue Version bietet eine bequemere und flexiblere Möglichkeit, Assets und Mappings automatisch zu erstellen. Durch Aktivieren der Einstellung `Enable Upserts` im **Eliona Assets**-Container überprüft das Eliona-Modul während der Synchronisierung, ob ein Asset mit der angegebenen Global Asset ID und Project ID in Eliona existiert. Wenn es nicht existiert, wird das Asset erstellt und durch Festlegen der neuen Asset ID in der **Eliona Asset**-Komponente verknüpft. Beachten Sie, dass Sie den Asset-Typ in der **Eliona Asset**-Komponente definieren müssen, um das Asset in Eliona zu erstellen und zu aktualisieren.
