Seit dem Update auf die Version 2.0.0 mehrere Skripte eingebunden und abhängig vom Ereignis ausgeführt werden.
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.
/Users/ich/Desktop/script.sh
Falls das Skript nicht ausführbar ist (Fehler permission denied), können Sie es wiefolgt ausführbar machen
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.
Ü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:
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
#!/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