Seite 1 von 1

Trainliste Frage - Plugin Kandidat

Verfasst: Mi Mär 19, 2025 10:42 pm
von archimedes
Hallo stellwerksim forum,

Bisschen Kontext und Lob
vielen Dank erst mal für die viele Arbeit für alles was den Stellwerksim betrifft.
Auch wenn ich eher ruhig hier in der Community bin, gibt es mich mittlerweile schon etwas länger und das hat auch einen Grund: Man hat doch immer wieder mal Bock auf eine Schicht in diversen Stellwerken und es ist einfach ein toller Sim!

Kürzlich dachte ich mir, dass ich vllt mal eine zugtypabhängige Verspätungsstatistik haben möchte und bin daher auf die Pluginschnittstelle gekommen. Es gibt auch schon Tools, die soetwas enthalten, aber es geht in meinem Fall auch um den persönlichen Programmierspaß. Daher habe ich mir die Plugin-Schnittstelle mal näher angesehen und losprogrammiert.

Frage
Dabei wäre ich sehr dankbar, wenn sich hier Plugin-Experten finden, die mir folgende Frage beantworten können:
Wie veränderlich ist eigentlich die "zugliste" im Realbetrieb: Rutschen da einfach die Züge von Zeit zu Zeit nach? Und wenn ein Zug ganz aus dem Stellwerk fährt, ist er dann sofort aus der Liste verschwunden? Ich habe schon "zugdetails" Anfragen mit 402 beantwortet gesehen.

Plugin Idee
Ob ich jetzt das ganze zur finalen Reife bekomme, bin ich mir selbst noch nicht sicher, steckt eher noch so in der alpha/beta Phase. :wink:
Mit den "ereignissen" habe ich mich noch nicht beschäftigt, das wäre wahrscheinlich auch eine ganze geschickte Sache. Aber Stand jetzt hab ich erst mal Spaß, mich noch tiefer mit dem Stellwerksim zu beschäftigen. Um zu zeigen, dass es mir schon Ernst ist, obwohl ich vielleicht noch nicht weiß, wo hin damit, lasse ich zumindest mal den Link zu den Sourcen da: https://github.com/LLdaniel/SumOfDelay - falls jemand Lust für Kritik/Review hat.

tl;dr: Super Sim, vielen Dank für die Arbeit, ich hab mir den Spaß gemacht, ein Plugin anzufangen, ob es was Finales wird, mal sehen. Derzeit macht es Spaß daran zu basteln.
Dabei ist meine Frage: Wie veränderlich ist eigentlich die "zugliste" im Realbetrieb: Rutschen da einfach die Züge von Zeit zu Zeit nach? Und wenn ein Zug ganz aus dem Stellwerk fährt, ist er dann sofort aus der Liste verschwunden? Ich habe schon "zugdetails" Anfragen mit 402 beantwortet gesehen.

Cheers,
Daniel

Re: Trainliste Frage - Plugin Kandidat

Verfasst: Sa Apr 05, 2025 6:37 pm
von bummler
Hallo

Ich habe ein Plugin in Python geschrieben [1], das die XML-Schnittstelle verwendet. Hier meine Beobachtungen zu deinen Fragen:

- Ausgefahrene Züge werden in der Zugliste tatsächlich gelöscht. Ebenso abgefahrene Fahrplanziele im Fahrplan.
- Die Zugliste wird mit fortschreitender Zeit sporadisch erweitert. Es ist aber nicht so, dass die Liste eine feste Länge hätte und Züge nachrutschen.
- Dass einzelne Zugdetails-Abfragen fehlschlagen, sehe ich auch. Es scheint aber nur Züge zu betreffen, die viel später einfahren.
- Ereignisse sind ein tolles Feature, haben aber auch ein paar Macken.

[1] https://github.com/topological-state/stskit

Gruss
Matthias

Re: Trainliste Frage - Plugin Kandidat

Verfasst: Sa Apr 05, 2025 11:28 pm
von archimedes
Hi Matthias,

vielen Dank für Deine Antworten! Das hilft mir schon mal weiter!
- Ausgefahrene Züge werden in der Zugliste tatsächlich gelöscht. Ebenso abgefahrene Fahrplanziele im Fahrplan.
- Die Zugliste wird mit fortschreitender Zeit sporadisch erweitert. Es ist aber nicht so, dass die Liste eine feste Länge hätte und Züge nachrutschen.
- Dass einzelne Zugdetails-Abfragen fehlschlagen, sehe ich auch. Es scheint aber nur Züge zu betreffen, die viel später einfahren.
Sehr schönes Plugin, hast Du da.
Das muss ich mal bei Gelegenheit testen. Sehe, dass Du dir auch Zuggattungen gebastelt hast.

Wollte mir auch mal Deine API Implementierung ansehen, da meine jetzt nicht vollständig ist, sondern nur das verwendet, was ich gerade brauche. Ursprünglich bin ich mal mit Java gestartet, aber ich hatte tatsächlich ein Problem beim erben von Plugin Lib. Muss nochmal das Problem nachstellen, dann kann ich es auch in einem anderen Thread berichten, vllt hilft es bei der Verbesserung der Lib. Auf die Schnelle bin ich dann auf Python umgestiegen.

Habe jetzt auch ein paar Erfahrungswerte gesammelt und denke, dass ich vorerst einmal ohne Ereignisse auskomme - mal sehen, was sonst noch wird. Oder mit welchen Eigenheiten hattest du bei den Ereignissen zu tun?

Re: Trainliste Frage - Plugin Kandidat

Verfasst: So Apr 06, 2025 9:57 pm
von bummler
archimedes hat geschrieben: Sa Apr 05, 2025 11:28 pm Oder mit welchen Eigenheiten hattest du bei den Ereignissen zu tun?
Ich will in meinm Plugin aus den Ereignissen herauslesen, wann ein Zug wo angekommen oder abgefahren ist. Dazu sind die gelieferten Daten ungenügend, weil die Meldung bereits das nächste Zielgleis anzeigt. Ich muss daher den Status der Züge genau verfolgen und mittels Fallunterscheidungen und Plausibilitätschecks die aktuelle Position raten. Manchmal sind die Angaben in den Ereignismeldungen auch veraltet, oder es gibt Meldungen zu nicht mehr sichtbaren Zügen.

Wenn du nur wissen willst, ob sich die Situation überhaupt geändert hat, und nur die Daten aus den Anfragen nutzst, wirst du weniger Probleme haben. Gewisse Ereignisse können sich im Sekundentakt wiederholen. Daran darf sich dein Programm nicht verschlucken.

ticker.py in meinem Repo zeigt dir alle eingehenden Ereignisse auf der Kommandozeile an. Kannst es ja mal laufen lassen, um einen Eindruck zu erhalten.

Re: Trainliste Frage - Plugin Kandidat

Verfasst: Mi Apr 09, 2025 7:55 pm
von archimedes
Wenn du nur wissen willst, ob sich die Situation überhaupt geändert hat, und nur die Daten aus den Anfragen nutzst, wirst du weniger Probleme haben. Gewisse Ereignisse können sich im Sekundentakt wiederholen. Daran darf sich dein Programm nicht verschlucken.
Ah, verstehe, daher die ganze Logik, die man sich dann selbst zurechtlegen muss.
ticker.py in meinem Repo zeigt dir alle eingehenden Ereignisse auf der Kommandozeile an. Kannst es ja mal laufen lassen, um einen Eindruck zu erhalten.
Das habe ich doch glatt mal gemacht. Sehr spannend. Sieht man mal ganz gut, was so an Ereignissen los ist.
Und wirklich ein sehr hilfreiches Plugin mit all seinen unterschiedlichen Tools.

Kann übrigens einen Testdatenpunkt hinzufügen und bestätigen, dass es mit

Code: Alles auswählen

python3.13
genauso klappt und war mit unterwegs. Hatte nur im Wiki mal was gelesen, dass gerade

Code: Alles auswählen

python3.11
vllt nicht klappt.
EDIT: Auch python3.11 klappt hier auf meinem Debian :)

Sehr interessant fand ich auch deine Zugkategorien. Muss da bei mir vllt mal nochmal ordentlicher unterteilen. Hast du mal überlegt, das als Vorschlag zu bringen, dass die Zuggattung vielleicht nativ vom Stellwerksim mitkommt? Oder denkst das könnte ich mal anregen?

Re: Trainliste Frage - Plugin Kandidat

Verfasst: Sa Apr 12, 2025 10:35 pm
von bummler
archimedes hat geschrieben: Mi Apr 09, 2025 7:55 pm Kann übrigens einen Testdatenpunkt hinzufügen und bestätigen, dass es mit python3.13 genauso klappt und war mit pip unterwegs. Hatte nur im Wiki mal was gelesen, dass gerade python3.11 vllt nicht klappt.
EDIT: Auch python3.11 klappt hier auf meinem Debian :)
Danke für die Meldung! Es dauert bei neuen Python-Versionen jeweils eine gewisse Zeit, bis die verschiedenen Packages miteinander harmonieren. Aber schön, dass es auch in 3.13 läuft!
archimedes hat geschrieben: Mi Apr 09, 2025 7:55 pm Sehr interessant fand ich auch deine Zugkategorien. Muss da bei mir vllt mal nochmal ordentlicher unterteilen. Hast du mal überlegt, das als Vorschlag zu bringen, dass die Zuggattung vielleicht nativ vom Stellwerksim mitkommt? Oder denkst das könnte ich mal anregen?
Es gibt noch einiges, das ich mir vom Stellwerksim wünschte! Einen besseren Signal- alias Wege-Graph zum Beispiel. Aber der Stellwerksim ist, was er ist. Die Entwicklung von wesentlichen neuen Features steht nicht mehr im Vordergrund.

Bei den Zuggattungen kann ich mir vorstellen, dass jeder seine eigene Kategorisierung möchte. Ausserdem kann jeder Stellwerksbauer ein eigenes Schema anwenden. Da wird es schwierig, eine kohärente neue Schnittstelle zu implementieren. Ich habe die Erfahrung gemacht, dass mehr als 8 Farben in den grafischen Darstellung eher für Verwirrung sorgen. Von da kommt meine Kategorisierung. Mit den Gattungskürzeln und der Zugnummer kann ich eigentlich gut arbeiten.

Re: Trainliste Frage - Plugin Kandidat

Verfasst: Di Apr 15, 2025 8:27 pm
von archimedes
Es gibt noch einiges, das ich mir vom Stellwerksim wünschte! Einen besseren Signal- alias Wege-Graph zum Beispiel. Aber der Stellwerksim ist, was er ist. Die Entwicklung von wesentlichen neuen Features steht nicht mehr im Vordergrund.
Verstehe, das kommt natürlich auch darauf an, was sonst gerade der Fokus ist - die Arbeit geht bestimmt nicht aus.
Bei den Zuggattungen kann ich mir vorstellen, dass jeder seine eigene Kategorisierung möchte. Ausserdem kann jeder Stellwerksbauer ein eigenes Schema anwenden. Da wird es schwierig, eine kohärente neue Schnittstelle zu implementieren.
Vielleicht ist es gar nicht so schlecht, wenn ich mir es jetzt genauer überlege, dass man im Moment einfach die Freiheit hat, das selbst zu bestimmen. Vielleicht sollte ich das auch bei mir mal konfigurierbar machen. Aber da fehlen eh noch einige Länder/Regionen...
Ich habe die Erfahrung gemacht, dass mehr als 8 Farben in den grafischen Darstellung eher für Verwirrung sorgen. Von da kommt meine Kategorisierung. Mit den Gattungskürzeln und der Zugnummer kann ich eigentlich gut arbeiten.
Alles gut, ich fand es angenehm, so wie es ist und damit ist ja auch alles wichtige abgedeckt.