Zum Hauptinhalt springen

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.

NameTypErklärung
datAbsenderStringAbsenderadresse der E-Mail.
datEmpfaengerStringEmpfängeradresse der E-Mail.
datBetreffStringBetreff der E-Mail.
datTextStringTextinhalt der E-Mail.
datHTMLStringHTML-Inhalt der E-Mail.

Beispiel:

Data.WriteDebug "E-Mail von " & datAbsender & " Betreff: " & datBetreff

onZVEI

Wird ausgelöst sobald eine 5-Ton Alarmierung empfangen wurde.

NameTypErklärung
datKennungString5-Ton Kennung der Alarmierung. (z.B. 55123)

Beispiel:

Data.WriteDebug "ZVEI empfangen: " & datKennung

onFmsStatus

Wird ausgelöst sobald ein FMS Status empfangen wurde.

NameTypErklärung
datKennungStringFMS Kennung.
datStatusIntegerFMS Statuscode. (0-15)
datRichtungIntegerRichtung (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.

NameTypErklärung
datKennungStringFMS Kennung.
datTextStringEmpfangener Text.

Beispiel:

Data.WriteDebug "FMS Text von " & datKennung & ": " & datText

onHardwareState

Wird ausgelöst sobald ein Hardwareeingang oder -ausgang seinen Status geändert hat.

NameTypErklärung
datIOStringID des Hardwareein- oder -ausgangs.
datStateStringNeuer Status (True/False).

Beispiel:

Data.WriteDebug "IO " & datIO & " Status: " & datState

onPocsag

Wird ausgelöst sobald eine POCSAG Alarmierung empfangen wurde.

NameTypErklärung
datKennungStringRIC/Kennung der Alarmierung.
datSubRicStringSubRIC der Alarmierung.
datTextStringEmpfangener Text.

Beispiel:

Data.WriteDebug "POCSAG " & datKennung & "/" & datSubRic & ": " & datText

onSDSStatus

Wird ausgelöst sobald ein SDS Status empfangen wurde.

NameTypErklärung
datTSIStringTSI des Absenders.
datStatusStringStatuscode (numerischer Wert).

Beispiel:

Data.WriteDebug "SDS Status von " & datTSI & ": " & datStatus

onTimer

Wird ausgelöst sobald die konfigurierte Zeit für das Skript vergangen ist.

NameTypErklä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.

NameTypErklärung
datFileNameStringDateiname oder Pfad der neuen Datei.

Beispiel:

Data.WriteDebug "Neue Datei: " & datFileName

onInit

Wird ausgelöst sobald der REV Server gestartet wurde.

NameTypErklärung
--Keine Parameter.

Beispiel:

Data.WriteDebug "Server gestartet"

onNewEinsatz

Wird ausgelöst sobald ein neuer Einsatz angelegt wurde.

NameTypErklärung
datEinsatzStringEinsatznummer des neuen Einsatzes.

Beispiel:

Data.WriteDebug "Neuer Einsatz: " & datEinsatz

onTetraReport

Wird ausgelöst sobald sich der Übertragungsstatus einer TETRA Nachricht geändert hat.

NameTypErklärung
datIDStringInterne ID der gesendeten Nachricht.
datTSIStringTSI des Empfängers.
datStatusStringStatus 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.

NameTypErklärung
datNameStringName der Variable.
datValueStringWert 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.

NameTypErklärung
datURLStringAufgerufene URL.
datParameterStringParameterstring (nach dem ?).

Beispiel:

Data.WriteDebug "WebRequest: " & datURL & "?" & datParameter

onSMS

Wird ausgelöst wenn eine SMS empfangen wurde.

NameTypErklärung
datRufnummerStringAbsender der SMS.
datTextStringTextinhalt der SMS.

Beispiel:

Data.WriteDebug "SMS von " & datRufnummer & ": " & datText

onNewExternEinsatz

Wird ausgelöst wenn ein Einsatz extern angelegt wurde. (Über Schnittstellen oder Plugins)

NameTypErklärung
datEinsatzStringEinsatzID.

Beispiel:

Data.WriteDebug "Externer Einsatz neu: " & datEinsatz

onUpdateExternEinsatz

Wird ausgelöst wenn ein Einsatz extern aktualisiert wurde. (Über Schnittstellen oder Plugins)

NameTypErklärung
datEinsatzStringEinsatzID.

Beispiel:

Data.WriteDebug "Externer Einsatz aktualisiert: " & datEinsatz

onEinsatzStatusChange

Wird ausgelöst sobald der Status eines Einsatzes gewechselt wird.

NameTypErklärung
datEinsatzStringEinsatzID.
datStatusStringNeuer Status des Einsatzes.

Beispiel:

Data.WriteDebug "Einsatz " & datEinsatz & " Status: " & datStatus

onSDSText

Wird ausgelöst sobald ein SDS Text empfangen wurde.

NameTypErklärung
datTSIStringTSI des Absenders.
datTextStringGesendeter 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)

NameTypErklärung
datEinsatzmittelStringID des Einsatzmittels.
datStatusStringNeuer Status des Einsatzmittels.

Beispiel:

Data.WriteDebug "Einsatzmittel " & datEinsatzmittel & " Status: " & datStatus

onCalloutAlert

Wird ausgelöst sobald ein TETRA Callout Alert empfangen wurde.

NameTypErklärung
datSenderStringTSI des Absenders.
datReceiverStringTSI des Empfängers.
datSeverityIntegerSeverity Level (numerischer Wert).
datCalloutNumberIntegerNummer des Callouts.
datTextStringÜbermittelter Text.
datPreCodedStatusIntegerÜbermittelter Status (UInt32).

Beispiel:

Data.WriteDebug "Callout " & datCalloutNumber & " von " & datSender

onCalloutTest

Wird ausgelöst sobald ein TETRA CalloutTest empfangen wurde.

NameTypErklärung
datSenderStringTSI des Absenders.
datReceiverStringTSI des Empfängers.
datCalloutNumberIntegerNummer des Callouts.
datTextStringÜbermittelter Text.
datPreCodedStatusIntegerÜ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)

NameTypErklärung
datSenderStringTSI des Absenders.
datReceiverStringTSI des Empfängers.
datSeverityIntegerSeverity Level (numerischer Wert).
datCalloutNumberIntegerNummer des Callouts.
datTextStringÜbermittelter Text.
datPreCodedStatusIntegerÜbermittelter Status (UInt32).
datSubadressenStringKommaseparierte Liste der Subadressen.

Beispiel:

Data.WriteDebug "Callout Subadressen: " & datSubadressen

onGltMeldung

Wird ausgelöst sobald eine Meldung der Gebäudeleittechnik ihren Zustand geändert hat

NameTypErklärung
datMeldungIntegerID der Meldung.
datBezeichnungStringBezeichnung der Meldung.
datAktivBooleanMeldung aktiv.
datZustandStringZustandstext der Meldung.
datNotificationStringNotification Text für den Zustand.
datLevelIntegerNumerisches 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

NameTypErklärung
datSenderStringTSI des Absenders.
datReceiverStringTSI des Empfängers.
datAvailabilityStringNumerischer Verfügbarkeitswert.

Beispiel:

Data.WriteDebug "Callout Availability: " & datAvailability

onSireneStoerung

Wird ausgelöst wenn die Sirene eine Störung meldet

NameTypErklärung
datSireneStringID der Sirene (Datenbank).
datStoerungStringName der Störung.
datBehobenStringTrue, wenn behoben, False wenn neu.
datSireneNameStringName der Sirene (Datenbank).

Beispiel:

Data.WriteDebug "Sirene Störung " & datSirene & ": " & datStoerung

onSireneAlarm

Wird ausgelöst wenn eine Sirene eine Alarmauslösung meldet

NameTypErklärung
datSireneStringID der Sirene (Datenbank).
datSignalStringAusgelöstes Signal oder Ruhe (mögliche Werte: Ruhe, Warnung, Entwarnung, Feueralarm).
datSireneNameStringName der Sirene (Datenbank).

Beispiel:

Data.WriteDebug "Sirene Alarm " & datSirene & ": " & datSignal

onOneClickAction

Wird ausgelöst, wenn eine One-Click-Aktion im System ausgeführt wird.

NameTypErklärung
datEinsatzStringEinsatzID.

Beispiel:

Data.WriteDebug "One-Click Einsatz: " & datEinsatz

onRevMobileAvailability

Wird ausgelöst, wenn eine Verfügbarkeitsmeldung aus REV Mobile eingeht.

NameTypErklärung
datSenderStringAbsenderkennung.
datAvailabilityStringNumerischer Verfügbarkeitswert.

Beispiel:

Data.WriteDebug "REV Mobile Availability von " & datSender & ": " & datAvailability

onGmaMeldung

Wird ausgelöst, wenn eine GMA/BMA-Meldung übermittelt wird.

NameTypErklärung
datGruppeIdIntegerInterne Datenbank ID der ausgelösten Gruppe oder Null wenn keine Gruppe verfügbar
datGruppeIntegerNummer der Meldergruppe der GMA oder Null wenn keine Gruppe verfügbar
datMelderIdIntegerInterne Datenbank ID des ausgelösten Melders oder Null wenn keine Gruppe verfügbar
datMelderIntegerNummer des Melders der GMA oder Null wenn keine Gruppe verfügbar
datZustandBooleanTrue = Meldung kommt, False = Meldung geht
datBmaNameStringName der BMA.
datLinieNameStringName der Linie.
datMelderNameStringName des Melders.
datMeldungIdIntegerID der Meldungsart
datMeldungNameStringBezeichnung 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.

NameTypErklärung
sekundenIntegerZeitraum 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.

NameTypErklärung
mutexNameStringName des Locks.

Beispiel:

Data.Lock "my-script-lock"

Data.Unlock

Gibt ein vorher gesetztes Lock wieder frei.

NameTypErklärung
mutexNameStringName des Locks.

Beispiel:

Data.Unlock "my-script-lock"

Data.RevPagerInformation

Sendet eine Information an eine REV Pager Gruppe.

NameTypErklärung
groupStringGruppen-ID.
msgStringNachrichtentext.

Beispiel:

Data.RevPagerInformation "3", "Info an Gruppe 3"

Data.RevPagerInformation

Sendet eine Information an eine REV Pager Gruppe mit Alarmstufe.

NameTypErklärung
groupStringGruppen-ID.
msgStringNachrichtentext.
alarmstufeStringAlarmstufe (numerischer Wert).

Beispiel:

Data.RevPagerInformation "3", "Info mit Alarmstufe", "2"

Data.WriteDebug

Schreibt eine Debug Meldung in die Log Datei.

NameTypErklärung
lineStringDebug-Text.

Beispiel:

Data.WriteDebug "Debug-Ausgabe"

Data.SendTetraNbx

Übermittelt einen Text an ein TETRAcontrol NBX.

NameTypErklärung
einsatzmittelStringEinsatzmittel-ID.
textStringZu sendender Text.

Beispiel:

Data.SendTetraNbx "12", "Test an NBX"

Data.ExecuteURL

Ruft eine URL auf und liefert den Inhalt der URL zurück.

NameTypErklärung
URLStringZiel-URL.
ParameterStringParameterstring (wird an die URL angehängt).
AsyncBooleanAsynchroner Aufruf.

Beispiel:

Dim result
result = Data.ExecuteURL("http://example.local/endpoint", "a=1&b=2", False)

Data.SendSMS

Sendet eine SMS.

NameTypErklärung
TelefonnummerStringZielrufnummer.
TextStringNachrichtentext.

Beispiel:

Data.SendSMS "+491701234567", "Test-SMS"

Data.SMSReceived

Übergibt eine empfangene SMS in das System.

NameTypErklärung
TelefonnummerStringAbsendernummer.
TextStringNachrichtentext.

Beispiel:

Data.SMSReceived "+491701234567", "Eingehende SMS"

Data.SendMail

Sendet eine E-Mail.

NameTypErklärung
receiverStringEmpfängeradresse.
receiverNameStringAnzeigename des Empfängers.
betreffStringBetreff.
messageStringNachrichtentext.

Beispiel:

Data.SendMail "max@example.com", "Max", "Betreff", "Hallo aus dem Skript"

Data.SendMailHTML

Sendet eine E-Mail im HTML Format.

NameTypErklärung
receiverStringEmpfängeradresse.
receiverNameStringAnzeigename des Empfängers.
betreffStringBetreff.
messageStringNachrichtentext (HTML).

Beispiel:

Data.SendMailHTML "max@example.com", "Max", "Betreff", "<b>HTML</b>"

Data.WakeOnLAN

Weckt einen PC über die WakeOnLan Funktion auf.

NameTypErklärung
NICStringMAC-Adresse.
IPStringZiel-IP.
SubnetMaskStringSubnetzmaske.

Beispiel:

Data.WakeOnLAN "001E8CC65CB4", "192.168.1.3", "255.255.255.0"

Data.Save

Speichert einen Datensatz im lokalen Skriptspeicher.

NameTypErklärung
IDStringSchlüssel des Datensatzes.
ValueStringZu speichernder Wert.

Beispiel:

Data.Save "letzterEinsatz", "12345"

Data.Sleep

Pausiert die Skriptausführung für die angegebene Zeit.

NameTypErklärung
secondsIntegerDauer in Sekunden.

Beispiel:

Data.Sleep 2

Data.Load

Lädt einen Datensatz aus dem lokalen Skriptspeicher.

NameTypErklärung
IDStringSchlüssel des Datensatzes.

Beispiel:

Dim wert
wert = Data.Load("letzterEinsatz")

Data.TagebuchAdd

Fügt einen Eintrag in das Einsatztagebuch ein.

NameTypErklärung
EintragStringTagebucheintrag.

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.

NameTypErklärung
fugidStringFugID des Endgeräts.
groupidStringGroupID der Zielgruppe.

Beispiel:

Tetra.SetGroup "101", "2001"

Tetra.SendSDSText

Sendet einen SDS Text an eine TSI.

NameTypErklärung
tsiStringTSI des Empfängers.
messageStringNachrichtentext.
reportConsumedStringEmpfangsbestätigung "Consumed" (True/False).
reportReceivedStringEmpfangsbestätigung "Received" (True/False).

Beispiel:

Tetra.SendSDSText "1234567", "Text", "True", "True"

Tetra.SendFlashSDSText

Sendet einen Flash-SDS Text an eine TSI.

NameTypErklärung
tsiStringTSI des Empfängers.
messageStringNachrichtentext.
reportConsumedStringEmpfangsbestätigung "Consumed" (True/False).
reportReceivedStringEmpfangsbestätigung "Received" (True/False).

Beispiel:

Tetra.SendFlashSDSText "1234567", "Flash", "True", "True"

Tetra.SendHMDText

Sendet einen HomeModeDisplay Text an eine TSI.

NameTypErklärung
tsiStringTSI des Empfängers.
messageStringNachrichtentext.
reportConsumedStringEmpfangsbestätigung "Consumed" (True/False).
reportReceivedStringEmpfangsbestätigung "Received" (True/False).

Beispiel:

Tetra.SendHMDText "1234567", "HMD", "False", "True"

Tetra.SendSDSStatus

Sendet einen TETRA Status an eine TSI.

NameTypErklärung
tsiStringTSI des Empfängers.
statusStringStatuscode (numerischer Wert).

Beispiel:

Tetra.SendSDSStatus "1234567", "5"

Tetra.RCChangeGroup

Wechselt ein Endgerät in die angegebene Gruppe.

NameTypErklärung
endgeraetStringEndgerät (Datenbank-ID).
groupIdStringZielgruppe (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.

NameTypErklärung
AnschlussIDStringAnschluss-ID.
StatusStringStatuswert (0 oder 1).

Beispiel:

Haustechnik.Setzen "12", "1"

Haustechnik.Schalten

Schaltet einen Ausgang um.

NameTypErklärung
AnschlussIDStringAnschluss-ID.

Beispiel:

Haustechnik.Schalten "12"

Haustechnik.Status

Fragt den Status eines Ausgangs ab.

NameTypErklärung
AnschlussIDStringAnschluss-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.

NameTypErklärung
zveiStringZVEI Kennung.
kanalStringKanal.

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.

NameTypErklärung
EinsatzStringEinsatz-ID.
elaIDStringELA-ID.
AlarmkreiseString[]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.

NameTypErklärung
elaIDStringELA-ID.
soundNameStringName der Sounddatei.

Beispiel:

ELA.PlaySound "5", "alarm.wav"

ELA.Warten

Wartet die angegebene Zeit in Sekunden.

NameTypErklärung
ZeitStringWartezeit 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.

NameTypErklärung
nameStringName der Variable.
valueStringWert 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.

NameTypErklärung
receiverStringEmpfängerliste (durch Komma getrennt).
textStringNachrichtentext.

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.

NameTypErklärung
--Keine Parameter.

Einsatz.AddTask

Fügt dem aktuell geöffneten Einsatz einen Task hinzu.

NameTypErklärung
TaskIDStringTask-ID.

Beispiel:

Einsatz.AddTask "10"

Einsatz.AddSchleife

Fügt eine Alarmschleife dem aktuellen Einsatz hinzu.

NameTypErklärung
SchleifeIDStringSchleifen-ID.

Beispiel:

Einsatz.AddSchleife "3"

Einsatz.FahrzeugeAufWache

Setzt alle Fahrzeuge der angegebenen Wache in den Status 2.

NameTypErklärung
WacheStringWache-ID.

Beispiel:

Einsatz.FahrzeugeAufWache "2"

Einsatz.SucheEinsatz

Sucht und öffnet einen Einsatz entsprechend dem angegebenen Feldwert.

NameTypErklärung
FeldStringFeldname.
WertStringFeldwert.

Beispiel:

Dim einsatzId
einsatzId = Einsatz.SucheEinsatz("stichwort", "B1")

Einsatz.SucheEinsatzAktiv

Sucht und öffnet einen aktiven, nicht beendeten Einsatz entsprechend dem angegebenen Feldwert.

NameTypErklärung
FeldStringFeldname.
WertStringFeldwert.

Beispiel:

Dim einsatzId
einsatzId = Einsatz.SucheEinsatzAktiv("strasse", "Hauptstrasse")

Einsatz.FahrzeugIstEinsatz

Gibt zurück, ob das angegebene Einsatzmittel im aktuellen Einsatz ist.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-ID.

Beispiel:

Dim istImEinsatz
istImEinsatz = Einsatz.FahrzeugIstEinsatz("12")

Einsatz.FahrzeugStatus

Gibt den Status des angegebenen Einsatzmittels zurück.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-ID.

Beispiel:

Dim status
status = Einsatz.FahrzeugStatus("12")

Einsatz.OrganisationIstEinsatz

Gibt zurück, ob die angegebene Organisation im aktuellen Einsatz ist.

NameTypErklärung
organisationStringOrganisations-ID.

Beispiel:

Dim istDabei
istDabei = Einsatz.OrganisationIstEinsatz("4")

Einsatz.Mail

Sendet den geöffneten Einsatz als E-Mail mit der angegebenen Vorlage.

NameTypErklärung
VorlageStringVorlagen-ID.
ReceiverStringEmpfängeradresse.
ReceiverNameStringAnzeigename des Empfängers.
AnzahlStringAnzahl der E-Mails.
VermerkStringVermerk.

Beispiel:

Einsatz.Mail "7", "max@example.com", "Max", "1", "Automatisch"

Einsatz.Drucken

Druckt den geöffneten Einsatz mit der angegebenen Vorlage.

NameTypErklärung
VorlageStringVorlagen-ID.
DruckerStringDruckername.
AnzahlStringAnzahl der Ausdrucke.
VermerkStringVermerk.

Beispiel:

Einsatz.Drucken "7", "Drucker-1", "1", "Automatisch"

Einsatz.Fax

Faxt den geöffneten Einsatz mit der angegebenen Vorlage.

NameTypErklärung
VorlageStringVorlagen-ID.
FaxnummerStringFaxnummer.
AnzahlStringAnzahl der Faxe.
VermerkStringVermerk.

Beispiel:

Einsatz.Fax "7", "+49221123456", "1", "Automatisch"

Einsatz.ZVEI

Löst eine ZVEI Alarmierung aus.

NameTypErklärung
SchleifeStringSchleifen-ID.
KanalStringKanal.

Beispiel:

Einsatz.ZVEI "5", "1"

Einsatz.RunVorschlag

Führt den Vorschlag im aktuell geöffneten Einsatz aus.

NameTypErklärung
--Keine Parameter.

Beispiel:

Einsatz.RunVorschlag

Einsatz.Dispo

Fügt das angegebene Einsatzmittel dem aktuell geöffneten Einsatz hinzu.

NameTypErklärung
FahrzeugIDStringEinsatzmittel-ID.

Beispiel:

Einsatz.Dispo "12"

Einsatz.Alarm

Führt die Alarmierung für den aktuell geöffneten Einsatz aus.

NameTypErklärung
ignoreTasksStringKommagetrennte Liste zu ignorierender Task-Typen.

Beispiel:

Einsatz.Alarm "WacheELA,SendMail"

Einsatz.Add

Erstellt einen neuen Einsatz und öffnet diesen.

NameTypErklärung
--Keine Parameter.

Beispiel:

Einsatz.Add

Einsatz.Edit

Öffnet den Einsatz mit der angegebenen ID.

NameTypErklärung
sEinsatzIDStringEinsatz-ID.

Beispiel:

Einsatz.Edit "12345"

Einsatz.SetData

Ändert das angegebene Feld auf den neuen Wert im aktuell geöffneten Einsatz.

NameTypErklärung
FeldStringFeldname.
WertStringNeuer Wert.

Beispiel:

Einsatz.SetData "strasse", "Hauptstrasse"

Einsatz.GetData

Gibt den Wert eines Einsatzfeldes zurück.

NameTypErklärung
FeldStringFeldname.

Beispiel:

Dim value
value = Einsatz.GetData("strasse")

Einsatz.Beenden

Beendet den aktuell geöffneten Einsatz.

NameTypErklärung
--Keine Parameter.

Beispiel:

Einsatz.Beenden

Einsatz.SucheStichwort

Sucht ein Stichwort anhand von Einsatzart und Indikation und fügt es dem Einsatz hinzu.

NameTypErklärung
EinsatzartStringEinsatzart.
IndikationStringIndikation.

Beispiel:

Einsatz.SucheStichwort "Brand", "Wohnung"

Einsatz.SucheStichwortKlartext

Sucht ein Stichwort anhand des Klartextes und fügt es dem Einsatz hinzu.

NameTypErklärung
StichwortStringStichwort im Klartext.

Beispiel:

Einsatz.SucheStichwortKlartext "BMA"

Einsatz.SucheStichwortGruppe

Sucht eine Stichwortgruppe anhand des Gruppennamens und fügt sie dem Einsatz hinzu.

NameTypErklärung
StichwortGruppeStringGruppenname.

Beispiel:

Einsatz.SucheStichwortGruppe "Standard"

Einsatz.SucheObjektName

Sucht ein Objekt anhand des Namens und fügt es dem Einsatz hinzu.

NameTypErklärung
ObjektnameStringObjektname.

Beispiel:

Einsatz.SucheObjektName "Schule"

Einsatz.SucheObjekt

Sucht ein Objekt anhand der Adresse und fügt es dem Einsatz hinzu.

NameTypErklärung
StadtStringStadt.
StadtteilStringStadtteil.
StrasseStringStraße.
HNRStringHausnummer.
ObjektnameStringObjektname.

Beispiel:

Einsatz.SucheObjekt "Musterstadt", "Zentrum", "Hauptstrasse", "10", "Schule"

Einsatz.SetEinsatzmittelStatus

Setzt den Status für ein Einsatzmittel auf den angegebenen Wert.

NameTypErklärung
EinsatzmittelIDStringEinsatzmittel-ID.
StatusStringStatus (numerischer Wert).

Beispiel:

Einsatz.SetEinsatzmittelStatus "12", "3"

Einsatz.AddCallout

Verknüpft einen eingegangenen Callout Alarm mit dem aktuellen Einsatz.

NameTypErklärung
calloutNumberStringCallout-Nummer.

Beispiel:

Einsatz.AddCallout "1234"

Einsatz.StrasseUndHausnummerExtrahieren

Versucht Straße und Hausnummer syntaktisch zu trennen und schreibt das Ergebnis in die Datenfelder.

NameTypErklärung
textStringEingabetext für Straße und Hausnummer.

Beispiel:

Einsatz.StrasseUndHausnummerExtrahieren "Hauptstrasse 10"

Einsatz.Abbruch

Setzt den Einsatz auf "abgebrochen".

NameTypErklärung
MeldungstextStringMeldungstext.

Beispiel:

Einsatz.Abbruch "Fehlalarm"

Einsatz.KeineWeiterenKraefte

Setzt den Einsatz auf "Keine weiteren Kräfte".

NameTypErklärung
MeldungstextStringMeldungstext.

Beispiel:

Einsatz.KeineWeiterenKraefte "Lage unter Kontrolle"

Einsatz.HausnummerExtrahieren

Extrahiert eine Hausnummer aus dem angegebenen Text.

NameTypErklärung
textStringEingabetext.

Beispiel:

Dim hnr
hnr = Einsatz.HausnummerExtrahieren("Hauptstrasse 10")

Einsatz.StrasseExtrahieren

Extrahiert eine Straße aus dem angegebenen Text.

NameTypErklärung
textStringEingabetext.

Beispiel:

Dim strasse
strasse = Einsatz.StrasseExtrahieren("Hauptstrasse 10")

Einsatz.ExtractStrasseUndHausnummer

Extrahiert Straße und Hausnummer aus dem angegebenen Text.

NameTypErklärung
textStringEingabetext.

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.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-ID.
statusStringStatus (1-8).

Beispiel:

Einsatzmittel.StatusSetzen "12", "3"

Einsatzmittel.Status

Gibt den Status eines Einsatzmittels zurück.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-ID.

Beispiel:

Dim emStatus
emStatus = Einsatzmittel.Status("12")

Einsatzmittel.TorAuf

Öffnet das Tor für das angegebene Einsatzmittel.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-ID.

Beispiel:

Einsatzmittel.TorAuf "12"

Einsatzmittel.TorZu

Schließt das Tor für das angegebene Einsatzmittel.

NameTypErklärung
EinsatzmittelStringEinsatzmittel-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.

NameTypErklärung
bmaStringBMA-ID.
meldungStringMeldungs-ID.

Beispiel:

BMA.AlarmBMA "1", "2"

BMA.AlarmLinie

Löst eine BMA Linie aus mit der angegebenen Meldungs-ID.

NameTypErklärung
linieStringLinien-ID.
meldungStringMeldungs-ID.

Beispiel:

BMA.AlarmLinie "3", "2"

BMA.AlarmMelder

Löst einen BMA Melder aus mit der angegebenen Meldungs-ID.

NameTypErklärung
melderStringMelder-ID.
meldungStringMeldungs-ID.

Beispiel:

BMA.AlarmMelder "5", "2"

BMA.ResetBMA

Setzt eine BMA zurück.

NameTypErklärung
bmaStringBMA-ID.

Beispiel:

BMA.ResetBMA "1"

BMA.ResetLinie

Setzt eine BMA Linie zurück.

NameTypErklärung
linieStringLinien-ID.

Beispiel:

BMA.ResetLinie "3"

BMA.ResetMelder

Setzt einen BMA Melder zurück.

NameTypErklärung
melderStringMelder-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.

NameTypErklärung
nameStringName des Parameters.
valueStringNeuer Wert.

Beispiel:

Configuration.Set "system.name", "REV"

Configuration.SetDefault

Setzt den Standardwert für den Einstellungsparameter.

NameTypErklärung
nameStringName des Parameters.
valueStringStandardwert.

Beispiel:

Configuration.SetDefault "system.name", "REV"

Configuration.Get

Gibt den aktuellen Wert für den Einstellungsparameter zurück.

NameTypErklärung
nameStringName des Parameters.

Beispiel:

Dim current
current = Configuration.Get("system.name")

Configuration.ConfigurationSetLoad

Lädt das Einstellungs-Set mit der angegebenen ID.

NameTypErklärung
idIntegerID des Einstellungs-Sets (Datenbank).

Beispiel:

Configuration.ConfigurationSetLoad 2

Configuration.ConfigurationSetRestore

Setzt alle Einstellungsparameter wieder auf den Standardwert zurück.

NameTypErklä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.

NameTypErklärung
monitorIntegerMonitor-ID.

Beispiel:

SIS.DisableMonitor 1

SIS.EnableMonitor

Aktiviert den angegebenen SIS Modus für den Monitor mit der angegebenen ID.

NameTypErklärung
monitorIntegerMonitor-ID.
modulStringName 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