🏆
Eliona
German
German
  • 💡Vorwort
    • Willkommen!
    • Über dieses Dokument
    • Typographische Konventionen
    • Das Interface
    • Bedienelemente
    • Glossar
    • FAQ
  • 🎉Neue Funktionen
    • Changelog – Aktuelle Version: v14.0.4
  • 🎓Academy
    • Eliona als Ticketing Plattform
      • Anleitung aus Sicht Admin
      • Anleitung aus Sicht Service
      • Anleitung aus Sicht Kunde
    • Einführung in Ontologien
      • Einführung in die Haystack Ontologie
      • Einführung in die Brick Ontologie
      • Einführung in die RealEstateCore Ontologie
      • Wie deckt Eliona Ontologien ab
    • Einen Zählerwechsel konfigurieren
    • Aggregationen in Eliona
    • White-Labeling
    • Ein Projekt erstellen
    • Einen Benutzer erstellen
    • Benutzer zu einem Projekt hinzufügen
    • Eine Rolle erstellen
    • Einem Benutzer eine Rolle zuordnen
    • Ein Asset erstellen und konfigurieren
    • Ein Dashboard erstellen
    • Eine Analytic erstellen und konfigurieren
    • Einen Alarm konfigurieren
    • Einen Digitalen Zwilling anlegen
    • Wie “Wayfinding” funktioniert
    • Werte-Mapping in Eliona
    • Twig-Templating in Eliona
    • Einführung und Tour durch die Benutzeroberfläche
  • 📚Dokumentation
    • 🗺️Wayfinding
      • Ein neues Wayfinding-Gebäude mit Stockwerken erstellen
      • Ein bestehendes Gebäude bearbeiten
      • Ein bestehendes Stockwerk öffnen
      • Ein Wayfinding Stockwerk konfigurieren
      • QR-Code generieren
      • Wayfinding in der Nuzung
    • 📊Dashboard
      • Ein neues Dashboard erstellen
      • Widgets zum Dashboard hinzufügen
      • Zwischen Dashboards wechseln
      • Layout von Dashboards anpassen
      • Dashboards organisieren
      • Dashboards an Benutzer kopieren
      • Globale Dashboards
      • Dashboard Templates
    • 🧊Widgets
      • Widgets bedienen
      • Vordefinierte Widgets
        • Alarm
        • Alarmübersicht
        • Analog Eingabe
        • Analoger Trend
        • Analyse
        • Asset Tracking
        • Behaglichkeit
        • Bereichsdiagramm
        • Bild
        • Buchung
        • Digitaler Trend
        • Donut
        • Einfache Anzeige
        • Eingabe Auswahl
        • Eingabe Schalter
        • Fahrplan
        • Fortschritt Radial
        • Fortschritt Vertikal
        • Heatmap
        • HLK KPI
        • iFrame
        • Kalender
        • Karte
        • Kombinierte Trends
        • Lichtsteuerung
        • Links
        • Radar-Diagramm
        • Reporttabelle
        • Sankey-Diagramm
        • Schalter
        • Slider
        • Stockwerk
        • Temperaturbereiche
        • Ticketübersicht
        • Tracking heatmap
        • Trend mit Balken
        • Trigger
        • Wetter
        • Zwei analoge Trends
        • Zwei digitale Trends
      • Benutzerdefinierte Widgets
        • Detaillierte Liste der Alarme
        • Liste der Alarme
        • Module
          • Alarm
          • Bereich
          • Bild
          • Custom Stockwerk
          • Donut
          • Eingaben & Schalter
          • Fortschritt
          • Heatmap
          • Icon
          • iFrame
          • Kalender
          • Karte
          • Komfort
          • Links
          • Radar
          • Sankey
          • Tabelle
          • Ticket
          • Tracking
          • Trend
          • Uhrzeit
          • Wert
          • Wetter
    • 🎈Assets
      • Assets erstellen
      • Asset-Details
      • Ein Asset konfigurieren
      • QR-Codes generieren
      • Bewertungen
      • Asset Daten
      • Dokumente an Assets anhängen
      • Einem Asset Links hinzufügen
      • Asset-Status: Aktive / Inaktive / Nicht Überwachte Assets
      • Assets auf einer Karte platzieren
      • Assets strukturieren
      • Assets archivieren
      • Asset-Modellierung: Templates erstellen
        • Ein neues Template erstellen
        • Ein neues Asset-Charakteristik-Template erstellen
      • ❤️Die Template-Bibliothek
        • Ein Template importieren
        • Ein Template Exportieren
    • 🎛️Smart Views
      • Eine neue Smart View erstellen
      • Eine bestehende Smart View öffnen
      • Eine Smart View konfigurieren
      • Eine Smart View bereitstellen
      • Slider Gruppen
      • Smart Assist
    • ⏰Alarme, Regeln und Eskalationen
      • 🚦Regeln
        • Eine Regel erstellen
      • 🚨Alarme
        • Quittierpflichtige und Gehende Alarme
        • Alarmstatistik
      • ↗️Eskalationen
        • Eine Neue Eskalationen erstellen
        • Eine Eskalation konfigurieren
        • Nutzer für Eskalationen konfigurieren
        • Notification Provider
          • Mail
          • Google Chat
          • SMS
          • Slack
          • eCall-Services
          • Job diagnostic
        • Allgemeinen Kalender erstellen
        • Eskalationen gruppieren
      • ⛓️Regelketten
        • Die Regelketten Seite öffnen
        • Eine neue Regelkette erstellen
        • Die Konfiguration einer bestehenden Regelkette öffnen
        • Regelkette konfigurieren
    • 🎟️Tickets
      • Tickets erstellen
      • Ticket Einstellungen
      • Ticket konfigurieren
      • Ticket-Details
      • Tasks erstellen
      • Task starten und abschliessen
      • Tickets schliessen
    • 📈Analytics & Reports
      • Analytics Nutzen
      • Reports Nutzen
    • 🌍Karte und Stockwerk
      • Karte
      • Stockwerk
        • Ein Stockwerk erstellen
        • Assets auf einem Stockwerk platzieren
        • Räume erstellen
        • Localino Anker konfigurieren
    • 🏛️BIM
      • Ein BIM öffnen
      • In einem BIM navigieren
      • Ein neues BIM erstellen
      • Assets in einem BIM platzieren
    • 📫Benachrichtigungen
      • Interne Benachrichtigungen
      • Benachrichtigungen Stumm Schalten
      • Push-Benachrichtigungen
      • Benachrichtigungen anpassen
    • 👥Digitaler Zwilling
    • ⚙️Engineering
      • Skript Engine
        • Skripte konfigurieren
        • Python Skripte schreiben
          • Output Logging und Fehlerbehandlung
          • Vorinstallierte Python-Bibliotheken im Eliona-System
          • Erstellen und Lesen von Dateien
        • PL/PgSQL-Skripte schreiben
      • Asset-Modellierung / Templates
        • Ein neues Template erstellen
        • Ein neues Asset-Charakteristik-Template erstellen
    • 🔧Einstellungen
      • Apps
        • Asset-Filter
      • Audit Trail
      • Lizenz
        • Lizenz läuft ab
      • System
      • API-Schlüssel
    • 🚩Tags
    • 🔮Systeme und Projekte
      • Ein neues Projekt erstellen
      • Benutzer zu einem Projekt hinzufügen
      • Aussehen eines Projekts anpassen
      • Startseite
      • Zwischen Projekten wechseln
    • 🧑‍💻Benutzer
      • Einen neuen Nutzer anlegen
      • Einen Nutzer einem Projekt zuweisen
      • Rolle eines Nutzers ändern
      • Zugriffsrechte von Nutzern verwalten
      • Benutzer archivieren und wiederherstellen
      • Benutzerdaten anpassen
    • 🎭Rollen
      • Warum sind Rollen so wichtig?
      • Das Rollen-Menü
      • Systemrollen
      • Projektrollen
    • 👾Weitere Funktionen
      • 📑Attribut Funktionen
        • ➗Werte berechnen: Der Calculator
        • 🕵️Filter
        • 📈Gerätesimulator
      • 🪃Lesezeichen
      • Tracking
      • 👀Monitoring
        • Monitoring mit Grafana
        • HDD Monitor
      • 🤳Augmented Reality
      • 🚢Bulk Import
  • 📶connectivity as a service
    • Geräte mit Eliona verbinden
      • Geräte per Modbus verbinden
        • Neue Modbus-Verbindung erstellen
        • Jobs lesen
      • Geräte per MQTT verbinden
        • Neuen Client erstellen
        • Client konfigurieren
        • Eine Subscription konfigurieren
        • Eine Publication konfigurieren
        • Eliona Broker
      • Geräte per RESTful verbinden
        • RESTful Verbindung konfigurieren
        • RESTful Request konfigurieren
      • Geräte per Webhook verbinden
      • ...mit Kafka
        • Eine neue Verbindung aufbauen
        • Verbindung konfigurieren
        • Abonnement konfigurieren
        • Publication konfigurieren
      • Geräte per OPC UA verbinden
        • Einen Endpunkt erstellen und konfigurieren
        • Endpunkt-Details
        • Verbindungs-Details
      • Ein Format konfigurieren
        • Format Konventionen und Beispiele
      • Funktionen
  • Edge Nodes
    • Was sind Edge Nodes?
    • EdgeNodes in Eliona
      • Control Edge einrichten
        • Eliona-Module für Niagara
  • 🍎Apps
    • Apps
      • ABB free@home
      • Akenza
      • Buchung
      • CoffeeCloud
      • Correlation App
      • Device simulator
      • Exchange-App
      • Forecast
        • Was ist Forecasting
        • Forecast App einfach nutzen
        • Parameter richtig Wählen
          • Alle Parameter auf einem Blick
        • Ablauf der Forecast App
        • Was sind Hyperparameter?
        • Parameter Konfiguration
        • Training Parameter einstellen
        • Binäre und Mehrklassen-Prognosen
        • Automatische Parameter
        • API-Dokumentation
        • Use Cases
      • Glutz
      • GP Joule
      • Hailo
      • Kentix
      • KentixONE
      • Kontakt.io
      • Localino
        • Geofencing-Funktion im Localino-System
      • Loriot.io
      • Microsoft 365
      • Microsoft ADFS
      • myStrom App
      • Niagara
      • OpenBOS
      • Renzbox
      • ROOMZ
      • SAML SSO
      • Signify
      • Spread Sheet
      • Stoppuhr
      • Thingdust
      • Xovis
      • Xovis People Counter
      • Zevvy
    • App SDK
  • 📢Feedback
    • 🐛Einen Bug melden
    • 💝Verbesserungsvorschlag senden / Feature wünschen
  • 👩‍💻Für Entwickler
    • REST API
    • Engineering
Powered by GitBook
On this page
  • Einführung in Twig Templating
  • Twig.js Version
  • Twig-Syntax und Funktionen
  • Variablen ausgeben
  • Bedingungen verwenden
  • Schleifen nutzen
  • Zeichenketten formatieren
  • Verfügbare Templates und Variablen in Eliona
  • Ticket-Template
  • Verfügbare Variablen
  • Beispiel für ein Ticket-Template
  • Alarm-Template
  • Verfügbare Variablen
  • Beispiel für ein Alarm-Template
  • Passwort-Reset-Template
  • Verfügbare Variablen
  • Beispiel für ein Passwort-Reset-Template
  • yAxis Formatter
  • Verfügbare Variablen für den yAxis Formatter
  • Beispiel für einen yAxis Formatter
  • Legend-Template
  • Verfügbare Variablen für das Legend-Template
  • Beispiel für ein Legend-Template
  • Fazit

Was this helpful?

  1. Academy

Twig-Templating in Eliona

PreviousWerte-Mapping in ElionaNextEinführung und Tour durch die Benutzeroberfläche

Last updated 1 month ago

Was this helpful?

Einführung in Twig Templating

Eliona verwendet , 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

{% for tag in alarm.tags %}
    - {{ tag }}
{% endfor %}

Zeichenketten formatieren

{{ alarm.message.come.de | upper }}  {# Gibt den Alarmtext in Grossbuchstaben aus #}

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:

{
  "ticket": {
    "ticket_id": "Eindeutige ID des Tickets",
    "parent_id": "ID des übergeordneten Tickets, falls vorhanden",
    "title": "Titel des Tickets",
    "description": "Beschreibung des Tickets",
    "priority": "Priorität des Tickets",
    "reason": "Grund oder Ursache des Tickets",
    "state": "Aktueller Status des Tickets",
    "created_by": "Ersteller des Tickets",
    "created_at": "Erstellungszeitpunkt des Tickets",
    "assigned_to": "Zugewiesene Person oder Gruppe",
    "assigned_at": "Zeitpunkt der Zuweisung",
    "closed_at": "Zeitpunkt der Schließung",
    "proj_id": "Projekt-ID",
    "asset_id": "Asset-ID",
    "alarm_id": "Alarm-ID, falls mit einem Alarm verbunden",
    "alarm": "Details zum verknüpften Alarm",
    "modified_by": "Letzter Bearbeiter",
    "modified_at": "Zeitpunkt der letzten Änderung",
    "contact": "Kontaktinformationen",
    "tags": "Liste von Tags, die mit dem Ticket verbunden sind"
  }
}

Beispiel für ein Ticket-Template

Neues Ticket: {{ ticket.title }}

Nachricht:
Ticket-ID: {{ ticket.ticket_id }}
Erstellt von: {{ ticket.created_by }}
Priorität: {{ ticket.priority }}
Beschreibung: {{ ticket.description }}

Alarm-Template

Verfügbare Variablen

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

{
  "alarm": {
    "low": "Unterer Grenzwert",
    "high": "Oberer Grenzwert",
    "tags": "Liste von Tags, die mit dem Alarm verbunden sind",
    "prio": "Prioritätsstufe des Alarms",
    "ack_p": "Gibt an, ob der Alarm bestätigt werden muss",
    "equal": "Gibt an, ob ein Gleichheitscheck durchgeführt wird",
    "enable": "Aktivierungsstatus des Alarms",
    "urldoc": "Dokumentations-URL",
    "func_id": "Funktionale ID des Alarms",
    "msg": "Die aufgelöste Alarm Nachricht,
    "message": {
      "come": {
        "de": "{{asset.name}} ({{alarm.val}})",
        "en": "{{asset.name}} ({{alarm.val}})",
        "fr": "{{asset.name}} ({{alarm.val}})",
        "it": "{{asset.name}} ({{alarm.val}})"
      },
      "gone": "Nachricht bei Ende des Alarms"
    },
    "subject": "Betreff des Alarms",
    "subtype": "Untertyp des Alarms",
    "alarm_id": "Eindeutige Alarm-ID",
    "asset_id": "ID des betroffenen Assets",
    "attribute": "Betroffenes Attribut des Assets",
    "dont_mask": "Maskierungsstatus des Alarms",
    "notify_on": "Benachrichtigungstrigger (z. B. 'R' für Reminder)",
    "check_type": "Typ der Alarmüberprüfung",
    "created_at": "Erstellungszeitpunkt des Alarms",
    "created_by": "Ersteller des Alarms",
    "auto_ticket": "Gibt an, ob automatisch ein Ticket erstellt wird",
    "modified_at": "Zeitpunkt der letzten Änderung",
    "modified_by": "Letzter Bearbeiter",
    "ts": "Zeitstempel des Alarms",
    "val": "Wert des betroffenen Parameters",
    "multi": "Multiplikator für den Alarmwert",
    "ack_ts": "Zeitpunkt der Bestätigung",
    "gone_ts": "Zeitpunkt des Verschwindens des Alarms",
    "ack_text": "Bestätigungstext",
    "ack_user_id": "ID des bestätigenden Benutzers"
  },
  "locale":"Die Sprach- und Regionseinstellung",
  "domain_name": "Der Domainname der Umgebung",
  "asset": {
    "ar": "Aktivierungsstatus",
    "gai": "Globale Asset-ID",
    "lat": "Latitude des Assets",
    "lon": "Longitude des Assets",
    "name": "Name des Assets",
    "tags": "Liste der Tags des Assets",
    "expert": "Expertenmodus aktiviert",
    "storey": "Stockwerk des Assets",
    "urldoc": "Dokumentations-URL des Assets",
    "proj_id": "Projekt-ID",
    "archived": "Archivierungsstatus",
    "asset_id": "Eindeutige Asset-ID",
    "acl_access": "Zugriffsstatus",
    "asset_type": "Typ des Assets",
    "tracker_id": "Tracker-ID",
    "description": "Beschreibung des Assets",
    "acl_permissions": "Zugriffsberechtigungen"
  }
}

Beispiel für ein Alarm-Template

twigKopierenBearbeitenAlarm für {{ asset.name }}

Nachricht:
Der Alarm "{{ alarm.message.come.de }}" wurde ausgelöst.
Attribut: {{ alarm.attribute }}
Wert: {{ alarm.val }}

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.

{
    "host": "Domain der Umgebung, in der das System betrieben wird",
    "password_reset_token": "Einzigartiger Token zum Zurücksetzen des Passworts"
}

Beispiel für ein Passwort-Reset-Template

Hallo,  

um Ihr Passwort zurückzusetzen, klicken Sie bitte auf den folgenden Link:  

<a href="https://{{ host }}/password-reset/{{ password_reset_token }}">Passwort zurücksetzen</a>  

Falls Sie diese Anfrage nicht gestellt haben, können Sie diese E-Mail ignorieren.  

Achten Sie darauf, dass der Link unverändert bleibt, um die Funktionalität zu behalten:  
href="https://{{ host }}/password-reset/{{ password_reset_token }}"

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

twigKopierenBearbeiten{{value}} {{unit}} ({{attribute}})

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

{{name}} - {{attribute}} ({{unit}})

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
-> [Externer Link] Twig.js Repository
-> [Externer Link] Twig.js Implementierungsnotizen
-> [Externer Link] Twig.js Wiki
Ticket-Template
Alarm-Template
Passwort-Reset-Template
yAxis Formatter-Template
Legend-Template