Twig-Templating in Eliona

Einführung in Twig Templating

Eliona verwendet -> [Externer Link] Twig, eine leistungsfähige und flexible Templating-Engine für JavaScript und PHP, zur dynamischen Erzeugung von Nachrichteninhalten. Twig ermöglicht es, Templates zu definieren, die von externen Nachrichtendiensten wie SMS, Google Chat, Slack oder E-Mail verwendet werden.

Twig.js Version

Die aktuelle implementierte Version von Twig.js in Eliona ist 1.17.1. Die vollständige Dokumentation und Implementierungsnotizen sind unter folgenden Links verfügbar:


Twig-Syntax und Funktionen

Twig-Syntax ermöglicht es, dynamische Inhalte in Vorlagen einzufügen und zu verarbeiten. Einige häufig verwendete Funktionen sind:

Variablen ausgeben

{{ alarm.val }}  {# Gibt den Wert des Alarms aus #}
{{ asset.name }}  {# Zeigt den Namen des betroffenen Assets an #}

Bedingungen verwenden

{% if alarm.prio == 1 %}
    Achtung: Hohe Priorität!
{% else %}
    Normaler Alarm.
{% endif %}

Schleifen nutzen

Zeichenketten formatieren


Verfügbare Templates und Variablen in Eliona

Eliona bietet verschiedene Template-Typen für unterschiedliche Anwendungsfälle:

Jedes dieser Templates unterstützt spezifische Variablen, die dynamisch mit den jeweiligen Daten befüllt werden.


Ticket-Template

Verfügbare Variablen

Das Ticket-Template kann zur automatisierten Generierung von Ticket-Benachrichtigungen verwendet werden. Folgende Variablen stehen zur Verfügung:

Beispiel für ein Ticket-Template


Alarm-Template

Verfügbare Variablen

Das Alarm-Template basiert auf einem Testdatensatz und enthält umfangreiche Details zu Alarmen und deren zugehörigen Assets.

Beispiel für ein Alarm-Template


User-Template

Das User-Template ermöglicht den Zugriff auf benutzerspezifische Informationen – insbesondere für Benachrichtigungszwecke (z. B. E-Mail, Chat oder Alarmweiterleitung). Es kann in allen Templates verwendet werden, bei denen die Benutzerdaten verfügbar sind.

Verfügbare Variablen

Beispiel für ein User-Template


Passwort-Reset-Template

Verfügbare Variablen

Das Passwort-Reset-Template wird in Eliona verwendet, um Benutzern eine E-Mail mit einem Link zum Zurücksetzen ihres Passworts zu senden.

Beispiel für ein Passwort-Reset-Template


yAxis Formatter

Der yAxis Formatter bestimmt die Darstellung der Achsenbeschriftung in Diagrammen. Er zeigt den aktuellen Wert der Datenreihe zusammen mit zusätzlichen Attributinformationen an.

Verfügbare Variablen für den yAxis Formatter

  • {{unit}} – Einheit des Wertes (z. B. °C, %, kWh)

  • {{value}} – Der aktuelle Wert der Datenreihe

  • {{attribute}} – Name des Attributs

  • {{gai}} – Globale Asset-ID

  • {{aggregatedDataField}} – Datenfeld für die Aggregation

  • {{aggregatedDataRaster}} – Raster, mit dem die Daten aggregiert wurden

  • {{aggregatedDataType}} – Typ der Aggregation (z. B. Durchschnitt, Summe)

Beispiel für einen yAxis Formatter

Ergebnis für Temperaturdaten:22.5 °C (Raumtemperatur)


Legend-Template

Das Legend-Template bestimmt die Darstellung der Legendenbeschriftung in Diagrammen. Es beschreibt die Datenreihe, indem es den Namen des Assets oder der Datenreihe mit Attributinformationen kombiniert.

Verfügbare Variablen für das Legend-Template

  • {{unit}} – Einheit des Wertes (z. B. °C, %, kWh)

  • {{attribute}} – Name des Attributs

  • {{gai}} – Globale Asset-ID

  • {{name}} – Name des Assets oder der Datenreihe

  • {{aggregatedDataField}} – Datenfeld für die Aggregation

  • {{aggregatedDataRaster}} – Raster, mit dem die Daten aggregiert wurden

  • {{aggregatedDataType}} – Typ der Aggregation (z. B. Durchschnitt, Summe)

Beispiel für ein Legend-Template

Ergebnis für einen Temperatursensor:Klimaanlage Büro 1 - Raumtemperatur (°C)


Fazit

Twig.js ermöglicht eine flexible und effiziente Nutzung von Templates in Eliona. Durch die Verwendung von Twig-Variablen und -Funktionen können personalisierte Inhalte für Tickets, Alarme und E-Mails generiert werden. Weitere Informationen zur Twig-Syntax sind in der offiziellen Dokumentation verfügbar: -> [Externer Link] Twig.js Wiki.

Last updated

Was this helpful?