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

  1. Terminal öffnen
  2. Skript per Drag & Drop ins Terminal-Fenster ziehen und Enter drücken, bspw.

    /Users/ich/Desktop/script.sh
  3. 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
  4. Prüfen, ob das Skript wie erwartet ausgeführt wurde

Windows

  1. Doppelt auf die Datei klicken (Dateiendung bspw. .bat)
  2. 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

#!/bin/bash

echo "$ALARM_PAYLOAD" >> ~/Desktop/script.log

Windows

echo %ALARM_PAYLOAD% >> "%USERPROFILE%\Desktop\script.log"

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



  • Keine Stichwörter