JSON als Datenformat für den WLFRED
Für den zukünftigen Datenaustausch von Konfigurationsdaten mit dem WLFRED werde ich JSON (JavaScript Object Notation) als einheitliches Datenformat verwenden.
Hier gibt es nun weitere Informationen dazu.
Aktueller Stand 08_2026
Im Zuge der Weiterentwicklung des WLFRED soll auch die Kommunikation von Konfigurations-, Status- und Betriebsinformationen neu und einheitlich strukturiert werden.
Mit der inzwischen begonnenen Umstellung der Kommunikation auf MQTT bietet es sich an, gleichzeitig ein klar definiertes Datenmodell für den Austausch dieser Informationen festzulegen. Als Datenformat soll dabei JSON verwendet werden.
Für den eigentlichen Fahrbetrieb bleibt es weiterhin beim WiThrottle-Protokoll.
Ausgangspunkt für die Überlegungen ist die heute bereits vorhandene Möglichkeit des WLFRED, wesentliche Geräte-, Netzwerk- und Lokinformationen gesammelt auszugeben. Diese bestehende Struktur wurde analysiert und in logisch getrennte Datensätze überführt. Gleichzeitig wurden bereits geplante Erweiterungen berücksichtigt.
Ein wesentlicher Punkt des Entwurfs ist die klare Trennung zwischen config und status:
- config enthält dauerhaft gespeicherte Einstellungen des WLFRED.
- status enthält aktuelle Betriebs- und Zustandsinformationen, beispielsweise die Akkuspannung oder den aktuellen WLAN-Zustand.
Für den Zugriff ist ein einheitlicher Mechanismus mit get und set vorgesehen. Dabei soll nicht jede Konfigurationsinformation jederzeit von außen auslesbar oder veränderbar sein. Einige wenige Informationen, die insbesondere der Identifikation des WLFRED und des zugeordneten Triebfahrzeugs dienen, werden als public_read eingestuft und können auch im normalen Betrieb gelesen werden. Der Zugriff auf die übrige Konfiguration ist an den bewusst am WLFRED eingeschalteten Konfigurationsmodus gebunden. Schreibzugriffe auf die Konfiguration sollen grundsätzlich nur in diesem Modus möglich sein.
Für die mit public_read gekennzeichneten Informationen ist zusätzlich vorgesehen, diese nicht nur über MQTT, sondern auch direkt über die IP-Adresse des jeweiligen WLFRED abrufen zu können. Denkbar ist beispielsweise ein einfacher HTTP-Aufruf in der Form IP/get.html?vehicle_number, über den die Triebfahrzeugnummer abgefragt werden kann. Damit können entsprechend freigegebene Informationen auch von Anwendungen oder Werkzeugen genutzt werden, die nicht unmittelbar an die MQTT-Infrastruktur angebunden sind. Die genaue Syntax, die Rückgabeform und die technische Umsetzung dieses Zugriffs sind noch festzulegen und werden in einem weiteren Entwicklungsschritt definiert.
Der vorliegende Entwurf beschreibt die derzeit vorgesehenen einzelnen JSON-Datensätze, deren Inhalte und Zugriffsrechte anhand konkreter Beispiele. Berücksichtigt sind dabei sowohl die bereits heute vorhandenen Informationen als auch einige für die weitere Entwicklung geplante Ergänzungen.
Das Dokument ist ausdrücklich als Zwischenstand und Diskussionsgrundlage zu verstehen. Die darin beschriebenen Strukturen sind noch keine endgültige Festlegung. Mit der Veröffentlichung möchte ich den aktuellen Stand transparent machen und insbesondere anderen Entwicklern die Möglichkeit geben, Anmerkungen, Verbesserungsvorschläge oder alternative Lösungsansätze einzubringen.
Ziel ist es, daraus gemeinsam eine möglichst einfache, nachvollziehbare und langfristig erweiterbare Struktur für den Datenaustausch mit dem WLFRED zu entwickeln.
Download aktueller Dokumentationstand
Die Dokumentation auf aktuellem Stand kann heruntergeladen werden [LINK]
