E-Mail Funktion

In QuickHMI haben Sie die Möglichkeit, automatische E-Mails senden zu lassen, wenn sich beispielsweise Variablenwerte ändern, Alarme ausgelöst werden, oder mit Steuerelementen interagiert wird.

Um E-Mail-Templates anzulegen oder zu bearbeiten, wählen Sie im Projekt Explorer den Menü-Punkt E-Mail Vorlagen“.

Klicken Sie auf das Plus-Icon zum Anlegen einer neuen E-Mail (E-Mail-Template). Sie gelangen in das Fenster EMail Template:

Begonnen wird damit, der E-Mail unter „Allgemein“ bzw. Verbindungsdaten, einen Namen zu geben sowie die „Abklingzeit“ zu bestimmen. Mehr dazu erfahren Sie weiter unten im Artikel unter der Überschrift „Abklingzeit (s)„.

Tragen Sie anschließend die Anmeldedaten für den SMTP Server ein, von dem die E-Mail gesendet werden soll.

Unter „Meldung“ formulieren Sie anschließend die eigentliche Nachricht mit Betreff. Zum Senden einer E-Mail ist mindestens ein Betreff notwendig.

Wünschen Sie eine Formatierung des Textes (beispielsweise fett, kursiv, Farbe etc.), können Sie dies über die Aktivierung von HTML via Checkbox realisieren.

Dann können Sie über das Schreiben von HMTL-Tags, den Text formatieren. Wichtig ist, dass bei Deaktivierung von HTML auch die Tags wieder entfernt werden müssen, da diese ansonsten als Klartext ausgeschrieben werden.

Ist HTML aktiviert, werden HTML-typisch, keine „normalen“ Zeilenumbrüche via ENTER erkannt. Für einen Zeilenumbruch nutzen Sie bitte den Tag „<br/>„.

Anschließend wählen Sie unter „Adressierung“ die Adressen aus (Absender, Empfänger, CC, BCC). Mehrere Adressen werden durch ein Komma getrennt.

Um Ihre Eingaben zu prüfen, können Sie jederzeit eine Testnachricht senden.

Sind alle Eingaben getätigt, bestätigen Sie mit „Hinzufügen“, um das E-Mail-Template zu speichern.

Dieses Template kann jetzt dazu verwendet werden, um bei bestimmten Ereignissen automatisch eine E-Mail zu versenden.

Dazu muss als erstes ein entsprechender Auslöser – > ein Trigger angegeben werden.

Der Versand einer E-Mail kann bei Ereignissen eines Steuerelements (beispielsweise bei einem Klick auf einen Button), bei Änderung eines Variablenwertes, sowie beim Auslösen eines Alarms erfolgen.


Abklingzeit (s)

Mit der QuickHMI E-Mail-Funktion werden Mails automatisch versendet wie zuvor beschrieben. In extremen Fällen würde dies bedeuten, dass wenn sich beispielsweise eine Variable 20-mal die Sekunde ändert, pro Sekunde auch 20 Mails versendet werden. Um dies zu verhindern, kann eine Abklingzeit gesetzt werden. Wird hier als Beispiel „10“ eingetragen, wird alle 10 Sekunden max. nur eine Mail versendet.

Kommt es innerhalb dieser 10 Sekunden zu weiteren Mail-auslösenden Ereignissen, wird der Versand von weiteren Mails für diese Zeit blockiert. Die Informationen gehen jedoch nicht verloren, sondern werden zwischengespeichert und in der Mail nach der Abklingzeit entweder ans Ende der Zusammenfassung geschrieben oder als Anhang beigefügt (Ab einer Größe von 5 MB).

Um zu bestimmen, wo genau die Informationen als Zusammenfassung innerhalb der Mail stehen sollen, können Sie den Platzhalter „@cache“ verwenden. Mehr dazu erfahren Sie weiter unten im Artikel unter der Überschrift „Platzhalter„.

Die Abklingzeit ist nur relevant für Mails, die automatisch versendet werden. Also bei Variablenänderungen und beim Auslösen von Alarmen. Beim Auslösen eines Steuerelements durch den Benutzer wird die Mail sofort gesendet. Ab diesem Moment an beginnt die Abklingzeit für automatische Mails von vorne.


Versand einer E-Mail bei Steuerelement-Ereignissen

Wählen Sie ein Steuerelement an, für welches Sie bei Interaktion eine E-Mail versenden wollen. In diesem Beispiel ist ein Button ausgewählt.

Fügen Sie bei den „Eigenschaften“ unter „Aktion“ ein gewünschtes Klick-Event hinzu und legen Sie eine neue Aktions-Funktion an.

Eine Beschreibung zu den Aktionen von Steuerelementen finden Sie im Artikel „Aktionen“.

Verwenden Sie den Befehl „SEND_EMAIL“ und wählen Sie das zuvor gespeicherte E-Mail-Template aus.

Speichern“ Sie und schließen Sie anschließend das Fenster.

Jetzt erhalten Sie bei jedem Klick auf den Button eine E-Mail mit dem von Ihnen definierten Inhalt.

Dies ist das einfachste Beispiel für die Verwendung von E-Mail-Templates.


Versand einer E-Mail bei Änderung eines Variablenwertes

Um eine E-Mail bei der Änderung eines Variablenwertes senden zu lassen, klicken Sie im Projekt Explorer auf E-Mail-Vorlagen“, um das EMail Template aufzurufen.

Hier wählen Sie unter „Auslöser“ über den gleichnamigen Button die gewünschte Variable aus.

In der sich darauffolgend öffnenden „Aktionszuweisung“ wählen Sie das Event „OnVariableChanged“ aus. Dann setzen Sie den Haken bei der Variablen, auf deren Wertänderung mit dem Versand einer E-Mail reagiert werden soll. Anschließend „speichern“ Sie, um fortzufahren.

Als letzten Schritt „speichern“ Sie das „EMail Template„.

Ändert sich nun der Wert der gewählten Variable, wird eine E-Mail mit dem von Ihnen definierten Inhalt versendet.

Durch die Nutzung entsprechender Platzhalter  (Siehe Artikel „Platzhalter“)  können der Mail Informationen zur geänderten Variablen beigefügt werden.


Versand einer E-Mail beim Auslösen eines Alarms

Um eine E-Mail bei Veränderung eines Alarm-Zustandes senden zu lassen, müssen Sie dem entsprechenden Alarm ein angelegtes E-Mail-Template zuweisen.

Hierfür gehen Sie beim Anlegen einer Alarm-Variable in die Alarmeinstellungen, und wählen unter „E-Mail“ das gewünschte Template aus.

Anschließen „Speichern“ und „Hinzufügen“, um die Alarm-Variable anzulegen. Natürlich können Sie einer bereits angelegte Alarm-Variable, die E-Mail-Funktion nachträglich hinzufügen, indem Sie die Variable bearbeiten.

Mehr zu Alarm-Variablen finden Sie im Artikel „Alarm-Variablen“.

Wird jetzt ein Alarm ausgelöst, wird eine E-Mail versendet, mit dem von Ihnen definierten Inhalt.

Durch die Nutzung entsprechender Platzhalter (Siehe Artikel „Platzhalter“) können der Mail Informationen zum ausgelösten Alarm beigefügt werden.


Platzhalter

Sie haben in QuickHMI die Möglichkeit, Platzhalter für die E-Mails zu verwenden.

Platzhalter sind bestimmte Befehle, die einen Wert oder eine Eigenschaft, etwa einer Variable auslesen, und diesen Status als Information in der E-Mail versenden

Sie sorgen dafür, dass Inhalte von E-Mails automatisch, je nach Situation verfasst werden. Platzhalter können sowohl im Betreff einer E-Mail als auch in dessen Text verwendet werden.

Es gibt verschiedene Platzhalter, die verwendet werden können.

Sie funktionieren nur, wenn sie in geschweiften Klammern geschrieben werden.


Platzhalter: @changedvariable

Der Platzhalter „@changedvariable wird bei Änderung eines Variablenwertes ersetzt, durch alle Informationen, der sich ändernden Variable.

Dies funktioniert jedoch nur, wenn die Mail aufgrund einer Variablenänderung gesendet wird, wie im obigen Artikel beschrieben.

In anderen Fällen wird dieser Platzhalter nicht ersetzt, sondern als Klartext ausgeschrieben.

* Empfangene Mail

Platzhalter: @triggeredalarm

Der Platzhalter @triggeredalarm wird bei Zustandsänderung eines Alarms ersetzt durch alle Informationen des Alarms.

Dies funktioniert jedoch nur, wenn die Mail aufgrund der Zustandsänderung eines Alarms gesendet wird, wie im obigen Kapitel beschrieben.

In anderen Fällen wird dieser Platzhalter nicht ersetzt, sondern als Klartext ausgeschrieben.

*Empfangene E-Mail

Platzhalter: @tag

Dieser Platzhalter ist besonders sinnvoll, um ihn im Betreff zu verwenden. Er wird ersetzt, durch eine kurze Beschreibung, warum die E-Mail gesendet wurde.

Somit spart man es sich, jedes Mal einen neuen Betreff einzugeben bzw. es wird verhindert, dass immer der gleiche Standard-Betreff verwendet wird. Der Betreff ändert sich also automatisch, je nach Grund der Mail.


Platzhalter für Einzelwerte

Wie in den vorherigen Kapiteln zu sehen, werden die Platzhalter „@changedvariable und „@triggeredalarm durch ganze Informations-Blöcke ersetzt.

Somit ist es also ungünstig, diese Platzhalter in einem Fließtext zu verwenden. Um große Informations-Blöcke zu vermeiden und sich nur einzelne Informationen des Blocks auslesen zu lassen, können Sie einen der zuvor erläuterten Platzhalter durch einen Einzelwert ergänzen.

Der Platzhalter „@changedvariable wird beispielsweise durch den Informations-Block, bestehend aus „Name“, „Wert“, „Qualität“, „Nachricht“ und „Zeitstempel“, ersetzt.

Nun ist es möglich, daraus auch einzelne Informationen auszulesen. Wollen Sie beispielsweise nur den Namen und den Wert der Variable haben, schreiben Sie folgende Platzhalter in die E-Mail:

  • @changedvariable.name” und “@changedvariable.value

Auch hier gilt@changedvariable“ Platzhalter werden nur ersetzt bei Änderung der Variable. Ansonsten stehen sie als Klartext in der E-Mail.

Gleiches Prinzip gilt auch für „@triggeredalarm“ Platzhalter.

Übersicht der Einzelwerte für „@changedvariable“-Platzhalter

  • @changedvariable.name
  • @changedvariable.value
  • @changedvariable.quality
  • @changedvariable.message
  • @changedvariable.timestamp

Übersicht der Einzelwerte für „@triggeredalarm“-Platzhalter.

  • @triggeredalarm.name
  • @triggeredalarm.type
  • @triggeredalarm.is_active
  • @triggeredalarm.message
  • @triggeredalarm.begin
  • @triggeredalarm.end

Platzhalter zum Anzeigen von Variablen

Durch Nutzung von Platzhaltern können auch die Werte einzelner Variablen ausgelesen und in die E-Mail eingefügt werden.

Zur Verwendung einer Variable als Platzhalter benötigen Sie den Namen der Variable, als auch den Namen der Datenquelle, zu der diese Variable gehört.

In diesem Beispiel wollen wir die Zahl der aktuell verbunden Clients in einer E-Mail verwenden.

Diesen Wert finden wir in der Systemvariable „current_session_count“. Der Datenquellennamen der Systemdatenquelle ist „System“.

Nicht alle Variablen können in Platzhaltern verwendet werden. Nur globale Variablen können dazu verwendet werden.

Globale Variablen sind:

  1. Variablen von Datenquellen, die vom Benutzer, also Ihnen, angelegt worden sind.
  2. Interne Variablen, die als global angelegt worden sind.
  3. Die Systemvariablen „current_session_count„,“active_alarm_count“ sowie alle Datenquellen-Statusvariablen.

Keine globalen Variablen sind:

  1. Alle Variablen der Systemdatenquelle (mit Ausnahme der oben genannten).
  2. Interne Variablen, die als lokal angelegt worden sind.

Platzhalter für Variablen bestehen aus geschweiften Klammern, in die ein „@“ + Datenquellen-Name + Variablen-Name geschrieben wird.

Datenquellen- und Variablenname werden durch einen Punkt getrennt. In diesem Fall also @System.current_session_count.

*Empfangene E-Mail

Der Platzhalter @System.current_session_count wurde durch den Wert der Variable ersetzt.

Im Übrigen funktionieren Platzhalter für Variablen sowohl bei Steuerelement-Aktionen als auch bei Variablen-Änderungen und ausgelösten Alarmen.

Verschreibt man sich, oder schreibt Variablen, die es nicht gibt, wird der Platzhalter als Klartext ausgeschrieben, mit dem Zusatz, dass die Variable nicht gefunden wurde.


Platzhalter: @cache

Dieser Platzhalter bezieht sich auf die Möglich, beim Anlegen einer Mail eine Abklingzeit zu setzen. Sie finden eine nähere Beschreibung im Artikel Abklingzeit (s).

Er wird ersetzt durch alle Informationen, die während der Abklingzeit entstehen. Fehlt dieser Platzhalter, werden die Informationen ans Ende der Mail geschrieben, oder als Anhang beigefügt (ab einer Größe von 5 mb).