VB Script
System-Skripte ermöglichen den Anwendern im REV Plus Server, Visual Basic Skripte auszuführen und damit benutzerspezifische Abläufe zu automatisieren. Typische Anwendungsfälle sind die automatische Anlage eines Einsatzes bei Eingang einer E-Mail, das Anstoßen von Alarmierungen oder das Nachführen von Statusinformationen aus externen Quellen.
Ein Skript wird in der REV Plus Verwaltung angelegt und an ein Event gebunden. Tritt dieses Event ein, stellt der Server die passenden Parameter (z. B. Absender, Status oder Textinhalt) bereit und führt das Skript aus. Mit den REV-spezifischen Klassen können Skripte gezielt Daten lesen, ändern oder Aktionen im System anstoßen.
Hinweis zur Umsetzung: Achten Sie auf eine saubere Eingangsprüfung der Parameter, nutzen Sie Debug-Logs für die Fehlersuche und prüfen Sie Versionshinweise, da manche Events oder Funktionen erst ab bestimmten Serverversionen verfügbar sind.
Events
Die Skripte werden in der REV Plus Verwaltung angelegt. Jedem Skript muss ein Event zugewiesen werden, bei dessen Eintritt das Skript ausgeführt wird.
Aktuell werden folgende Events unterstützt:
onEmail
Wird ausgelöst sobald eine E-Mail im REV System eingegangen ist.
| Name | Typ | Erklärung |
|---|---|---|
| datAbsender | String | Absenderadresse der E-Mail. |
| datEmpfaenger | String | Empfängeradresse der E-Mail. |
| datBetreff | String | Betreff der E-Mail. |
| datText | String | Textinhalt der E-Mail. |
| datHTML | String | HTML-Inhalt der E-Mail. |
Beispiel:
Data.WriteDebug "E-Mail von " & datAbsender & " Betreff: " & datBetreff
onZVEI
Wird ausgelöst sobald eine 5-Ton Alarmierung empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datKennung | String | 5-Ton Kennung der Alarmierung. (z.B. 55123) |
Beispiel:
Data.WriteDebug "ZVEI empfangen: " & datKennung
onFmsStatus
Wird ausgelöst sobald ein FMS Status empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datKennung | String | FMS Kennung. |
| datStatus | Integer | FMS Statuscode. (0-15) |
| datRichtung | Integer | Richtung (0 = Fahrzeug -> Leitstelle, 1 = Leitstelle -> Fahrzeug) |
Beispiel:
If datStatus = 3 Then
Data.WriteDebug "FMS Status 3 von " & datKennung
End If
onFmsText
Wird ausgelöst sobald eine FMS Textnachricht empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datKennung | String | FMS Kennung. |
| datText | String | Empfangener Text. |
Beispiel:
Data.WriteDebug "FMS Text von " & datKennung & ": " & datText
onHardwareState
Wird ausgelöst sobald ein Hardwareeingang oder -ausgang seinen Status geändert hat.
| Name | Typ | Erklärung |
|---|---|---|
| datIO | String | ID des Hardwareein- oder -ausgangs. |
| datState | String | Neuer Status (True/False). |
Beispiel:
Data.WriteDebug "IO " & datIO & " Status: " & datState
onPocsag
Wird ausgelöst sobald eine POCSAG Alarmierung empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datKennung | String | RIC/Kennung der Alarmierung. |
| datSubRic | String | SubRIC der Alarmierung. |
| datText | String | Empfangener Text. |
Beispiel:
Data.WriteDebug "POCSAG " & datKennung & "/" & datSubRic & ": " & datText
onSDSStatus
Wird ausgelöst sobald ein SDS Status empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datTSI | String | TSI des Absenders. |
| datStatus | String | Statuscode (numerischer Wert). |
Beispiel:
Data.WriteDebug "SDS Status von " & datTSI & ": " & datStatus
onTimer
Wird ausgelöst sobald die konfigurierte Zeit für das Skript vergangen ist.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Dim id
id = Einsatz.GetID()
Beispiel:
Data.WriteDebug "Timer-Event ausgelöst"
onNeueDatei
Wird ausgelöst sobald in dem konfigurierten Verzeichnis eine neue Datei erstellt wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datFileName | String | Dateiname oder Pfad der neuen Datei. |
Beispiel:
Data.WriteDebug "Neue Datei: " & datFileName
onInit
Wird ausgelöst sobald der REV Server gestartet wurde.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Data.WriteDebug "Server gestartet"
onNewEinsatz
Wird ausgelöst sobald ein neuer Einsatz angelegt wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatz | String | Einsatznummer des neuen Einsatzes. |
Beispiel:
Data.WriteDebug "Neuer Einsatz: " & datEinsatz
onTetraReport
Wird ausgelöst sobald sich der Übertragungsstatus einer TETRA Nachricht geändert hat.
| Name | Typ | Erklärung |
|---|---|---|
| datID | String | Interne ID der gesendeten Nachricht. |
| datTSI | String | TSI des Empfängers. |
| datStatus | String | Status der Übertragung ("Error", "Received", "Consumed"). |
Beispiel:
Data.WriteDebug "TETRA Report " & datID & ": " & datStatus
onAsteriskVariableChanged
Wird ausgelöst wenn im Commander Server eine Asterisk Variable geändert wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datName | String | Name der Variable. |
| datValue | String | Wert der Variable. |
Beispiel:
Data.WriteDebug "Asterisk: " & datName & " = " & datValue
onWebRequest
Wird ausgelöst wenn eine HTTP Anfrage an den internen Webserver unter der URL http://Serveradresse/scripts gestellt wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datURL | String | Aufgerufene URL. |
| datParameter | String | Parameterstring (nach dem ?). |
Beispiel:
Data.WriteDebug "WebRequest: " & datURL & "?" & datParameter
onSMS
Wird ausgelöst wenn eine SMS empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datRufnummer | String | Absender der SMS. |
| datText | String | Textinhalt der SMS. |
Beispiel:
Data.WriteDebug "SMS von " & datRufnummer & ": " & datText
onNewExternEinsatz
Wird ausgelöst wenn ein Einsatz extern angelegt wurde. (Über Schnittstellen oder Plugins)
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatz | String | EinsatzID. |
Beispiel:
Data.WriteDebug "Externer Einsatz neu: " & datEinsatz
onUpdateExternEinsatz
Wird ausgelöst wenn ein Einsatz extern aktualisiert wurde. (Über Schnittstellen oder Plugins)
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatz | String | EinsatzID. |
Beispiel:
Data.WriteDebug "Externer Einsatz aktualisiert: " & datEinsatz
onEinsatzStatusChange
Wird ausgelöst sobald der Status eines Einsatzes gewechselt wird.
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatz | String | EinsatzID. |
| datStatus | String | Neuer Status des Einsatzes. |
Beispiel:
Data.WriteDebug "Einsatz " & datEinsatz & " Status: " & datStatus
onSDSText
Wird ausgelöst sobald ein SDS Text empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datTSI | String | TSI des Absenders. |
| datText | String | Gesendeter Text. |
Beispiel:
Data.WriteDebug "SDS Text von " & datTSI & ": " & datText
onEinsatzmittelStatus
Wird ausgelöst sobald der Status eines Einsatzmittels geändert wurde. (Unabhängig von der technischen Quelle)
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatzmittel | String | ID des Einsatzmittels. |
| datStatus | String | Neuer Status des Einsatzmittels. |
Beispiel:
Data.WriteDebug "Einsatzmittel " & datEinsatzmittel & " Status: " & datStatus
onCalloutAlert
Wird ausgelöst sobald ein TETRA Callout Alert empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datSender | String | TSI des Absenders. |
| datReceiver | String | TSI des Empfängers. |
| datSeverity | Integer | Severity Level (numerischer Wert). |
| datCalloutNumber | Integer | Nummer des Callouts. |
| datText | String | Übermittelter Text. |
| datPreCodedStatus | Integer | Übermittelter Status (UInt32). |
Beispiel:
Data.WriteDebug "Callout " & datCalloutNumber & " von " & datSender
onCalloutTest
Wird ausgelöst sobald ein TETRA CalloutTest empfangen wurde.
| Name | Typ | Erklärung |
|---|---|---|
| datSender | String | TSI des Absenders. |
| datReceiver | String | TSI des Empfängers. |
| datCalloutNumber | Integer | Nummer des Callouts. |
| datText | String | Übermittelter Text. |
| datPreCodedStatus | Integer | Übermittelter Status (UInt32). |
Beispiel:
Data.WriteDebug "CalloutTest " & datCalloutNumber & " von " & datSender
onCalloutAlertSubaddress
Wird ausgelöst sobald ein TETRA Callout Alert mit Subadressen empfangen wurde. (z.B. Airbus P8gr oder Subadressierung nach BDBOS)
| Name | Typ | Erklärung |
|---|---|---|
| datSender | String | TSI des Absenders. |
| datReceiver | String | TSI des Empfängers. |
| datSeverity | Integer | Severity Level (numerischer Wert). |
| datCalloutNumber | Integer | Nummer des Callouts. |
| datText | String | Übermittelter Text. |
| datPreCodedStatus | Integer | Übermittelter Status (UInt32). |
| datSubadressen | String | Kommaseparierte Liste der Subadressen. |
Beispiel:
Data.WriteDebug "Callout Subadressen: " & datSubadressen
onGltMeldung
Wird ausgelöst sobald eine Meldung der Gebäudeleittechnik ihren Zustand geändert hat
| Name | Typ | Erklärung |
|---|---|---|
| datMeldung | Integer | ID der Meldung. |
| datBezeichnung | String | Bezeichnung der Meldung. |
| datAktiv | Boolean | Meldung aktiv. |
| datZustand | String | Zustandstext der Meldung. |
| datNotification | String | Notification Text für den Zustand. |
| datLevel | Integer | Numerisches Level (0 = Info, 1 = Warnung, 2 = Alarm). |
Beispiel:
Data.WriteDebug "GLT " & datBezeichnung & " Aktiv: " & datAktiv
onCalloutAvailability
Wird ausgelöst sobald eine Verfügbarkeitsmelder eines TETRA Pagers empfangen wurde
| Name | Typ | Erklärung |
|---|---|---|
| datSender | String | TSI des Absenders. |
| datReceiver | String | TSI des Empfängers. |
| datAvailability | String | Numerischer Verfügbarkeitswert. |
Beispiel:
Data.WriteDebug "Callout Availability: " & datAvailability
onSireneStoerung
Wird ausgelöst wenn die Sirene eine Störung meldet
| Name | Typ | Erklärung |
|---|---|---|
| datSirene | String | ID der Sirene (Datenbank). |
| datStoerung | String | Name der Störung. |
| datBehoben | String | True, wenn behoben, False wenn neu. |
| datSireneName | String | Name der Sirene (Datenbank). |
Beispiel:
Data.WriteDebug "Sirene Störung " & datSirene & ": " & datStoerung
onSireneAlarm
Wird ausgelöst wenn eine Sirene eine Alarmauslösung meldet
| Name | Typ | Erklärung |
|---|---|---|
| datSirene | String | ID der Sirene (Datenbank). |
| datSignal | String | Ausgelöstes Signal oder Ruhe (mögliche Werte: Ruhe, Warnung, Entwarnung, Feueralarm). |
| datSireneName | String | Name der Sirene (Datenbank). |
Beispiel:
Data.WriteDebug "Sirene Alarm " & datSirene & ": " & datSignal
onOneClickAction
Wird ausgelöst, wenn eine One-Click-Aktion im System ausgeführt wird.
| Name | Typ | Erklärung |
|---|---|---|
| datEinsatz | String | EinsatzID. |
Beispiel:
Data.WriteDebug "One-Click Einsatz: " & datEinsatz
onRevMobileAvailability
Wird ausgelöst, wenn eine Verfügbarkeitsmeldung aus REV Mobile eingeht.
| Name | Typ | Erklärung |
|---|---|---|
| datSender | String | Absenderkennung. |
| datAvailability | String | Numerischer Verfügbarkeitswert. |
Beispiel:
Data.WriteDebug "REV Mobile Availability von " & datSender & ": " & datAvailability
onGmaMeldung
Wird ausgelöst, wenn eine GMA/BMA-Meldung übermittelt wird.
| Name | Typ | Erklärung |
|---|---|---|
| datGruppeId | Integer | Interne Datenbank ID der ausgelösten Gruppe oder Null wenn keine Gruppe verfügbar |
| datGruppe | Integer | Nummer der Meldergruppe der GMA oder Null wenn keine Gruppe verfügbar |
| datMelderId | Integer | Interne Datenbank ID des ausgelösten Melders oder Null wenn keine Gruppe verfügbar |
| datMelder | Integer | Nummer des Melders der GMA oder Null wenn keine Gruppe verfügbar |
| datZustand | Boolean | True = Meldung kommt, False = Meldung geht |
| datBmaName | String | Name der BMA. |
| datLinieName | String | Name der Linie. |
| datMelderName | String | Name des Melders. |
| datMeldungId | Integer | ID der Meldungsart |
| datMeldungName | String | Bezeichnung der Meldungsart aus der Datenbank |
Beispiel:
Data.WriteDebug "GMA " & datBmaName & " / " & datMelderName & " Zustand: " & datZustand
REV spezifische Funktionen
Neben den Standard VBScript Funktionen und Klassen stehen REV Plus spezifische Klassen zur Verfügung. Mithilfe dieser Funktionen können direkte Eingriffe in das System vorgenommen werden. Daher ist hierbei genau zu Überlegen, welche Funktionen verwendet werden sollten.
Data
Die Klasse Data stellt sonstige Funktionen sowie den Zugriff auf den Scriptspeicher im REV Plus Server zur Verfügung.
Data.Alarmspeicher
Gibt alle Alarmierungen aus dem angegebenen Zeitraum zurück.
| Name | Typ | Erklärung |
|---|---|---|
| sekunden | Integer | Zeitraum in Sekunden, für den Alarmierungen zurückgegeben werden sollen. |
Beispiel:
Dim alarme
Set alarme = Data.Alarmspeicher(300)
Data.Lock
Setzt ein named Lock, um parallele Skriptzugriffe zu synchronisieren.
| Name | Typ | Erklärung |
|---|---|---|
| mutexName | String | Name des Locks. |
Beispiel:
Data.Lock "my-script-lock"
Data.Unlock
Gibt ein vorher gesetztes Lock wieder frei.
| Name | Typ | Erklärung |
|---|---|---|
| mutexName | String | Name des Locks. |
Beispiel:
Data.Unlock "my-script-lock"
Data.RevPagerInformation
Sendet eine Information an eine REV Pager Gruppe.
| Name | Typ | Erklärung |
|---|---|---|
| group | String | Gruppen-ID. |
| msg | String | Nachrichtentext. |
Beispiel:
Data.RevPagerInformation "3", "Info an Gruppe 3"
Data.RevPagerInformation
Sendet eine Information an eine REV Pager Gruppe mit Alarmstufe.
| Name | Typ | Erklärung |
|---|---|---|
| group | String | Gruppen-ID. |
| msg | String | Nachrichtentext. |
| alarmstufe | String | Alarmstufe (numerischer Wert). |
Beispiel:
Data.RevPagerInformation "3", "Info mit Alarmstufe", "2"
Data.WriteDebug
Schreibt eine Debug Meldung in die Log Datei.
| Name | Typ | Erklärung |
|---|---|---|
| line | String | Debug-Text. |
Beispiel:
Data.WriteDebug "Debug-Ausgabe"
Data.SendTetraNbx
Übermittelt einen Text an ein TETRAcontrol NBX.
| Name | Typ | Erklärung |
|---|---|---|
| einsatzmittel | String | Einsatzmittel-ID. |
| text | String | Zu sendender Text. |
Beispiel:
Data.SendTetraNbx "12", "Test an NBX"
Data.ExecuteURL
Ruft eine URL auf und liefert den Inhalt der URL zurück.
| Name | Typ | Erklärung |
|---|---|---|
| URL | String | Ziel-URL. |
| Parameter | String | Parameterstring (wird an die URL angehängt). |
| Async | Boolean | Asynchroner Aufruf. |
Beispiel:
Dim result
result = Data.ExecuteURL("http://example.local/endpoint", "a=1&b=2", False)
Data.SendSMS
Sendet eine SMS.
| Name | Typ | Erklärung |
|---|---|---|
| Telefonnummer | String | Zielrufnummer. |
| Text | String | Nachrichtentext. |
Beispiel:
Data.SendSMS "+491701234567", "Test-SMS"
Data.SMSReceived
Übergibt eine empfangene SMS in das System.
| Name | Typ | Erklärung |
|---|---|---|
| Telefonnummer | String | Absendernummer. |
| Text | String | Nachrichtentext. |
Beispiel:
Data.SMSReceived "+491701234567", "Eingehende SMS"
Data.SendMail
Sendet eine E-Mail.
| Name | Typ | Erklärung |
|---|---|---|
| receiver | String | Empfängeradresse. |
| receiverName | String | Anzeigename des Empfängers. |
| betreff | String | Betreff. |
| message | String | Nachrichtentext. |
Beispiel:
Data.SendMail "max@example.com", "Max", "Betreff", "Hallo aus dem Skript"
Data.SendMailHTML
Sendet eine E-Mail im HTML Format.
| Name | Typ | Erklärung |
|---|---|---|
| receiver | String | Empfängeradresse. |
| receiverName | String | Anzeigename des Empfängers. |
| betreff | String | Betreff. |
| message | String | Nachrichtentext (HTML). |
Beispiel:
Data.SendMailHTML "max@example.com", "Max", "Betreff", "<b>HTML</b>"
Data.WakeOnLAN
Weckt einen PC über die WakeOnLan Funktion auf.
| Name | Typ | Erklärung |
|---|---|---|
| NIC | String | MAC-Adresse. |
| IP | String | Ziel-IP. |
| SubnetMask | String | Subnetzmaske. |
Beispiel:
Data.WakeOnLAN "001E8CC65CB4", "192.168.1.3", "255.255.255.0"
Data.Save
Speichert einen Datensatz im lokalen Skriptspeicher.
| Name | Typ | Erklärung |
|---|---|---|
| ID | String | Schlüssel des Datensatzes. |
| Value | String | Zu speichernder Wert. |
Beispiel:
Data.Save "letzterEinsatz", "12345"
Data.Sleep
Pausiert die Skriptausführung für die angegebene Zeit.
| Name | Typ | Erklärung |
|---|---|---|
| seconds | Integer | Dauer in Sekunden. |
Beispiel:
Data.Sleep 2
Data.Load
Lädt einen Datensatz aus dem lokalen Skriptspeicher.
| Name | Typ | Erklärung |
|---|---|---|
| ID | String | Schlüssel des Datensatzes. |
Beispiel:
Dim wert
wert = Data.Load("letzterEinsatz")
Data.TagebuchAdd
Fügt einen Eintrag in das Einsatztagebuch ein.
| Name | Typ | Erklärung |
|---|---|---|
| Eintrag | String | Tagebucheintrag. |
Beispiel:
Data.TagebuchAdd "Eintrag aus Skript"
Tetra
Die Klasse Tetra stellt Funktionen für die neue TETRA Schnittstelle zur Verfügung.
Tetra.SetGroup
Ändert die Gruppe eines angeschlossenen TETRA Funkgerätes.
| Name | Typ | Erklärung |
|---|---|---|
| fugid | String | FugID des Endgeräts. |
| groupid | String | GroupID der Zielgruppe. |
Beispiel:
Tetra.SetGroup "101", "2001"
Tetra.SendSDSText
Sendet einen SDS Text an eine TSI.
| Name | Typ | Erklärung |
|---|---|---|
| tsi | String | TSI des Empfängers. |
| message | String | Nachrichtentext. |
| reportConsumed | String | Empfangsbestätigung "Consumed" (True/False). |
| reportReceived | String | Empfangsbestätigung "Received" (True/False). |
Beispiel:
Tetra.SendSDSText "1234567", "Text", "True", "True"
Tetra.SendFlashSDSText
Sendet einen Flash-SDS Text an eine TSI.
| Name | Typ | Erklärung |
|---|---|---|
| tsi | String | TSI des Empfängers. |
| message | String | Nachrichtentext. |
| reportConsumed | String | Empfangsbestätigung "Consumed" (True/False). |
| reportReceived | String | Empfangsbestätigung "Received" (True/False). |
Beispiel:
Tetra.SendFlashSDSText "1234567", "Flash", "True", "True"
Tetra.SendHMDText
Sendet einen HomeModeDisplay Text an eine TSI.
| Name | Typ | Erklärung |
|---|---|---|
| tsi | String | TSI des Empfängers. |
| message | String | Nachrichtentext. |
| reportConsumed | String | Empfangsbestätigung "Consumed" (True/False). |
| reportReceived | String | Empfangsbestätigung "Received" (True/False). |
Beispiel:
Tetra.SendHMDText "1234567", "HMD", "False", "True"
Tetra.SendSDSStatus
Sendet einen TETRA Status an eine TSI.
| Name | Typ | Erklärung |
|---|---|---|
| tsi | String | TSI des Empfängers. |
| status | String | Statuscode (numerischer Wert). |
Beispiel:
Tetra.SendSDSStatus "1234567", "5"
Tetra.RCChangeGroup
Wechselt ein Endgerät in die angegebene Gruppe.
| Name | Typ | Erklärung |
|---|---|---|
| endgeraet | String | Endgerät (Datenbank-ID). |
| groupId | String | Zielgruppe (Datenbank-ID). |
Beispiel:
Tetra.RCChangeGroup "300", "4000"
Haustechnik
Die Klasse Haustechnik stellt Funktionen für die Anbindung der Hardwaresteuerung zur Verfügung.
Haustechnik.Setzen
Setzt den Ausgang auf den angegebenen Status.
| Name | Typ | Erklärung |
|---|---|---|
| AnschlussID | String | Anschluss-ID. |
| Status | String | Statuswert (0 oder 1). |
Beispiel:
Haustechnik.Setzen "12", "1"
Haustechnik.Schalten
Schaltet einen Ausgang um.
| Name | Typ | Erklärung |
|---|---|---|
| AnschlussID | String | Anschluss-ID. |
Beispiel:
Haustechnik.Schalten "12"
Haustechnik.Status
Fragt den Status eines Ausgangs ab.
| Name | Typ | Erklärung |
|---|---|---|
| AnschlussID | String | Anschluss-ID. |
Beispiel:
Dim state
state = Haustechnik.Status("12")
Analog
Die Klasse Analog stellt Funktionen für die Analogfunkschnittstelle zur Verfügung.
Analog.AlarmZVEI
Löst eine ZVEI Alarmierung aus.
| Name | Typ | Erklärung |
|---|---|---|
| zvei | String | ZVEI Kennung. |
| kanal | String | Kanal. |
Beispiel:
Analog.AlarmZVEI "55123", "1"
ELA
Die Klasse ELA stellt Funktionen für die Steuerung der ELA Module zur Verfügung.
ELA.NeuAlarm
Löst eine automatische Alarmdurchsage auf der ELA aus.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatz | String | Einsatz-ID. |
| elaID | String | ELA-ID. |
| Alarmkreise | String[] | Liste der Alarmkreise (IDs). |
Beispiel:
Dim kreise
kreise = Array("1", "2")
ELA.NeuAlarm "12345", "5", kreise
ELA.PlaySound
Spielt eine Sounddatei auf der gewählten ELA ab.
| Name | Typ | Erklärung |
|---|---|---|
| elaID | String | ELA-ID. |
| soundName | String | Name der Sounddatei. |
Beispiel:
ELA.PlaySound "5", "alarm.wav"
ELA.Warten
Wartet die angegebene Zeit in Sekunden.
| Name | Typ | Erklärung |
|---|---|---|
| Zeit | String | Wartezeit in Sekunden. |
Beispiel:
ELA.Warten "5"
Commander
Die Klasse Commander stellt Funktionen für die Steuerung des Commander Moduls zur Verfügung.
Commander.SetVar
Setzt eine Asteriskvariable auf den angegebenen Wert.
| Name | Typ | Erklärung |
|---|---|---|
| name | String | Name der Variable. |
| value | String | Wert der Variable. |
Beispiel:
Commander.SetVar "CALLERID", "1234"
RevPager
Die Klasse RevPager stellt Funktionen für die Nachrichtenübermittlung an den REV Pager zur Verfügung.
RevPager.SendMessage
Sendet eine Nachricht an einen oder mehrere Empfänger.
| Name | Typ | Erklärung |
|---|---|---|
| receiver | String | Empfängerliste (durch Komma getrennt). |
| text | String | Nachrichtentext. |
Beispiel:
RevPager.SendMessage "user1@rev.local,user2@rev.local", "Info"
Einsatz
Die Klasse Einsatz stellt Funktionen für die Bearbeitung der Einsatzdaten zur Verfügung. Alle Funktionen wirken auf den aktuell im Skript bearbeiteten Einsatz. Dieser wird entweder mit Einsatz.Edit geöffnet oder mit Einsatz.Add erstellt und geöffnet.
Einsatz.GetID
Gibt die ID des aktuell ausgewählten Einsatzes zurück.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Einsatz.AddTask
Fügt dem aktuell geöffneten Einsatz einen Task hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| TaskID | String | Task-ID. |
Beispiel:
Einsatz.AddTask "10"
Einsatz.AddSchleife
Fügt eine Alarmschleife dem aktuellen Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| SchleifeID | String | Schleifen-ID. |
Beispiel:
Einsatz.AddSchleife "3"
Einsatz.FahrzeugeAufWache
Setzt alle Fahrzeuge der angegebenen Wache in den Status 2.
| Name | Typ | Erklärung |
|---|---|---|
| Wache | String | Wache-ID. |
Beispiel:
Einsatz.FahrzeugeAufWache "2"
Einsatz.SucheEinsatz
Sucht und öffnet einen Einsatz entsprechend dem angegebenen Feldwert.
| Name | Typ | Erklärung |
|---|---|---|
| Feld | String | Feldname. |
| Wert | String | Feldwert. |
Beispiel:
Dim einsatzId
einsatzId = Einsatz.SucheEinsatz("stichwort", "B1")
Einsatz.SucheEinsatzAktiv
Sucht und öffnet einen aktiven, nicht beendeten Einsatz entsprechend dem angegebenen Feldwert.
| Name | Typ | Erklärung |
|---|---|---|
| Feld | String | Feldname. |
| Wert | String | Feldwert. |
Beispiel:
Dim einsatzId
einsatzId = Einsatz.SucheEinsatzAktiv("strasse", "Hauptstrasse")
Einsatz.FahrzeugIstEinsatz
Gibt zurück, ob das angegebene Einsatzmittel im aktuellen Einsatz ist.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
Beispiel:
Dim istImEinsatz
istImEinsatz = Einsatz.FahrzeugIstEinsatz("12")
Einsatz.FahrzeugStatus
Gibt den Status des angegebenen Einsatzmittels zurück.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
Beispiel:
Dim status
status = Einsatz.FahrzeugStatus("12")
Einsatz.OrganisationIstEinsatz
Gibt zurück, ob die angegebene Organisation im aktuellen Einsatz ist.
| Name | Typ | Erklärung |
|---|---|---|
| organisation | String | Organisations-ID. |
Beispiel:
Dim istDabei
istDabei = Einsatz.OrganisationIstEinsatz("4")
Einsatz.Mail
Sendet den geöffneten Einsatz als E-Mail mit der angegebenen Vorlage.
| Name | Typ | Erklärung |
|---|---|---|
| Vorlage | String | Vorlagen-ID. |
| Receiver | String | Empfängeradresse. |
| ReceiverName | String | Anzeigename des Empfängers. |
| Anzahl | String | Anzahl der E-Mails. |
| Vermerk | String | Vermerk. |
Beispiel:
Einsatz.Mail "7", "max@example.com", "Max", "1", "Automatisch"
Einsatz.Drucken
Druckt den geöffneten Einsatz mit der angegebenen Vorlage.
| Name | Typ | Erklärung |
|---|---|---|
| Vorlage | String | Vorlagen-ID. |
| Drucker | String | Druckername. |
| Anzahl | String | Anzahl der Ausdrucke. |
| Vermerk | String | Vermerk. |
Beispiel:
Einsatz.Drucken "7", "Drucker-1", "1", "Automatisch"
Einsatz.Fax
Faxt den geöffneten Einsatz mit der angegebenen Vorlage.
| Name | Typ | Erklärung |
|---|---|---|
| Vorlage | String | Vorlagen-ID. |
| Faxnummer | String | Faxnummer. |
| Anzahl | String | Anzahl der Faxe. |
| Vermerk | String | Vermerk. |
Beispiel:
Einsatz.Fax "7", "+49221123456", "1", "Automatisch"
Einsatz.ZVEI
Löst eine ZVEI Alarmierung aus.
| Name | Typ | Erklärung |
|---|---|---|
| Schleife | String | Schleifen-ID. |
| Kanal | String | Kanal. |
Beispiel:
Einsatz.ZVEI "5", "1"
Einsatz.RunVorschlag
Führt den Vorschlag im aktuell geöffneten Einsatz aus.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Einsatz.RunVorschlag
Einsatz.Dispo
Fügt das angegebene Einsatzmittel dem aktuell geöffneten Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| FahrzeugID | String | Einsatzmittel-ID. |
Beispiel:
Einsatz.Dispo "12"
Einsatz.Alarm
Führt die Alarmierung für den aktuell geöffneten Einsatz aus.
| Name | Typ | Erklärung |
|---|---|---|
| ignoreTasks | String | Kommagetrennte Liste zu ignorierender Task-Typen. |
Beispiel:
Einsatz.Alarm "WacheELA,SendMail"
Einsatz.Add
Erstellt einen neuen Einsatz und öffnet diesen.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Einsatz.Add
Einsatz.Edit
Öffnet den Einsatz mit der angegebenen ID.
| Name | Typ | Erklärung |
|---|---|---|
| sEinsatzID | String | Einsatz-ID. |
Beispiel:
Einsatz.Edit "12345"
Einsatz.SetData
Ändert das angegebene Feld auf den neuen Wert im aktuell geöffneten Einsatz.
| Name | Typ | Erklärung |
|---|---|---|
| Feld | String | Feldname. |
| Wert | String | Neuer Wert. |
Beispiel:
Einsatz.SetData "strasse", "Hauptstrasse"
Einsatz.GetData
Gibt den Wert eines Einsatzfeldes zurück.
| Name | Typ | Erklärung |
|---|---|---|
| Feld | String | Feldname. |
Beispiel:
Dim value
value = Einsatz.GetData("strasse")
Einsatz.Beenden
Beendet den aktuell geöffneten Einsatz.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Einsatz.Beenden
Einsatz.SucheStichwort
Sucht ein Stichwort anhand von Einsatzart und Indikation und fügt es dem Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzart | String | Einsatzart. |
| Indikation | String | Indikation. |
Beispiel:
Einsatz.SucheStichwort "Brand", "Wohnung"
Einsatz.SucheStichwortKlartext
Sucht ein Stichwort anhand des Klartextes und fügt es dem Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| Stichwort | String | Stichwort im Klartext. |
Beispiel:
Einsatz.SucheStichwortKlartext "BMA"
Einsatz.SucheStichwortGruppe
Sucht eine Stichwortgruppe anhand des Gruppennamens und fügt sie dem Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| StichwortGruppe | String | Gruppenname. |
Beispiel:
Einsatz.SucheStichwortGruppe "Standard"
Einsatz.SucheObjektName
Sucht ein Objekt anhand des Namens und fügt es dem Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| Objektname | String | Objektname. |
Beispiel:
Einsatz.SucheObjektName "Schule"
Einsatz.SucheObjekt
Sucht ein Objekt anhand der Adresse und fügt es dem Einsatz hinzu.
| Name | Typ | Erklärung |
|---|---|---|
| Stadt | String | Stadt. |
| Stadtteil | String | Stadtteil. |
| Strasse | String | Straße. |
| HNR | String | Hausnummer. |
| Objektname | String | Objektname. |
Beispiel:
Einsatz.SucheObjekt "Musterstadt", "Zentrum", "Hauptstrasse", "10", "Schule"
Einsatz.SetEinsatzmittelStatus
Setzt den Status für ein Einsatzmittel auf den angegebenen Wert.
| Name | Typ | Erklärung |
|---|---|---|
| EinsatzmittelID | String | Einsatzmittel-ID. |
| Status | String | Status (numerischer Wert). |
Beispiel:
Einsatz.SetEinsatzmittelStatus "12", "3"
Einsatz.AddCallout
Verknüpft einen eingegangenen Callout Alarm mit dem aktuellen Einsatz.
| Name | Typ | Erklärung |
|---|---|---|
| calloutNumber | String | Callout-Nummer. |
Beispiel:
Einsatz.AddCallout "1234"
Einsatz.StrasseUndHausnummerExtrahieren
Versucht Straße und Hausnummer syntaktisch zu trennen und schreibt das Ergebnis in die Datenfelder.
| Name | Typ | Erklärung |
|---|---|---|
| text | String | Eingabetext für Straße und Hausnummer. |
Beispiel:
Einsatz.StrasseUndHausnummerExtrahieren "Hauptstrasse 10"
Einsatz.Abbruch
Setzt den Einsatz auf "abgebrochen".
| Name | Typ | Erklärung |
|---|---|---|
| Meldungstext | String | Meldungstext. |
Beispiel:
Einsatz.Abbruch "Fehlalarm"
Einsatz.KeineWeiterenKraefte
Setzt den Einsatz auf "Keine weiteren Kräfte".
| Name | Typ | Erklärung |
|---|---|---|
| Meldungstext | String | Meldungstext. |
Beispiel:
Einsatz.KeineWeiterenKraefte "Lage unter Kontrolle"
Einsatz.HausnummerExtrahieren
Extrahiert eine Hausnummer aus dem angegebenen Text.
| Name | Typ | Erklärung |
|---|---|---|
| text | String | Eingabetext. |
Beispiel:
Dim hnr
hnr = Einsatz.HausnummerExtrahieren("Hauptstrasse 10")
Einsatz.StrasseExtrahieren
Extrahiert eine Straße aus dem angegebenen Text.
| Name | Typ | Erklärung |
|---|---|---|
| text | String | Eingabetext. |
Beispiel:
Dim strasse
strasse = Einsatz.StrasseExtrahieren("Hauptstrasse 10")
Einsatz.ExtractStrasseUndHausnummer
Extrahiert Straße und Hausnummer aus dem angegebenen Text.
| Name | Typ | Erklärung |
|---|---|---|
| text | String | Eingabetext. |
Beispiel:
Dim parts
parts = Einsatz.ExtractStrasseUndHausnummer("Hauptstrasse 10")
Einsatz-Task Typen
Es ist möglich beim Alarmieren eines Einsatzes über das Skript bestimmte Task-Typen zu ignorieren. So können beispielsweise bei bestimmten Skripten verhindert werden, dass Alarmschleifen ausgelöst werden. Mehrere Scripttypen können, getrennt mittels Komma, angegeben werden. Folgende Scripttypen sind möglich:
- EmittelChangeGroup
- EmittelSchleife
- Deprecated_TabletSichtung
- WacheELA
- WacheFax
- OrgaAbschlussMail
- OrgaAbschlussFax
- OrgaFax
- OrgaDruck
- ZugSchleife
- EmittelTablet
- EmittelFax
- EmittelZVEI
- EmittelEmail
- EmittelSMS
- EmittelFMSStatus
- EmittelFMSText
- EmittelStatus
- EmittelSDS
- EmittelPrint
- SendMail
- SendFax
- PrintDocument
- RunApplication
- Call
- SendSMS
- SendGroupSMS
- SendFMSText
- Cityruf
- RunLocalFile
- GroupAlarm
- eBOS
- SDSText
- SDSStatus
- PrintUserPDF
- IOAusgang
- RunScript
Beispielbefehl, der das Senden von E-Mails und das Auslösen der Wachen ELA verhindert:
Einsatz.Alarm "WacheELA,SendMail"
Einsatzmittel
Die Klasse Einsatzmittel stellt Funktionen für die Bearbeitung von Einsatzmitteln zur Verfügung.
Einsatzmittel.StatusSetzen
Setzt den Status eines Einsatzmittels.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
| status | String | Status (1-8). |
Beispiel:
Einsatzmittel.StatusSetzen "12", "3"
Einsatzmittel.Status
Gibt den Status eines Einsatzmittels zurück.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
Beispiel:
Dim emStatus
emStatus = Einsatzmittel.Status("12")
Einsatzmittel.TorAuf
Öffnet das Tor für das angegebene Einsatzmittel.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
Beispiel:
Einsatzmittel.TorAuf "12"
Einsatzmittel.TorZu
Schließt das Tor für das angegebene Einsatzmittel.
| Name | Typ | Erklärung |
|---|---|---|
| Einsatzmittel | String | Einsatzmittel-ID. |
Beispiel:
Einsatzmittel.TorZu "12"
BMA
Die Klasse BMA stellt Funktionen für die Auslösung von Brandmeldeanlagen im System zur Verfügung. Diese Klasse wurde in der REV+ Version 2.1.44 eingeführt. Die BMA, Linien und Melder Parameter sind die entsprechenden IDs der Datenbank. Der Parameter Meldung ist ebenfalls die ID der Meldung aus der Datenbank.
BMA.AlarmBMA
Löst eine BMA aus mit der angegebenen Meldungs-ID.
| Name | Typ | Erklärung |
|---|---|---|
| bma | String | BMA-ID. |
| meldung | String | Meldungs-ID. |
Beispiel:
BMA.AlarmBMA "1", "2"
BMA.AlarmLinie
Löst eine BMA Linie aus mit der angegebenen Meldungs-ID.
| Name | Typ | Erklärung |
|---|---|---|
| linie | String | Linien-ID. |
| meldung | String | Meldungs-ID. |
Beispiel:
BMA.AlarmLinie "3", "2"
BMA.AlarmMelder
Löst einen BMA Melder aus mit der angegebenen Meldungs-ID.
| Name | Typ | Erklärung |
|---|---|---|
| melder | String | Melder-ID. |
| meldung | String | Meldungs-ID. |
Beispiel:
BMA.AlarmMelder "5", "2"
BMA.ResetBMA
Setzt eine BMA zurück.
| Name | Typ | Erklärung |
|---|---|---|
| bma | String | BMA-ID. |
Beispiel:
BMA.ResetBMA "1"
BMA.ResetLinie
Setzt eine BMA Linie zurück.
| Name | Typ | Erklärung |
|---|---|---|
| linie | String | Linien-ID. |
Beispiel:
BMA.ResetLinie "3"
BMA.ResetMelder
Setzt einen BMA Melder zurück.
| Name | Typ | Erklärung |
|---|---|---|
| melder | String | Melder-ID. |
Beispiel:
BMA.ResetMelder "5"
Configuration
Die Klasse Configuration stellt Funktionen für das Ändern von Einstellungswerten oder das Laden von Einstellungs-Sets bzw. Zurücksetzen der Standardkonfiguration, zur Verfügung. Diese Methoden stehen ab der Serverversion 2.10.136 zur Verfügung.
Configuration.Set
Setzt den Einstellungsparameter auf den angegebenen Wert.
| Name | Typ | Erklärung |
|---|---|---|
| name | String | Name des Parameters. |
| value | String | Neuer Wert. |
Beispiel:
Configuration.Set "system.name", "REV"
Configuration.SetDefault
Setzt den Standardwert für den Einstellungsparameter.
| Name | Typ | Erklärung |
|---|---|---|
| name | String | Name des Parameters. |
| value | String | Standardwert. |
Beispiel:
Configuration.SetDefault "system.name", "REV"
Configuration.Get
Gibt den aktuellen Wert für den Einstellungsparameter zurück.
| Name | Typ | Erklärung |
|---|---|---|
| name | String | Name des Parameters. |
Beispiel:
Dim current
current = Configuration.Get("system.name")
Configuration.ConfigurationSetLoad
Lädt das Einstellungs-Set mit der angegebenen ID.
| Name | Typ | Erklärung |
|---|---|---|
| id | Integer | ID des Einstellungs-Sets (Datenbank). |
Beispiel:
Configuration.ConfigurationSetLoad 2
Configuration.ConfigurationSetRestore
Setzt alle Einstellungsparameter wieder auf den Standardwert zurück.
| Name | Typ | Erklärung |
|---|---|---|
| - | - | Keine Parameter. |
Beispiel:
Configuration.ConfigurationSetRestore
SIS
Die Klasse SIS stellt Funktionen für die Ansteuerung des Stabs-Informations-Systems zur Verfügung. Diese Methoden stehen ab der Serverversion 2.10.136 zur Verfügung.
SIS.DisableMonitor
Deaktiviert den SIS Modus für den Monitor mit der angegebenen ID.
| Name | Typ | Erklärung |
|---|---|---|
| monitor | Integer | Monitor-ID. |
Beispiel:
SIS.DisableMonitor 1
SIS.EnableMonitor
Aktiviert den angegebenen SIS Modus für den Monitor mit der angegebenen ID.
| Name | Typ | Erklärung |
|---|---|---|
| monitor | Integer | Monitor-ID. |
| modul | String | Name des SIS Modus. |
Beispiel:
SIS.EnableMonitor 1, "Lageprotokoll"
Mögliche SIS Modi sind aktuell
- Lageprotokoll
- Einsatztagebuch
- Aufträge
- Kanban-Board
- Organigramm
- Uhr
- Lagestatistik
- Unwettereinsätze
- Einsatzmittel mit Einsatz
- Einsatzmittel nach Abschnitt
- Wetter
- Belegsystem Eingang
- Belegsystem Ausgang
- Lagekarte
Beispiele
Dieser Abschnitt enthält Beispielskripte, die für die Erstellung eigener Skripte als Vorlage oder Ideengeber dienen können.
Starten eines PCs bei Status 3
Dieses Skript startet einen PC nach empfangen des Status 3 eines Fahrzeuges. (Hier z.B. ein ELW) "67501011" ist dabei die FMS Kennung.
Auszuwählendes Event: onFMSStatus
If datKennung = "67501011" And datStatus = "3" Then
'PC im ELW Booten bei Status 3
Data.WakeOnLAN "001E8CC65CB4", "192.168.1.3", "255.255.255.0"
End If
FMS Text auswerten
Dieses Skript wertet einen FMS Text aus und erzeugt daraus einen Einsatz. In diesem Beispiel wird angenommen, dass die Datenfelder mit einem Stern * getrennt sind. z.B. Goethestraße5107*Frankfurt
Auszuwählendes Event: onFMSText
If datKennung = "67501000" Then
EinsatzID = Einsatz.Add()
Felder = Split(datText, "*")
Einsatz.SetData "strasse", Felder(0)
Einsatz.SetData "hnr", Felder(3)
Einsatz.SetData "eindikation", Felder(1)
Einsatz.SetData "stadt", Felder(2)
Einsatz.RunVorschlag
Einsatz.Alarm
End If
Alarmspeicher
Das folgende Skript fragt den Alarmspeicher ab und gibt alle Alarmierungen der letzten 5 Minuten in der Debug Log aus.
Dim alarme
Set alarme = Data.Alarmspeicher(360)
Data.WriteDebug "Anzahl Alarmierungen: " & alarme.Count
For Each ele in alarme
Data.WriteDebug "Schleife: " & ele
Next