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
Achten Sie darauf das der Link unverändert bleibt um die Funktionalität bei zu behalten: href="https://{{host}}/password-reset/{{password_reset_token}}"
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?