Configuration - topological-state/stskit Wiki

Jedes Stellwerk verfügt über eine Konfigurationsdatei im JSON-Format, die beim ersten Start im Homeverzeichnis des Users erstellt wird. Der Dateinamen setzt sich aus der Stellwerk-ID und der Endung json zusammen. Das Beispiel unten zeigt die Datei 812.json.

Die Konfigurationsdatei definiert die Anschlussgruppen (= zusammengehörende Ein- und Ausfahrten) sowie die Bahnhöfe (= zusammengehörende Bahnsteige, auch Bahnsteiggruppen genannt). Diese Zuordnungen werden von der Plugin-Schnittstelle nicht konsistent geliefert bzw. in den Stellwerken nicht konsistent definiert. Möglicherweise gibt es hierbei auch Präferenzen der jeweiligen Benutzer.

Die Konfiguration wird daher beim ersten Start nach gewissen Algorithmen erstellt, muss aber i.a. manuell nachbearbeitet werden. Solange dafür noch kein GUI implementiert ist, muss dies direkt in der JSON-Datei erfolgen. Bei JSON-Dateien auf Kommas und Klammern achten! Leerzeichen und Zeilenwechsel ausserhalb von Anführungszeichen können weggelassen werden. Umlaute im UTF-8 Encoding sind erlaubt, werden aber vom Plugin als \u.... Codes geschrieben.

Die folgende Beispieldatei zeigt, wie im Stellwerk Lötschberg Nord, Anschlüsse (z.b. die unter KA Depot) zusammgefasst werden. Der vorgeschlagene Gruppenname kann manuell abgeändert werden, damit der kurze Name KA für den Bahnhof zur Verfügung steht. Gruppennamen müssen unter allen Anschlussgruppen sowie Bahnsteiggruppen eindeutig sein! Die Reihenfolge der Gleisnamen in den einzelnen Gruppen ist beliebig.

Bei den Bahnhöfen habe ich z.B. die Bahnsteige des Autoverlads und des Personenbahnhofs zusammengefasst. Man kann die Bahnhofsteile auch separat lassen. Je nach Gleisplan eines Stellwerks können dadurch aber Züge im Bildfahrplan fehlen, weil die kürzeste Verbindung an dem Bahnhofsteil vorbei führt.

{
    "_aid": 812,
    "_build": 5832,
    "_name": "L\u00f6tschberg Nord",
    "_region": "Bern - L\u00f6tschberg",
    "_version": 2,
    "anschlussgruppen": {
        "AlpTransit": {
            "__class__": "Set",
            "data": [
                "AlpTransit"
            ]
        },
        "FEB": {
            "__class__": "Set",
            "data": [
                "FEB 503"
            ]
        },
        "Goppenstein": {
            "__class__": "Set",
            "data": [
                "Goppenstein 138",
                "Goppenstein 238"
            ]
        },
        "HOND": {
            "__class__": "Set",
            "data": [
                "HOND"
            ]
        },
        "KA Depot": {
            "__class__": "Set",
            "data": [
                "KA 25-27",
                "KA 13-15"
            ]
        },
        "Spiez": {
            "__class__": "Set",
            "data": [
                "Spiez 202",
                "Spiez 102"
            ]
        },
        "Visp": {
            "__class__": "Set",
            "data": [
                "Visp 842",
                "Visp 742"
            ]
        }
    },
    "bahnsteiggruppen": {
        "BL": {
            "__class__": "Set",
            "data": [
                "BL 3",
                "BL 1",
                "BL 2"
            ]
        },
        "FEB": {
            "__class__": "Set",
            "data": [
                "FEB 502",
                "FEB 501"
            ]
        },
        "FERD": {
            "__class__": "Set",
            "data": [
                "FERD"
            ]
        },
        "FR": {
            "__class__": "Set",
            "data": [
                "FR 6",
                "FR 3",
                "FR 1",
                "FR 4",
                "FR 2",
                "FR 5",
                "FR 7",
                "FR 8"
            ]
        },
        "KA": {
            "__class__": "Set",
            "data": [
                "KA 4",
                "KA 7",
                "KA 2",
                "KA 55",
                "KA 56",
                "KA 3",
                "KA 57",
                "KA 5",
                "KA 6",
                "KA 1"
            ]
        },
        "KG": {
            "__class__": "Set",
            "data": [
                "KG 1",
                "KG 2"
            ]
        },
        "MUE": {
            "__class__": "Set",
            "data": [
                "MUE 2",
                "MUE 1"
            ]
        },
        "REIK": {
            "__class__": "Set",
            "data": [
                "REIK 2",
                "REIK 1"
            ]
        },
        "WENE": {
            "__class__": "Set",
            "data": [
                "WENE"
            ]
        }
    }
}