Systemübersicht
TeamRacePilot ist die Zentrale. Externe Geräte und Tools liefern Daten hinein; die App verarbeitet und gibt Ergebnisse in verschiedenen Formaten aus.
IP per QR-Code aus TeamRacePilot
- Bonjour → HTTP POST
- Clipboard (gleiche Apple-ID)
- CSV (AirDrop, Mail…)
- TCP 4007
- RRU4 ELC E6; WRA3070
- CSV-Export
Gemeinsamer Netzwerkpfad
MAC 1 – macOS
· HTTP 8080 – iOS Anmeldung
· TCP 4007 – KATHREIN RFID
· FTP/SFTP/FTPS – HTML Server
· Netzwerkpfad + RunLock
Interne Anmeldung · Import HTML · CSV
Intern: manuell, RFID
Import: BIB-Scanner, CSV
index.html · Startliste · Ergebnisliste (Lauf & Gesamt) · Urkunden · optional: Vereinsliste, Quittungen
Teilnehmerliste · Startliste · Vereinsliste · Ergebnisliste (Lauf & Gesamt) · Urkunden · Quittungen
Datenstruktur
- Event — oberste Ebene, z. B. „Stadtlauf 2025"
- Teilnehmer / Teams — 1 bis 4 Athleten je Eintrag (je nach Lauf-Konfiguration): 1 = Einzelstarter, 2 = Duo, 3 = Trio, 4 = Quartett
- Läufe (Runs) — zeitliche Startblöcke, z. B. verschiedene Altersklassen
- Wettbewerbe (Competitions) — Kategorien mit Altersbereich und Startgeld
- Ergebnisse — Zeiten und Platzierungen pro Team und Lauf
Erste Schritte
Typischer Ablauf
- Event anlegen (Name, Ort, Datum, Veranstalter)
- Läufe und Wettbewerbe definieren
- Teilnehmer / Teams importieren (CSV, iOS Web-Anmeldung) oder manuell eingeben
- Am Veranstaltungstag: Zeitnahme erfassen (RFID, BIB-Scanner, manuell)
- Platzierungen berechnen lassen
- Urkunden drucken / als PDF exportieren
- Ergebnisse per FTP auf die Website hochladen (optional)
Alle Daten werden automatisch alle 10 Minuten gesichert. Bei einem Fehler kann über den Backup-Manager ein früherer Stand wiederhergestellt werden.
Events
Die Event-Liste ist das Hauptfenster der App. Alle Veranstaltungen werden hier angelegt und verwaltet.
Event anlegen
- Auf das +-Symbol oben rechts klicken
- Name, Ort, Datum und Veranstalter eingeben
- Mit Speichern bestätigen
Event bearbeiten oder löschen
Jede Event-Zeile enthält drei Inline-Buttons: Stift (Bearbeiten), Doppelseite (Duplizieren) und Papierkorb (Löschen).
Das Löschen eines Events entfernt auch alle Teams, Läufe und Ergebnisse. Nicht rückgängig machbar.
Läufe & Wettbewerbe
Was ist ein Lauf?
Ein Lauf ist ein zeitlicher Startblock — z. B. „Lauf A (Schüler)" oder „Hauptlauf". Jeder Lauf enthält Wettbewerbe (Altersklassen) und die zugehörigen Ergebnisse.
Lauf anlegen
- Event auswählen → Bereich Läufe
- Button + klicken, Name eingeben
- Wettbewerbe hinzufügen (siehe unten)
- Mit Speichern bestätigen
Wettbewerb-Felder
| Feld | Beschreibung |
|---|---|
| Name | z. B. „U12" |
| (Gesamt-)Alter von – bis | Alterspanne in Jahren (Summe aller Jahrgänge im Team) |
| Disziplin | z. B. „3 km" |
| Startgeld | Betrag in Euro (für Quittungen) |
Lauf-Einstellungen
| Einstellung | Beschreibung |
|---|---|
| Athleten pro Team | Anzahl Athleten je Team: 1 – Einzel · 2 – Duo · 3 – Trio · 4 – Quartett. Bestimmt, welche CSV-Spalten beim Import und Export verwendet werden. |
| Mannschaftswertung | Top-3-Teams pro Verein werden zusätzlich zur Einzelwertung gerankt. Aktivierbar pro Lauf; zeigt einen eigenen Tab in der Ergebnisansicht. |
| Wertungsmodus | Punkte (Platzierung) oder Zeit (Summe) — nur sichtbar wenn Mannschaftswertung aktiv |
| Geschlechter | Getrennt (m/w/x) · Gesamt · Beides — nur sichtbar wenn Mannschaftswertung aktiv |
Lauf-Sperrmechanismus
Im Netzwerkbetrieb zeigt der RunLockManager an, ob ein anderer Mac gerade aktiv schreibt. Konflikte werden so verhindert.
Teilnehmer & Teams
TeamRacePilot unterstützt Einzelstarter genauso wie Teamläufe. Je Eintrag sind 1–4 Athleten möglich — die Anzahl wird pro Lauf festgelegt: 1 = Einzel, 2 = Duo, 3 = Trio, 4 = Quartett. Teilnehmer können direkt eingegeben, aus CSV importiert oder über die iOS Web-Anmeldung erfasst werden.
Teilnehmer / Team manuell hinzufügen
- Event auswählen → Button Teilnehmerverwaltung (👥-Icon)
- Button + klicken
- Geschlecht, Athleten-Daten (Name, Verein, Jahrgang — Anzahl je nach Lauf-Einstellung: 1–4), Startnummer, Wettbewerb ausfüllen
- Mit Hinzufügen bestätigen
Teilnehmer / Teams importieren
| Variante | Beschreibung |
|---|---|
| CSV-Datei | Datei aus externem Tool (Excel, Online-Formular) importieren |
| Zwischenablage ⌘⇧V | Daten direkt aus Excel kopieren und einfügen |
| iOS Web-Anmeldung | Teilnehmer melden sich selbst über den Browser an (→ Web-Anmeldung) |
Startnummern automatisch vergeben
Button BIB Auto-Fill: Teilnehmer / Teams ohne Startnummer erhalten fortlaufende Nummern in einem wählbaren Bereich.
Wettbewerbe neu berechnen
Button Wettbewerbe neu berechnen: Weist Teilnehmer / Teams ohne Wettbewerb automatisch eine Altersklasse zu, basierend auf dem Gesamtalter (bei Einzelstartern: eigener Jahrgang; bei Teams: Summe der Jahrgänge). Der Wettbewerb kann auch manuell zugewiesen werden — z. B. wenn ein Athlet oder Team in einer anderen Klasse startet.
Ergebnisse
Platzierungen
Platzierungen werden automatisch berechnet sobald Zeiten geändert werden — Platz gesamt und Platz im Wettbewerb. Zeitgleiche Einträge erhalten denselben Platz.
Filter
- Wettbewerb-Filter: Nur Teilnehmer / Teams einer Altersklasse anzeigen
- Geschlecht-Filter: Alle / Männlich / Weiblich / Divers
Zeitnahme
Die Ergebnisansicht ist die Zentrale für alle Zeitnahme-Methoden. Je nach Methode erfolgt der Einstieg direkt in der Ergebnisansicht oder über das Zeitmessungs-Fenster.
| Methode | Einstieg | Beschreibung |
|---|---|---|
| Manuell | ⏱ Stoppuhr-Icon → Zeitmessungs-Fenster | Integrierte Stoppuhr; Startnummer eingeben und bestätigen → aktuelle Stoppuhr-Zeit wird übertragen |
| BIB-Scanner | Direkt in Ergebnisansicht (Bonjour) | iPhone sendet Startnummer per HTTP POST; Zeit wird von TeamRacePilot vergeben |
| Copy / Paste (nur Startnummern oder nur Zeiten) | ⏱ Stoppuhr-Icon → Zeitmessungs-Fenster | Aus BIB-Scanner per Universal Clipboard einfügen (gleiche Apple-ID) |
| CSV-Import | Direkt in Ergebnisansicht (Import-Button) | Zeiten aus externer Stoppuhr oder BIB-Scanner-Export laden (→ Externe Zeitnahme CSV) |
| RFID (experimentell, für Bastler) | ⏱ Stoppuhr-Icon → Zeitmessungs-Fenster | Nur Kathrein RRU4 ELC E6 / WRA3070 · Reader liest Tags automatisch; Kandidaten werden bestätigt oder verworfen |
Urkunden & BIB-Design
Urkunden-Designer
Der Designer erlaubt das freie Gestalten von Urkunden und Startnummern. Elemente (Text, Logo, Hintergrundbild) können frei positioniert werden. Das Layout wird pro Event gespeichert.
Urkunden ausgeben
| Aktion | Beschreibung |
|---|---|
| PDF exportieren | Alle gefilterten Urkunden als PDF-Datei speichern |
| HTML exportieren | Als HTML-Datei, optional per FTP hochladen |
| Direkt an den Drucker senden |
Filter
- Wettbewerb: Alle oder eine bestimmte Altersklasse
- Geschlecht: Alle / Männlich / Weiblich / Mixed
- Platz: Top 3 oder Alle
Nur Teilnehmer / Teams mit einer Zeit und Platzierung erscheinen in der Urkundenliste. Platzierungen werden automatisch berechnet sobald Zeiten vorhanden sind.
Listen & Drucken
| Liste | Inhalt | Formate |
|---|---|---|
| Startliste | Alle Teams nach Startnummer, Lauf & Gesamt | pdf · html · csv · Drucker |
| Teilnehmerliste | Alle Teilnehmer, alphabetisch oder nach Verein | pdf · html · csv · Drucker |
| Vereinsliste | Teams gruppiert nach Verein | pdf · html · csv · Drucker |
| Ergebnisliste | Ergebnisse, Lauf & Gesamt | pdf · html · csv · Drucker |
| Urkunden | Lauf & Gesamt, gefiltert nach Wettbewerb/Geschlecht | pdf · html · Drucker |
| Quittungen | Startgeld pro Verein, mit Rabatt | pdf · html · csv · Drucker |
| BIBs (Startnummern) | Druckfertige Startnummern nach eigenem Design | pdf · html · Drucker |
| Einnahmen-Übersicht | Startgelder gesamt | Ansicht · Drucker |
Web-Anmeldung iOS
TeamRacePilot stellt einen integrierten HTTP-Server auf Port 8080 bereit. Teilnehmer öffnen die Anmeldeseite direkt im Browser ihres iOS-Geräts im gleichen WLAN — kein App-Download nötig.
Einrichtung
- In der Event-Liste auf den QR-Code-Button klicken
- QR-Code mit dem iOS-Gerät scannen oder URL manuell eingeben
- Teilnehmer füllen das Formular aus und senden ab
Mac und iOS-Gerät müssen im gleichen WLAN sein. Der Server läuft, solange TeamRacePilot geöffnet ist.
BIB-Scanner iOS
Die BIB-Scanner App (App Store) erfasst Startnummern per Kamera (OCR), QR-Code oder Tastatur und überträgt sie mit Zeiten an TeamRacePilot.
TeamRacePilot übernimmt die Zeitnahme. BIB-Scanner sendet nur die Reihenfolge der Startnummern — die Zielzeit wird von TeamRacePilot zugewiesen.
Verbindungsarten
| Methode | Beschreibung | Voraussetzung |
|---|---|---|
| Bonjour (empfohlen) | BIB-Scanner findet TeamRacePilot automatisch im WLAN → HTTP POST direkt in den Lauf | Gleiches WLAN |
| Clipboard | Daten per Universal Clipboard kopieren/einfügen | Gleiche Apple-ID, Handoff aktiv |
| CSV-Export | CSV-Datei per AirDrop, Mail oder Dateien teilen, dann in TeamRacePilot importieren | Keine Apple-ID nötig |
Bonjour-Verbindung einrichten
- TeamRacePilot öffnen (Bonjour-Service startet automatisch)
- In BIB-Scanner: 📁-Button (oben links) → TeamRacePilot verbinden… antippen
Alternativ: Einstellungen → Bereich TeamRacePilot → TeamRacePilot suchen… - TeamRacePilot in der Liste antippen → Lauf auswählen
- Zeiten werden ab sofort direkt übertragen
RFID-Zeitnahme (experimentell)
Der RFID-Modus ist ein experimentelles DIY-Feature und wurde ausschließlich mit dem Kathrein RRU4 ELC E6 und WRA3070 entwickelt und getestet. Andere Reader werden nicht offiziell unterstützt. Die Verbindung erfolgt über TCP Port 4007.
Der Kathrein RRU4 ELC besitzt keine eingebaute Antenne. Externe UHF-Antennen (865–868 MHz, EU-Band) sind erforderlich.
RFID einrichten
- Lauf auswählen → Button RFID → RFID Einstellungen
- IP-Adresse des Readers eingeben (Port 4007)
- Verbindung testen → Speichern
Tag-Mapping
Im Bereich Tag-Zuordnung: RFID-Tags (EPC-Nummern) werden den Startnummern zugewiesen. Tags können manuell eingegeben oder beim ersten Lesen automatisch erkannt werden.
Live Timing
Das Live Timing-Fenster zeigt alle eingehenden Tag-Lesungen in Echtzeit mit Zeitstempel, EPC und zugeordnetem Team.
Externe Zeitnahme CSV
Zeiten aus beliebigen externen Stoppuhren oder Timing-Apps können als CSV in die Ergebnisansicht importiert werden.
CSV-Format
| Spalte | Inhalt | Beispiel |
|---|---|---|
| Startnummer | BIB des Teams | 42 |
| Zeit | Format MM:SS,T oder HH:MM:SS,T | 18:34,2 |
Trennzeichen Komma oder Semikolon werden automatisch erkannt. Spalten werden anhand des Headers identifiziert.
Internet-Upload FTP
Ergebnisse und Listen können als HTML-Dateien auf einen externen Webserver hochgeladen werden (z. B. IONOS) — über FTP, FTPS oder SFTP.
FTP einrichten
- In der Event-Liste → FTP-Icon → FTP Einstellungen
- Protokoll (FTP / FTPS / SFTP), Host, Port, Benutzername, Passwort, Zielordner eingeben
- Verbindung testen → Speichern
Hochgeladene Dateien
| Datei | Inhalt | Optional |
|---|---|---|
index.html | Navigationsseite mit Links zu allen Läufen | — |
Startliste_[Lauf].html | Startliste pro Lauf & Gesamt | — |
Ergebnisliste_[Lauf].html | Ergebnisse pro Lauf & Gesamt | — |
Urkunden_[Lauf].html | Urkunden pro Lauf & Gesamt | — |
Vereinsliste_[Event].html | Teams nach Verein gruppiert | Ja |
Quittungen_[Event].html | Startgebühren pro Verein | Ja |
Vereinsliste und Quittungen sind nicht in der index.html verlinkt und müssen separat hochgeladen werden.
2. Mac / Netzwerkpfad
Über den Datenpfad-Button kann ein gemeinsamer Netzwerkordner (SMB/AFP) als Datenspeicher festgelegt werden. Beide Macs greifen auf dieselben Event-Daten zu.
Alle Macs müssen exakt denselben Netzwerkpfad eingebunden haben. Backups werden immer lokal gespeichert (unabhängig vom Netzwerkpfad).
Der RunLockManager zeigt den Status des anderen Macs an und verhindert gleichzeitiges Schreiben in denselben Lauf.
Import & Export
CSV-Export (Teams)
Toolbar der Event-Liste → Teams exportieren: Teilnehmerliste als CSV mit Startnummer, Teilnehmer, Verein, Jahrgang, Wettbewerb.
CSV-Export (Ergebnisse)
Toolbar der Event-Liste → Ergebnisse exportieren: Lauf, Startnummer, Zeit, Platz gesamt, Platz im Wettbewerb.
CSV-Import (Teams)
Der Import erkennt Semikolon und Komma als Trennzeichen automatisch. Die Athleten-Spalten wiederholen sich je nach Lauf-Konfiguration (1–4 Athleten).
| Spalte | Inhalt |
|---|---|
| Startnummer | BIB |
| Geschlecht | m / w / x |
| Wettbewerb | Wettbewerbsname (optional) |
| Teilnehmer 1 | Name Athlet 1 |
| Jahrgang 1 | Geburtsjahr Athlet 1 |
| Verein 1 | Vereinsname Athlet 1 |
| Teilnehmer 2 … 4 | Name Athlet 2–4 (optional, je nach Lauf-Einstellung) |
| Jahrgang 2 … 4 | Geburtsjahr Athlet 2–4 (optional) |
| Verein 2 … 4 | Vereinsname Athlet 2–4 (optional) |
Der Export (Button Teams exportieren) erzeugt exakt dieses Format mit der im Event vorkommenden maximalen Athletenanzahl.
Backup & Event-Daten
Automatisches Backup
Alle 10 Minuten wird automatisch ein lokales Backup erstellt (nur bei Änderungen). Backups liegen immer lokal — unabhängig vom Netzwerkpfad.
Backup-Manager
Toolbar → Wolken-Symbol → Backup-Manager: Liste aller Backups mit Datum. Backup auswählen → Wiederherstellen.
Event-Datei exportieren / importieren
Einzelne Events können als JSON-Datei exportiert und auf einem anderen Mac importiert werden — für Sicherung, Weitergabe oder Gerätewechsel.
Feldbeschreibungen
Team-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
| Startnummer (BIB) | Text | Eindeutige Kennnummer des Teams |
| Geschlecht | m / w / x | Männlich, weiblich, gemischt |
| Athlet 1 – 4 | Text | Vor- und Nachname (Anzahl je nach Lauf-Einstellung) |
| Verein 1 – 4 | Text | Vereinszugehörigkeit je Athlet (kann unterschiedlich sein) |
| Jahrgang 1 – 4 | Zahl | Geburtsjahr je Athlet — Basis für Wettbewerbszuweisung |
| Wettbewerb | Auswahl | Zugeordnete Altersklasse |
Wettbewerb-Felder
| Feld | Beschreibung |
|---|---|
| Name | z. B. „U14 männlich" |
| Teamalter von / bis | Altersbereich in Jahren |
| Disziplin | Strecke oder Disziplinbezeichnung |
| Startgeld | Betrag in Euro (für Quittungen) |
Tastenkürzel
| Kürzel | Funktion |
|---|---|
| ⌘N | Neues Event anlegen |
| ⌘T | Teilnehmerverwaltung öffnen |
| ⌘R | Zeitmessung öffnen |
| ⌘⇧D | Urkunden Designer öffnen |
| ⌘⌥B | Backup-Verwaltung öffnen |
| ⌘⇧B | Backup erstellen |
| ⌘⇧E | Report: Ergebnisliste |
| ⌘⇧U | Report: Urkunden |
| ⌘⇧V | Report: Vereinsliste · oder (in Teilnehmerverwaltung) Teams aus Zwischenablage importieren |
| ⌘Z | Rückgängig |
| ⌘⇧Z | Wiederholen |
| ⌘M | Fenster minimieren |