Seitenhistorie
Seit dem Update auf die Version 2.0.0 können Sie nun auch Skripte auf verschiedenen Wegen einbinden und auslösen lassen.mehrere Skripte eingebunden und abhängig vom Ereignis ausgeführt werden.
Inhalt |
---|
Vorbereitungen
Das auszuführende Skript muss in einer ausführbaren Datei liegen. Ob das Skript ausführbar ist sollten Sie vorher testen!
Linux / Raspberry Pi / macOS
- Terminal öffnen
Skript per Drag & Drop ins Terminal-Fenster ziehen und Enter drücken, bspw.
Codeblock language bash /Users/ich/Desktop/script.sh
Falls das Skript nicht ausführbar ist (Fehler permission denied), können Sie es wiefolgt ausführbar machen
Codeblock language bash chmod +x /Users/ich/Desktop/script.sh
- Prüfen, ob das Skript wie erwartet ausgeführt wurde
Windows
- Doppelt auf die Datei klicken (Dateiendung bspw. .bat)
- Prüfen, ob das Skript wie erwartet ausgeführt wurde
Skript auswählen und testen
Hierfür gehen Sie in der Menüleiste auf den Punkt "Einstellungen öffnen" und dann auf den Reiter "Skripte"
...
.
Nun können Sie aussuchen zu welchem Zeitpunkt das Skript gestartet werden soll oder noch weitere Skripte hinzufügen.
...
Sie können auch ein einzelnes Skript zu mehreren Zeitpunkten aktiveren lassen.
Sie können Darüber hinaus Parameter des Alarms an das Skript übergeben, z.B. für ein Alarmtagebuch.
Hierfür legen Sie eine .Bat-Datei an mit folgendem Inhalt:
Codeblock | ||
---|---|---|
| ||
echo %ALARM_PAYLOAD% >> C:\Users\user\Documents\test.txt |
Über den Play-Button neben dem jeweiligen Skript, kann es getestet werden. Alternativ können Sie auch die Option "Änderungen" aktivieren und einen bestehenden Einsatz jeweils bearbeiten, um die Skript-Auslösung zu simulieren.
Aktuell unterstützt Windows nur .Bat-Skripte während Linux wie gewohnt auch .sh-Skripte ausführen kann.
Verfügbare Variablen
ALARM_PAYLOAD
Um in den Skripten dynamisch vom erhaltenen Alarm Aktionen auszuführen, wird der vollständige Datensatz wie in der API-Dokumentation beschrieben als JSON in die Umgebungsvariable ALARM_PAYLOAD übergeben.
Mit dem folgenden Beispiel kann das gesamte JSON in eine Datei geschrieben werden, um die Eigenschaften zu testen.
Linux
|
Windows
|
Debugging / Logging
Um fehlgeschlagene Ausführungen auch im Nachgang überprüfen zu können, muss im Tab Fehleranalyse der Detailgrad auf Ereignisse gesetzt sein und "Logs als Datei speichern" aktiviert werden.
Dann findet sich im Log examplarisch folgende Ausgabe nach jeder Ausführung, um mögliche Probleme zu debuggen:
Codeblock | ||
---|---|---|
| ||
2024-05-14 14:33:06 [Monitor - App] info: [ScriptService] Execute script successfully: /Users/ich/Desktop/script.sh [
{
stdout: '\n',
stderr: '/Users/ich/Desktop/script.sh: line 5: jq: command not found\n'
exit_code: 0
}
] |
Beispiele
Linux: Einsatznummer und Stichwort in Datei schreiben
Codeblock | ||
---|---|---|
| ||
#!/bin/bash
set -e
ALARM_NUMBER=`echo "$ALARM_PAYLOAD" | jq '.number'`
ALARM_TITLE=`echo "$ALARM_PAYLOAD" | jq '.title'`
echo "$ALARM_NUMBER $ALARM_TITLE" >> ~/Desktop/script.log |
...