Mit Exportern wird der Versand von Daten an externe Quellen getriggert. Exporter werden verwendet, um beispielsweise E-Mail-/SMS-Vorlagen basierend auf Timing-Rohdaten zu verschicken, um Daten in Software von Drittanbietern wie Tracking-Partnern zu exportieren, LED-Großanzeigen mit Daten zu füttern u.v.m.
Die Exporter haben vordefinierte Möglichkeiten für bestimmte Zwecke, bieten Ihnen aber dennoch die aus RACE RESULT 14 gewohnte Flexibilität und bietet zahllose Anwendungsmöglichkeiten.
Verwenden Sie die Exporter sowohl offline wie auch online. Lediglich für die Verbindung zu lokalen Geräten und für den lokalen Export (bspw. lokale IP-Adresse, serielle Verbindung oder in eine Datei) muss der RACE RESULT Web Server geöffnet sein.
Einstellungen
Exporter
Sobald ein Exporter gestartet ist, sendet dieser für jeden gültigen Trigger die entsprechenden teilnehmerbezogenen Daten, jeweils basierend auf Timing-Rohdaten. Mehrere Exporter können zeitgleich betrieben werden.
| Name | Name des Exporters |
| Messstelle/Zwischenzeit |
Der Trigger für den Exporter Zwischenzeit - sobald diese Zwischenzeit berechnet wird, inkl. Neu-Berechnung aufgrund neuer Daten Alle - sobald Rohdaten in irgendeiner Messstelle empfangen werden |
| Filter | Ein beliebiger Filter, dieser kann ebenfalls Rohdaten-Felder beinhalten |
| Ziel | Der Typ des Exporters und weitere Einstellungen je nach gewähltem Typ |
| Export-Daten | Definiert, welche Daten gesendet werden sollen. Entweder ein Standardformat oder ein beliebiger Ausdruck |
| Zeilenende | Das Zeilenende, das nach jedem Datenset gesendet wird |
Zusätzlich bestimmen die erweiterten Einstellungen den Datenfluss.

Benötigen Sie ein eigenes Format der exportierten Daten, greifen Sie auf die Rohdaten-Felder zurück. Zudem können Sie auf sämtliche Felder und Funktionen zurückgreifen und somit alle Teilnehmerdaten exportieren.
Wenn Sie in eine Datei exportieren, geben Sie den vollständigen Speicherort inkl. Dateinamen und -typ an, bspw. C:\Users\Timer\Documents\Export.csv
Tracking
Die Weiterleitung von Timing-Rohdaten an Drittanbieter wird für eine Auswahl an Tracking-Anbietern unterstützt. Diese funktionieren analog zu den Rohdaten-Exportern, leiten die Daten aber in einem definierten Format weiter.

Manche Tracking-Plattformen benötigen zur Zuordnung die Angabe einer Kundennummer.
Erweiterte Einstellungen
Die erweiterten Einstellungen bestimmen das Verhalten der Exporter.
Encoding - Entweder UTF-8 oder ASCII.
Min. Zeitabstand - Definieren Sie einen Mindestabstand zwischen dem Export zweier Datensets. Können Daten nicht unmittelbar exportiert werden, wird eine Warteschlange gebildet. Der Filter wird vor der Aufnahme in die Warteschlange geprüft, nicht vor dem tatsächlichen Export.
Max. Warteschlangenlänge - Ist die maximale Warteschlangenlänge erreicht, werden keine weiteren Daten aufgenommen. Daten werden nach dem Prinzip "first in, first out" verarbeitet.
Ignorieren vor / nach - Definieren Sie einen minimalen / maximalen Zeitstempel der Rohdaten für den Export von Daten.
Connect Message - Die Connect Message wird direkt nach de Verbindungsaufbau gesendet (bspw. ein Authentifizierungs-Token).
Pausiert starten - Wenn aktiviert, wird der Exporter pausiert gestartet.
Standard-Rohdaten-Exporter
Dieser Artikel listet die Standard-Rohdaten-Exporter mit dem verwendeten Format und Beispiel-Antworten.
Rohdaten-Datensatz JSON
Der Rohdaten-Datensatz JSON stellt ein Passing Record nach. Es ist ein JSON mit allen relevanten Daten, wobei sich der erste Teil auf Informationen auf RACE RESULT 14 bezieht, und der das letzte Objekt das eigentliche Passing darstellt.
Beispiel
"ID":1,
"Bib":50001,
"TimingPoint":"STARTFINISH",
"Result":-10,
"Time":32795.944,
"Invalid":false,
"Passing":{
"Transponder":"ZICAD30",
"Position":{
"Latitude":0,
"Longitude":0,
"Altitude":0,
"Flag":""
},
"Hits":75,
"RSSI":-75,
"Battery":3,
"Temperature":17,
"WUC":6233,
"LoopID":8,
"Channel":8,
"InternalData":"",
"StatusFlags":128,
"DeviceID":"D-50432",
"DeviceName":"Support Decoder",
"OrderID":0,
"Port":0,
"IsMarker":false,
"FileNo":177,
"PassingNo":1,
"Customer":12345,
"Received":"2024-01-12T09:07:43.15+01:00",
"UTCTime":"2024-01-12T09:06:35.944Z"
}
}
Rohdaten-Datensatz V2
Der Rohdaten-Datensatz V2 stellt ein Passing Record eines RACE RESULT Systems dar. Es enthält keine Werte für [<LoopOnly>] und [<InternalData>], allerdings ist das Format korrekt.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<LoopOnly>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Beispiel
Rohdaten-Datensatz V1
Der Rohdaten-Datensatz V1 stellt eine Legacy-Version eines Passing Records dar. Es enthält keine Spalten für [<LoopOnly>] (siehe |Decoder Communication Protocol), wodurch alle nachfolgenden Spalten um eins nach links versetzt sind. Dieses Format ist aus Gründen der Rückwärtskompatibilität (Implementierungen bis 2023) nach wie vor vorhanden.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Beispiel
Rohdaten-Datensatz mit Position
Der Rohdaten-Datensatz V1 mit zusätzlicher GPS-Position.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId>;[RD_Latitude];[RD_Longitude]<CrLf>
Beispiel
Benutzerdefiniert
Siehe Individuelle Datenfelder für weitere Informationen zu benutzerdefinierten Export-Daten.
Rohdaten-Zeit
Hier wird ausschließlich die Zeit eines Timing-Rohdatums in Sekunden exportiert.
Beispiel
RunScore RSBCI
- RSBCI - Text-String "RSBCI"
- [RD_Transponder] oder [RD_IDBib] - Exportiert den Transponder-Code sofern vorhanden, ansonsten die Startnummer
- [RD_Time] - Exportiert die Zeit eines Passings in Sekunden, formatiert als "hh:mm:ss.kkk"
- [RD_TimingPoint] - Exportiert den Namen der zugewiesenen Messstelle
Beispiel
Tracking-Exporter
Mit Hilfe der Exporter können Sie Rohdaten zur Visualisierung an Tracking-Anbieter weiterleiten.
- Für Rohdaten von einem System mit GPS-Position und GPS-Zeit wird die übertragene GPS-Position an den Tracking-Anbieter weitergeleitet.
- Bei USB Timing Boxen, Loop Boxen im Store oder Repeat Mode oder Dekodern ohne GPS-Position wird die GPS-Position der Messstelle (gemäß Messstellen-Einstellungen übertragen.
Hat der Dekoder keine GPS-Position und Sie haben keine Position für die Messstelle definiert, werden die Rohdaten ohne Position weitergeleitet, wodurch die Daten von einigen Tracking-Anbietern ignoriert werden.
Datenbank-Export
Rohdaten-Exporter unterstützen derzeit unten stehende SQL Datenbanken und ODBC Treiber für Access-Datenbanken. Benötigen Sie weitere Datenbank-Exporter, wenden Sie sich an uns. Bei Verwendung einer Datenbank mit ODBC Treibern, stellen Sie sicher, dass die ODBC Treiber installiert sind und dass ODBC eine Verbindung zur Datenbank herstellen kann.
Wenn Sie die Exporter aufsetzen, müssen Sie die Server-Einstellungen Ihrer Datenbank angeben. Je nach Datenbank werden unterschiedliche Strings akzeptiert.
MySQL: %USERNAME%:%PASS%@tcp(%HOSTNAME%:%PORT%)/%DATABASE%
MS-SQL: server=%HOSTNAME%; user id=%USERNAME%; password=%PASS%; database=%DATABASE%; port=%PORT%;
PostgreSQL: postgresql://%USERNAME%:%PASS%@%HOSTNAME%:%PORT%/%DATABASE%?sslmode=disable
ODBC Drivers (e.g. Microsoft Access): Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Database.accdb
Für ODBC Treiber-Verbindungen geben Sie den entsprechenden String für Ihre installierten Treiber an.
Einige Datenbanken verlangen eine weitere Sicherheitseinstellung wie Nutzername und Passwort. Eine gute Online-Ressource für weitere Informationen ist verfügbar unter https://www.connectionstrings.com/.
Sie müssen die zu exportierenden Daten mit individuellem Inhalt formatieren, um ein Insert Statement als Ausdruck zu kreieren.
Als Beispiel für MS-SQL:
"INSERT INTO RawData (Chip, Time, TimingPoint) VALUES ('" & if([RD_Transponder]<>"";[RD_Transponder];[RD_IDBib]) & "', '" & format([RD_Time];"hh:mm:ss.kkk") &"', '" & [RD_TimingPoint] &"')"
Dieser String fügt in eine Tabelle "RawData" ein, mit den Spalten Chip, Time & TimingPoint. Für Microsoft Access Datenbanken sollten die Feldernamen in eckigen Klammern eingefasst sein.
Export von Datum & Zeit
Manche Plattformen erwarten beim Übertragen von Zeiten zusätzlich ein Datum. RACE RESULT 14 speichert dieses nicht. Um Datum und Zeit korrekt zu übertragen, müssen Sie daher das Timing Modul gemäß der Einstellungen zu Mehrtagesveranstaltungen einrichten, damit Zeiten korrekt verarbeitet werden.
Um ein Datum und die Zeit zu exportieren, können Sie folgende Formeln in Ihrem individuellen Ausdruck verwenden:
- Datum: ([Veranstaltung.Datum]+int([RD_Time]/86400))
Hierfür muss das Veranstaltungsdatum in den Grundeinstellungen korrekt gesetzt sein. Ist die Zeit größer als 86400 Sekunden (=24 Stunden), wird automatisch ein Tag addiert. - Zeit: format(([RD_Time]%86400);"hh:mm:ss.kkk")
Das ist der Rest, nachdem die Zeit durch 86400 geteilt wurde und gibt somit immer die Tageszeit wieder.
Auch wenn das nicht der originale Datumsstempel ist, ist diese Variante für die meisten Veranstaltungen ausreichend, sofern das Veranstaltungsdatum korrekt gesetzt ist.
E-Mails/SMS versenden
Über die Exporter können Sie den Versand von E-Mail / SMS-Vorlagen durch Rohdaten triggern, zum Beispiel als Finisher-SMS. Diese Funkionalität war vormals über das Tool InstantPush vorhanden.
E-Mail und SMS Exporter können entweder durch eine Messstelle oder eine Zwischenzeit aus dem Rennverlauf getriggert werden. Wird ein Teilnehmer an einer Messstelle detektiert oder wird eine Zwischenzeit geschrieben, wird hierdurch der Versand der E-Mail/SMS angestoßen.
Der Standardfilter aus der E-Mail/SMS-Vorlage wird standardmäßig als Filter im Exporter gesetzt, kann dort aber nochmal angepasst werden. Analog hierzu wird auch die Checkbox beim Senden gesetzt, sofern konfiguriert.
Aufbau
Beim Aufsetzen des Exporters müssen Sie einen Namen vergeben, eine Messtelle oder Zwischenzeit und die zu versendende Vorlage auswählen. Optional können Sie noch einen weiteren Filter setzen, den ein Teilnehmer erfüllen muss, damit die E-Mail/SMS an ihn verschickt wird.

Nach dem Erstellen des Exporters wird dieser im Timing-Modul im Fenster Chip Timing angezeigt. Dort kann der Exporter gestartet, pausiert oder gestoppt werden. Wenn Sie einen Exporter für den SMS-Versand starten möchten, müssen Sie Ihren Nutzernamen und Passwort erneut eingeben, da der Versand von SMS jeweils einen Credit kostet, die direkt vom Guthaben abgezogen werden.

Nach dem Starten des Exporters können Sie diesen auch "wiederholen". In diesem Fall überprüft die Software, für wen eine E-Mail/SMS hätte versendet werden sollen und holt dies dann nach. Sie können den Versand also auch nachträglich starten. Die E-Mail/SMS-Exporter berücksichtigen auch die Option, Timing nach Schließen des Browsers bis zum Veranstaltungsende fortzusetzen. Das bedeutet auch bei längeren Veranstaltungen können Sie den Exporter problemlos starten und laufen lassen, ohne RACE RESULT 12 kontinuierlich geöffnet zu haben.
Filter
Insbesondere wenn Sie eine Messstelle als Trigger verwenden, ist ein Filter für den Versand empfehlenswert. So könnte z.B. ein Filter für den Versand einer Finisher SMS [ImZiel] lauten, so dass die SMS nur an Teilnehmer verschickt wird, die mit der Zieldetektion auch tatsächlich im Ziel sind.
Für komplexere Filter können Sie auch die Rohdatenfelder verwenden.
Individuelle Datenfelder
Sie können eine beliebige Kombination aus Daten gemäß Ihrer Anforderungen exportieren. Greifen Sie auf die Standardfelder aus RACE RESULT 14 zurück oder die unten stehenden Felder, die sich auf die Detektion beziehen, die den Export auslöst. Datenfelder werden in eckige Klammern gesetzt. Um Datenfelder miteinandern zu verbinden, nutzen Sie '&'. Um bspw. Transponder und Zeit, getrennt durch ein Semikolon, zu exportieren, geben Sie [RD_Transponder] & ";" & [RD_Time] ein.
- [RD_ID] - Eine eindeutige ID für diese Detektion
- [RD_IDBib] - Bei Einweg-Transponder ist das der Chip-Code.
- [RD_Transponder] - Transponder-Code bei Mehrweg-Passiv- oder Aktiv-Transpondern*
- [RD_Time] - Die unformatierte Zeit in Sekunden. Mit Hilfe der Zeitformat-Funktionen können Sie die Zeit im gewünschten Format exportieren
- [RD_OrderID] - Die OrderID des Passiv-Einweg-Transponders (nur bei Passiv)
- [RD_Hits] - Die Anzahl Hits des Transponders für diese Detektion
- [RD_RSSI] - Die maximale Signalstärke des Transponders
- [RD_ChannelID] - Die Channel ID des Zeitmesssystems (nur bei Aktiv)
- [RD_LoopID] - Die Loop ID des Zeitmesssystems (nur bei Aktiv)
- [RD_WakeupCounter] - Der Wake-Up-Counter des Transponders (nur bei Aktiv)
- [RD_Battery] - Der Batterieladestand des Transponders (nur bei Aktiv)
- [RD_Temperature] - Interne Transponder-Temperatur (nur bei Aktiv)
- [RD_StatusFlags] - Transponder-Kennzeichnung (nur bei Aktiv)
- [RD_TimingPoint] - Der Name der Messstelle in RACE RESULT 14.
- [RD_DecoderName] - Der Name des Dekoders, sofern zugewiesen.
- [RD_DecoderID] - Die Device ID
- [RD_Port] - Der Antennen-Port mit der max. Signalstärke während eines Passings (nur bei Passiv)
- [RD_Latitude] / [RD_Longitude] - Die Koordinaten der Detektion, sofern das Zeitmesssystem GPS-Koordinaten überträgt.
- [RD_IsMarker] - gibt an, ob die Detektion ein Marker ist
- [RD_FileNo] - gibt die File Number von Ubidium oder dem Dekoder zurück
- [RD_PassingNo] - die lfd. Passing-Nummer innerhalb des Passings Files
- [RD_Customer] - die Kundennummer, auf die das Passing hochgeladen wurde
- [RD_Received] - der Zeitstempel, zu dem das Passing von RACE RESULT 14 empfangen wurde
- [RD_UTCTime] - der UTC-Zeitstempel des Passings
*Marker liefern -1 als Transponder-Code, unabhängig von den Dekodereinstellungen.
Exporter-Befehle
Für TCP/IP-Exporter können Befehle an den TCP-Socket gesendet werden, um verbundene Exporter fernzusteuern.
Getting Info
Um Informationen über den Exporter zu erhalten, senden Sie folgenden Befehl:
GETINFO\n
Die Antwort sieht aus wie folgt:
{
"Command": "GETINFO",
"Exporter": {
"ID": 8,
"Name": "PacketSender Home",
"Filter": "",
"TriggerTimingPoint": "",
"TriggerResultID": 0,
"DestinationType": "TCPIP",
"Destination": "192.168.178.25:54696",
"Data": "[RD_ID] \u0026 \";\" \u0026 if([RD_Transponder]\u003c\u003e\"\";[RD_Transponder];[RD_IDBib]) \u0026 \";;\" \u0026 format([RD_Time];\"hh:mm:ss.kkk\") \u0026 \";\" \u0026 [RD_OrderID] \u0026 \";\" \u0026 [RD_Hits] \u0026 \";\" \u0026 [RD_RSSI] \u0026 \";;\" \u0026 if([RD_LoopID]\u003e0;1;0) \u0026 \";\" \u0026 [RD_ChannelID] \u0026 \";\" \u0026 [RD_LoopID] \u0026 \";;\" \u0026 [RD_WakeupCounter] \u0026 \";\" \u0026 ([RD_Battery]/10) \u0026 \";\" \u0026 ([RD_Temperature]-100) \u0026 \";\" \u0026 [RD_StatusFlags] \u0026 \";\" \u0026 [RD_DecoderName]",
"MTB": 0,
"MQL": 0,
"LineEnding": "LF",
"OrderPos": 7000
},
"Paused": false,
}
Stop Command
Dieser Befehl stoppt den Exporter jederzeit:
STOP\n
Übliche Antwort:
{"Command": "STOP",}
Fehlermeldung:
{"Command": "STOP","Error": "Some error message" }
Pause Command
Dieser Befehl unterbricht den Exporter zu jeder Zeit:
PAUSE\nliefert folgende Antwort:
{"Command": "PAUSE","Paused": true }
Resume Command
Dieser Befehl setzt den Exporter wieder fort:
RESUME\n
Liefert:
{"Command": "RESUME","Paused": false }
Hinweis: Bricht die Verbindung im "pausierten" Modus zsammen, kann sie nicht wieder hergestellt werden, bevor neue Daten geschrieben werden können. Wenn Sie die Vebrindung fortsetzen möchten, müssen Sie warten, bis die Verbindung wieder hergestellt wird.
Replay Command
Mit diesem Befehl können Sie sämtliche Daten erneut auslesen:
REPLAY\n
Übliche Antwort:
{"Command": "REPLAY",}
Fehlermeldung:
{"Command": "REPLAY","Error": "Some error message" }