CS3-Lokdaten read-only lesen
RailKeeper liest die Lokliste einer aktiven Märklin CS3 oder CS3 Plus per HTTP in den bestehenden Arbeitsbereich Digitalzentralen. Der Ablauf erstellt eine dauerhafte Vergleichsvorschau. Er schreibt nichts zur CS3 und steuert keine Lokomotive.
Alle CS3-Routen sind ausschließlich für Admin verfügbar. Host und Port stammen aus der Serverkonfiguration unter Einstellungen > Digitalzentralen. Werte aus dem Leseaufruf können den gespeicherten Zielhost nicht überschreiben. RailKeeper akzeptiert nur private IP-Adressen im lokalen Netzwerk, lehnt Loopback-, Link-Local- und öffentliche Ziele ab und bindet aufgelöste Hostnamen für den gesamten Abruf an die geprüfte IP-Adresse.
Unterstützte CS3-API-Generationen
| CS3-Firmwaregeneration | Read-only Endpunkt | Verhalten |
|---|---|---|
| ab 2.6 | /app/api/locos | Wird immer zuerst geprüft und verwendet. |
| vor 2.6 | /app/api/loks | Wird nur verwendet, wenn der aktuelle Endpunkt eindeutig mit HTTP 404 antwortet. |
Andere Fehler lösen keinen stillen Fallback aus. Eine Anmeldung, Weiterleitung, HTML-Seite oder unbekannte Antwort gilt nicht als erfolgreiche CS3-Verbindung.
Märklin beschreibt CS3 und CS3 Plus als lokale Zentralen mit Lokdatenbank, veröffentlicht jedoch keinen stabilen Vertrag für diese Web-App-Endpunkte. Die Endpunktformen und Feldnamen wurden aus öffentlich dokumentierten TrainControl-Kompatibilitätsdaten abgeleitet. Die RailKeeper-Fixtures cs3_loks_pre_2_6_anonymized.json und cs3_locos_2_6_anonymized.json bilden diese Antwortformen anonymisiert nach. Sie enthalten keine privaten Anlagen- oder Lokdaten. Für diese Fixtures liegt keine direkte Hardware-Verifikation durch das RailKeeper-Projekt vor.
Gelesene und bewusst ausgelassene Daten
RailKeeper übernimmt pro Lok nur:
uidals stabile externe CS3-ID;nameoder ersatzweise den dekodierteninternname;addressals Decoderadresse;dectypals normalisiertes Protokoll, zum Beispiel MFX, Motorola oder DCC.
RailKeeper ignoriert Geschwindigkeit, Richtung, aktive Funktionen, Icons, CVs und Anlagenobjekte. Es startet kein Live-Monitoring und sendet keine Steuer- oder Schreibbefehle. Eine Decoderadresse ist nur ein Vergleichsmerkmal. Namen allein erzeugen niemals einen automatischen Treffer.
Sicher lesen und vergleichen
- Unter Einstellungen > Digitalzentralen die CS3 mit Host und HTTP-Port konfigurieren.
- Verbindung testen ausführen. Erfolg setzt eine kompatible, gültige JSON-Lokliste voraus.
- Unter Letzte Diagnose optional Diagnosedaten lesen wählen. RailKeeper zeigt API-Pfad, Generation, HTTP-Status, Content-Type, Anzahl und den Hinweis
readOnly. - Den Adapter aktivieren und den Arbeitsbereich Digitalzentralen öffnen.
- Daten lesen wählen. RailKeeper legt eine neue Read-Session und Vergleichsarbeitsliste an.
- Neue, fehlende, abweichende und mehrdeutige Einträge prüfen. Mehrere mögliche Adresstreffer bleiben als sichtbarer Konflikt bestehen.
Der Abruf ist auf HTTP GET, 8 MiB Antwortgröße und 5.000 Lokomotiven begrenzt. Weiterleitungen werden abgelehnt. Nur JSON-Content-Types und vollständig validierte UIDs, Namen, Adressen und Protokolle gelangen in die Vorschau.
Fehlerbehebung
| Diagnose | Prüfen |
|---|---|
| Netzwerk- oder Timeoutfehler | CS3-IP, Port, lokales Netz und Erreichbarkeit vom RailKeeper-Server prüfen. |
| Ziel wurde abgelehnt | Eine private CS3-Adresse aus dem lokalen Netzwerk konfigurieren. Öffentliche, Loopback- und Link-Local-Adressen sind nicht zulässig. |
| Authentifizierungsfehler | Zugriffsschutz der CS3-Webanwendung prüfen. RailKeeper umgeht keine Anmeldung. |
| Weiterleitung abgelehnt | Den direkten lokalen CS3-Host konfigurieren. RailKeeper folgt keiner Weiterleitung. |
| Kein JSON oder HTML erhalten | Prüfen, ob Host und Port die CS3-API statt einer Login- oder Proxyseite erreichen. |
| Keine unterstützte Loklisten-API | Firmware und Web-App-Verfügbarkeit prüfen. Beide bekannten Endpunkte lieferten 404. |
| Ungültige Lokdaten | UID, Name, Decoderadresse oder Protokoll einer Lok liegt außerhalb der sicheren Grenzen. Die gesamte Antwort wird verworfen. |
| Lok erscheint als Konflikt | Mehrere RailKeeper-Fahrzeuge passen zu Adresse und Protokoll. Zuordnung manuell prüfen. |
Dokumentierte RailKeeper-Version
Dieses Kapitel dokumentiert RailKeeper v0.1.20.3 und wurde zuletzt am 28.08.2026 geprüft.
