Gli Esportatori possono essere utilizzati per attivare l’invio di dati a fonti esterne; questo può servire sia per inviare template E-mail / SMS, sia per esportare dati di cronometraggio verso altri sistemi, come software di cronometraggio di terze parti, partner di tracking, orologi a LED e altro ancora.
Gli Esportatori includono alcune funzionalità integrate per partner specifici, ma sono progettati per essere completamente flessibili e supportare un’ampia gamma di utilizzi.
L'esportatore funziona sia nelle versioni online che offline di RACE RESULT 14; se lavori online ed esporti verso una destinazione locale (ad es. indirizzo IP di rete locale, Serial o File), assicurati di avviare il RACE RESULT Web Server sul tuo computer.
Impostazioni
Esportatori
Quando viene avviato, un esportatore invierà automaticamente i dati corrispondenti al ricevimento di un trigger valido; è possibile configurare ed eseguire più esportatori contemporaneamente.
Gli esportatori vengono inviati per singoli partecipanti, quindi il trigger, il filtro e i dati si riferiscono sempre al record del singolo partecipante.
|
Nome |
Il nome dell'esportatore |
| Punto di cronometraggio/Intermedio |
Il trigger per l’Esportatore: Punto di cronometraggio – quando viene ricevuto un record di dati grezzi per il punto di cronometraggio selezionato |
| Filtro | Un filtro da applicare, che può anche utilizzare i Campi dei Dati Grezzi. |
| Destinazione | Il tipo di esportazione e le impostazioni aggiuntive in base al tipo. |
| Esporta Dati | Quali dati devono essere inviati, ovvero un formato predefinito o qualsiasi espressione personalizzata. |
| LineEnd | Il terminatore di riga da aggiungere a ciascun record inviato. |
Le ulteriori Impostazioni Avanzate controllano il flusso dei dati.

Se desideri creare un formato di dati di output personalizzato utilizzando i dati grezzi, puoi usare i Campi dei Dati Grezzi; inoltre, è possibile utilizzare qualsiasi campo/funzione standard nel dato di esportazione personalizzato.
Se utilizzi l’esportazione FILE, il nome del file deve includere l’indirizzo completo di destinazione e il tipo di file, ad esempio: C:\Users\Timer\Documents\Export.csv.
Tracciamento
Il Tracciamento è supportato per diversi specifici servizi di terze parti; funzionano in modo simile agli esportatori, ma inoltrano i dati in un formato predefinito secondo le specifiche della piattaforma.

Alcune piattaforme richiedono inoltre un Numero Cliente per poter elaborare i dati.
Impostazioni Estese
Le Impostazioni Avanzate controllano inoltre il comportamento dell’Exporter.
Codifica – UTF-8 o ASCII.
Min. Secondi Tra – Definisce un intervallo minimo in secondi tra l’invio di ciascun record.
Max Lunghezza Coda – La dimensione massima della coda consentita nel buffer; il buffer è first in, first out, quindi i passaggi più vecchi verranno scartati se la coda raggiunge la lunghezza massima.
Ignora Prima / Ignora Dopo – Definisce un orario minimo e massimo per i passaggi da esportare.
Messaggio di connessione – Definisce una stringa di messaggio personalizzata da inviare all’avvio dell’Exporter (ad es. un token di autenticazione).
Avvia in modalità pausa – Se abilitato, l’Exporter partirà in modalità pausa all’avvio.
Esportatori di dati grezzi predefiniti
This article lists all the default available exporters. Below shows the data format of each exporter as well as an example of its output.
Raw Data Record JSON
The Raw Data Record JSON mimics a Passing Record. It is a JSON struct with all relevant data, where the first part refers to information from RACE RESULT 14, and the last object refers to the actual passing raw data.
Example output
"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"
}
}
Raw Data Record V2
The Raw Data Record V2 mimics a Passing Record from a RACE RESULT System. It does not include values for [<LoopOnly>] and [<InternalData>], however the structure is correct.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<LoopOnly>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Example output
Raw Data Record V1
The Raw Data Record V1 is a legacy version of a Passing Record. It does not write a data and it does not include [<LoopOnly>] (see |Decoder Communication Protocol) and hence moves all columns thereafter to the left by one column when compared to a full passing record. This format has been maintained to ensure backwards compatability for existing implementations (2023 and earlier).
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId><CrLf>
Example output
Raw Data Record with Position
The Raw Data Record V1 with Position mimics the legacy version of a Passing Record but also adds in GPS position.
<InternalData>;<IsActive>;[<Channel>];[<LoopID>];[<WakeupCounter>];
[<Battery>];[<Temperature>];[<InternalActiveData>];<BoxName>;<FileNumber>;[<MaxRSSIAntenna>];<BoxId>;[RD_Latitude];[RD_Longitude]<CrLf>
Example output
Custom
See Custom Destination Data Fields for more information on setting up a custom exporter.
Raw Data Time
This exporter only exports the raw time of the passings in seconds.
Example output
RunScore RSBCI
- RSBCI - Text string "RSBCI"
- [RD_Transponder] or [RD_IDBib] - Exports transponder if one is entered, otherwise exports bib
- [RD_Time] - Exports raw time of the passing formatted to "hh:mm:ss.kkk"
- [RD_TimingPoint] - Exports the TimingPoint name from RACE RESULT 14
Example output
Invio Posizione Tracking
Gli Esportatori possono essere utilizzati anche per inviare Dati Grezzi di Cronometraggio ai partner di tracking per la visualizzazione dei dati.
-
Per dati di cronometraggio passivi o passaggi attivi provenienti da un sistema dotato di posizione GPS e sincronizzato con l’ora GPS, verrà inoltrata la posizione GPS del sistema.
-
Per USB Timing Box, Loop Box in modalità Store o Repeat, o sistemi senza posizione GPS, verrà inoltrata la Posizione del Punto di Cronometraggio (secondo le Impostazioni del Punto di Cronometraggio).
Se il sistema non ha posizione GPS e non è impostata una Posizione del Punto di Cronometraggio, i dati verranno inviati senza posizione, che in alcune configurazioni di visualizzazione tracking verranno successivamente ignorati.
Inserimento Database
Gli esportatori di dati grezzi attualmente supportano i seguenti tipi di database SQL e driver ODBC per database Access e simili: se hai bisogno di altri tipi di database, faccelo sapere e possiamo dare un'occhiata all'implementazione. Se si utilizza un database che richiede driver ODBC, assicurarsi innanzitutto che siano installati sul computer e che ODBC possa creare una connessione al database.
Quando si configura l'esportatore, è necessario immettere le impostazioni del server per il database, che accettano stringhe diverse a seconda del tipo di database.
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
Per le connessioni del driver ODBC sarà necessario fare riferimento alla stringa di connessione corretta per i driver installati.
Alcuni tipi di database potrebbero richiedere impostazioni di sicurezza aggiuntive per nome utente e password ed una buona risorsa per questo è disponibile all'indirizzo https://www.connectionstrings.com/
È necessario formattare i dati di esportazione utilizzando l'inserimento personalizato per formulare un'istruzione come Espressione.
Per esempio per 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] &"')"
Ciò inserirà in una tabella chiamata "RawData", nei campi Chip, Time e TimingPoint i campi Codice Transponder o Chip Code, tempo dei dati grezzi formattato rispettivamente come hh:mm:ss.kkk e il punto di cronometraggio. Per i database di Microsoft Access, i nomi dei campi devono essere racchiusi tra parentesi quadre.
Esportare Data & Ora
Alcune piattaforme potrebbero richiederti di inviare la data e l'ora del passaggio, tuttavia attualmente RACE RESULT 14 non memorizza la data del passaggio quando il passaggio viene salvato nel database. Per inviare correttamente le date e gli orari, è necessario impostare il modulo di cronometraggio in modo che gestisca correttamente i tempi in base alle impostazioni Gara di più giorni.
Per esportare data e ora puoi usare le seguenti formule nella tua espressione.
Data: ([EventDate]+int([RD_Time]/86400))
Ciò richiede che EventDate sia impostato nelle impostazioni di base del file; calcola il numero di giorni successivi alla data di inizio del passaggio e invia la data corrispondente.
Ora: format(([RD_Time]/86400);"hh:mm:ss.kkk")
Questo è il resto del tempo dopo che l'ora è stata divisa per 86400 (il numero di secondi in 24 ore) e quindi invierà sempre l'ora del giorno. Dato che non restituisce i millesimi, dobbiamo quindi aggiungere i millesimi con un formato separato.
È nella nostra lista dei desideri salvare e utilizzare la data di passaggio nel file dell'evento, tuttavia questa soluzione dovrebbe funzionare nella maggior parte dei casi, purché il file sia impostato correttamente.
Inviare E-mail / SMS
Gli esportatori possono essere configurati per inviare modelli di e-mail/SMS, come ad esempio l'invio di una e-mail o SMS all'arrivo di ogni partecipante. Questa funzionalità ha sostituito quella dello strumento Instant Push.
Gli esportatori di e-mail e SMS possono essere attivati da un punto di cronometraggio o da un intermedio. Quando viene ricevuto o calcolato un tempo per il punto di cronometraggio o l'intermedio selezionati, verrà attivato l'esportatore (se, ovviamente, anche il filtro è soddisfatto).
Quando si inviano e-mail / SMS tramite esportatori, il filtro predefinito per il modello verrà precaricato nel filtro esportatore e il campo "Imposta casella di controllo" verrà impostato quando l'email/SMS viene inviato.
Setup
L'impostazione di un esportatore per l'invio di un modello e-mail/SMS richiede un nome per l'esportatore, un punto di cronometraggio o un intermedio selezionati e il modello da inviare. Facoltativamente può essere applicato un filtro che deve essere vero anche per il partecipante, per poter inviare l'email/SMS.

Una volta creato, l'esportatore verrà mostrato nelle schede Cronometraggio con chip e Sistemi in cui l'export può essere avviato, messo in pausa o interrotto. Quando avvii un esportatore che sta inviando un modello SMS, ti verrà richiesto di inserire il nome utente e la password per il tuo account, poiché l'invio di SMS detrarrà automaticamente i crediti dal tuo account.

Durante l'esecuzione, gli Exporter possono anche essere riavviati, quindi ciò significa che l'exporter può essere fatto partire anche dopo l'invio dei primi dati o riprodotti se un problema impedisce l'invio dei messaggi. Gli esportatori osservano anche l'impostazione del "mantieni il cronometraggio attivo", il che significa che per gli eventi di più giorni, questi possono essere avviati e rimarranno in esecuzione fino alla fine dell'evento.
Filtri
In particolare, quando si utilizza come trigger un punto di cronometraggio, è possibile impostare un filtro per garantire che il tempo ricevuto mandi effettivamente il comando di invio dei dati. Ad esempio, se si utilizza il punto di cronometraggio di arrivo, è possibile che si desideri filtrare su [Arrivato].
Per filtri più complessi potresti voler utilizzare i Campi dati dei dati grezzi.
Campi dei dati di destinazione personalizzati
È possibile creare qualsiasi combinazione di dati per la destinazione in base alle proprie esigenze. Puoi utilizzare uno qualsiasi dei campi di dati standard di RACE RESULT 14 o i campi personalizzati sottostanti che sono direttamente correlati al passaggio che ha attivato l'esportatore. I campi dei dati devono essere racchiusi tra parentesi quadre, per unire i campi di dati dovresti usare '&', ad esempio per unire solo Transponder e Tempo separati da un punto e virgola dovresti inserire - [RD_Transponder] & ";" & [RD_Time].
- [RD_ID] - Un ID univoco per quel passaggio.
- [RD_IDBib] - Se si utilizzano tag passivi standard, questo è il codice chip del tag.
- [RD_Transponder] - Se si utilizzano tag passivi non standard o transponder attivi, questo restituirà il codice transponder.
- [RD_Time] - Il tempo grezzo del passaggio in secondi. È possibile utilizzare la funzione formato tempo per visualizzarlo nel formato richiesto.
- [RD_OrderID] - L'ID dell'ordine del chip. (Solo passivo).
- [RD_Hits] - Il numero di hits del transponder per il passaggio. (Numero di volte in cui è stato visto il transponder).
- [RD_RSSI] - Il massimo RSSI (intensità) del segnale ricevuto dal transponder.
- [RD_ChannelID] - L'ID del canale attivo dal punto di cronometraggio (solo attivo).
- [RD_LoopID] - L'ID del loop dal punto di cronometraggio (solo attivo).
- [RD_WakeupCounter] - Il conteggio delle attivazioni del transponder (solo attivo).
- [RD_Battery] - La tensione della batteria del transponder. (Solo attivo)
- [RD_Temperature] - Temperatura interna del transponder. (Solo attivo)
- [RD_StatusFlags] - Il flag di stato indica se il passaggio era un passaggio memorizzato sul transponder.
- [RD_TimingPoint] - Nome del punto di cronometraggio in RACE RESULT 12.
- [RD_DecoderName] - Il nome del decoder se è stato assegnato.
- [RD_DecoderID] - L'ID del decoder.
- [RD_Port] - La porta dell'antenna con max. RSSI durante il passaggio (solo passivo)
- [RD_Latitude] / [RD_Longitude] - Le coordinate del punto di cronometraggio, a condizione che il dispositivo da cui proviene, fornisca le coordinate GPS.
- [RD_IsMarker] - se questo passaggio viene trattato o meno come un Marker
- [RD_FileNo] - indica il numero del file da un Ubidium o da un decoder.
- [RD_PassingNo] - il numero di passaggio salvato così come nel file di passaggi.
- [RD_Customer]: l'ID cliente su cui è stato caricato il passaggio.
- [RD_Received] - il timestamp con fuso orario quando il passaggio è stato ricevuto da RACE RESULT 12.
- [RD_UTCTime] - il timestamp del passaggio convertito in ora UTC
I marcatori restituiscono un codice transponder pari a -1 indipendentemente dalle impostazioni del decoder.
Comandi per gli esportatori
Per gli Exporter TCP/IP è inoltre possibile inviare comandi al socket TCP per controllare gli exporter da remoto quando sono connessi.
Comando Ottieni informazioni
Per ottenere informazioni sull'esportatore, inviare il seguente comando:
GETINFO\n
La risposta sará simile a questa:
{
"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,
}
Comando Interrompi
Questo comando arresta l'esportatore in qualsiasi momento.
STOP\n
Risposta normale:
{"Command": "STOP",}
Risposta errore:
{"Command": "STOP","Error": "Some error message" }
Comando Pausa
Questo comando mette in pausa l'esportatore in qualsiasi momento.
Comando:
PAUSE\nRisponde con:
{"Command": "PAUSE","Paused": true }
Comando Riprendi
Questo comando ripristina l'esportatore in qualsiasi momento.
Comando:
RESUME\n
Risponde con:
{"Command": "RESUME","Paused": false }
Nota: se la connessione si interrompe in modalità "in pausa", non verrà riaperta a meno che non vi siano nuovi dati da scrivere. Se si desidera riprendere, è necessario attendere il ripristino della connessione.
Comando Ripeti
Questo comando consente di riprodurre l'esportatore in qualsiasi momento.
Comando:
REPLAY\n
Risposta normale:
{"Command": "REPLAY",}
Rispota di errore:
{"Command": "REPLAY","Error": "Some error message" }