JMRI HowTo

Nachdem ich immer wieder mal auf JMRI angesprochen wurde und es da wohl große Probleme mit dem Verständnis gibt, versuche ich mal ein kleines HowTo zu verfassen. Also gut, es geht los.

Kapitel 1: Einleitung

JMRI (Java Model Railroad Interface) ist eine Sammlung von verschiedenen Programmen zur Steuerung und Bedienung einer Modellbahn, die von (meist US-) Modellbahnern für Modellbahner entwickelt wird, die quelloffen und kostenlos ist. Java ist eine weit verbreitet Programmiersprache, die auf allen denkbaren Systemen lauffähig ist. Kein Handy, kein PC der nicht mit Java “kann”.

JMRI kann von der Webseite des Projekts kostenlos herunter geladen werden. Es gibt dort Installer für alle möglichen Systeme. Auch ein RaspberryPI “Bastelcomputer” kann mit JMRI zusammen genutzt werden. Man findet aber eigentlich immer etwas, das nicht (mehr) für andere Dinge gebraucht wird und was man für JMRI verwenden kann. Ich selbst verwende einen Windows 11 Mini PC, der neu 69€ gekostet hat und mit nur 3 Watt Stromverbrauch (sofern er nicht voll ausgelastet ist) sehr sparsam ist. Man kann  aber auch ein ausrangiertes Laptop oder ähnliches verwenden. Wichtig ist nur, das man die eigene Zentrale irgendwie mit diesem Computer verbinden kann.  Aktuelle Zentralen habe meist ein Computer Interfache, sei es über USB oder über das Netzwerk. Und wenn nicht, kann man fast immer eines nachrüsten. Hat man z.B. den alten Roco Multimaus mit Verstärker als Zentrale, dann kann man ein Xpressnet Interface (z.B. von Lenz) verwenden. Vergleichbares gibt es auch für Loconet usw… Bei einem USB (oder eventuell auch einem alten Seriellen Interface) muss die Zentrale direkt an den Computer angeschlossen werden, auf dem das Kernstück von JMRI läuft, der Server. Darauf gehe ich später noch genauer ein. Bei moderneren Geräten wie etwa der Z21 wird die Computer- Verbindung meist übers Netzwerk (LAN oder WLAN ist egal) hergestellt. Dann müssen die Zentrale und der JMRI Server nur im selben Netzwerk sein. tatsächlich kann man JMRI sogar übers Internet nutzen.

In diesem HowTo verwende ich meine freigeschaltete z21 Start als Beispiel. Die Liste der unterstützten Zentralen und Interfaces ist aber schier endlos lang. Darunter auch diverse Eigenbau- Projekte, nicht nur industriell hergestellte Geräte. Die Schritte sind aber fast immer genau dieselben, die man vornehmen muss. Gelegentlich gibt es andere Einstellungen, weil man eben statt LAN ein USB Interface hat oder ähnlichem.

Kapitel 2: Die Grundkomponenten.

Bei einer Software gibt es zwei grundsätzlich unterschiedliche Herangehensweisen. Zum einen kann man ein “All in One” Programm herstellen. Dann wird alles in diesem einen Programm erledigt. Als bekanntes Beispiel sei hier mal Word genannt. Man schreibt seine Briefe in Word und druckt sie dann auch gleich aus Word aus.  Der Vorteil ist, man muss nur ein Programm installieren und warten. Der Nachteil ist aber, man kann immer nur auf dem Gerät arbeiten, auf dem das Programm installiert wird. Früher war das absolut üblich, heute empfindet man so etwas als Einschränkung. Heute will man auch mal unterwegs vom Smartphone aus weiter arbeiten oder eben im Homeoffice und im Büro abwechselnd. Deswegen wird versucht, solche Funktionalität nachträglich in bereits existierende Programme zu integrieren. Sowas gelingt mehr oder weniger gut heute meistens über sogenannte “Cloud” Anwendungen. Dabei wir ein großer Teil der Arbeit und des Speichers auf externe Server ausgelagert. Hier gibt es auch wieder Vor- und Nachteile. Der Vorteil ist, man hat keine Arbeit mit der Cloud, da alles vom Anbieter gepflegt wird. Der gravierende Nachteil ist aber, das man nicht nur seine Daten, sondern auch seine Arbeit komplett in fremde Hände übergibt. Kein Mensch kann kontrollieren, was Google oder Microsoft mit den eigene Dokumenten anstellt, wenn sie erst mal bei denen in der Cloud liegen. Dazu kann man ohne Internet- Verbindung erst gar nicht auf seine Dateien zugreifen.

Um diese Nachteile zu umgehen, wird auch im Heimbereich immer häufiger mit sogenannten Server- Client Systemen gearbeitet. Hierbei gibt es eine Kern- Anwendung, eben den Server, der die Daten zentral vorhält, die Verbindung zur Außenwelt regelt und die Ressourcen auf die einzelnen, durchaus zahlreich möglichen Klienten aufteilt. Als Anwender hat man mit dem Server praktisch keinen Kontakt. Man selbst arbeitet stets mit der Klient- Software. Ein Beispiel ist der Web Browser. Die Webseiten, die einem angezeigt werden, liegen irgendwo auf der Welt auf einem Web- Server. Man selbst hat damit nichts zu tun, nur mit dem Web Browser (Edge, Chrome, Firefox, Safari,…). Es sei denn, man betreibt selbst eine Webseite oder einen Blog.

Um zur Modellbahn zurück zu kommen,.. Hier ist beispielsweise TrainController so ein “All in One” Programm. Mit TC erledigt man alles auf dem PC, auf dem TC installiert wurde. JMRI hingegen ist ein Server- Klient System. Der JMRI Server muss nur einmal im eigenen Netzwerk installiert sein. Der Server verbindet sich über das Interface mit der Digital- Zentrale. Den Server muss man zwar einmalig konfigurieren, aber hat davon abgesehen später nichts mehr damit zu tun. Macht man später irgendwas an/mit der Anlage, so erledigt man das immer in einem Klient Programm.  Sofern ein USB Interface zum Einsatz kommt, muss dieses zwingend mit dem Computer verbunden werden, auf dem der JMRI Server läuft. Bei einer Anbindung übers Netzwerk, wie bei meiner z21 spielt es keine Rolle, so lange die Geräte im gleichen Netzwerk sind. Ich schreibe dieses HowTo beispielsweise am Schreibtisch. Die z21 steht aber 15 Meter entfernt an der Anlage und trotzdem kann ich von hier aus alles machen.

Man kann so auf verschiedensten Geräten z.B. ein lokal begrenztes Gleisbild- Stellpult erzeigen, die dann gemeinsam über einen einzigen JMRI Server und eine einzige Digital- Zentrale die Steuerung der Anlage verteilt durchführen können. Jedes dieser einzelnen Stellpulte ist ein Klient und kann, aber muss nicht auf demselben Rechner wie der Server laufen. Man kann so beispielsweise an jedem Bahnhof vor Ort ein Tablet installieren, das die Weichen nur dieses Bahnhofs steuert, ohne jedes Mal ein eigenes Interface dafür zu haben. Trotzdem kann man ein zentrales Stellpult einrichten, mit denen man alle Weichen steuern kann, die auf der Anlage verbaut sind. Ein Server- Klient System ist viel flexibler aber, besonders am Anfang, auch komplexer  als ein All in One System.

Das oben gesagte ist wichtig, um die Arbeitsweise von JMRI zu verstehen. Deswegen kam dieses Kapitel noch vor der eigentlichen Installation, die nun folgt.

Kapitel 3: Installation

Um JMRI zu installieren, muss man zuerst mal den Installer von der JMRI Webseite herunter laden. Dazu muss man natürlich wissen, welches Betriebssystem auf dem Rechner läuft, auf dem man JMRI nun installieren will.  Bei mir ist das in dem Fall Windows 11 x64 (also 64 Bit). Da JMRI permanent weiter entwickelt wird, gibt es unzählige Versionen an Installern. Für den Normal- Anwender ist die aktuelle “Production release”, also die aktuelle Stabile Version am besten geeignet. Zur Zeit ist das die Version 5.10. Wir laden also diese Version herunter. Die Datei ist (für Windows 11) knapp 200 MByte groß. Der Download kann je nach Internet- Geschwindigkeit also einen Moment dauern. Ist der Download abgeschlossen, starten wir die Installationsdatei einfach per Doppelklick. Gut möglich, das dann eine Warnung aufpoppt.

Die ist aber völlig unsinnig, wie leider bei 99,9999% solcher Meldungen. Man muss hier “Weitere Informationen” anklicken und dann auf “Trotzdem Installieren” klicken. Bei anderen Betriebssystemen kommt da entweder gar keine oder eine andere Meldung, die aber auch nichts anderes bedeuten als Unfug und die man auf eine ganz ähnliche Art umgehen kann.

Dann erscheint ein normaler Installations- Assistent, wie bei den meisten Programmen üblich. Hier kann man verschiedene Sachen anpassen. Meist stimmen die vor- eingestellten Dinge aber.  Während der Installation wird auch die installierte Java Version überprüft. Im Zweifel wird dann dazu aufgefordert, eine entsprechendes Java zu installieren. Nach kurzer Zeit ist die Installation dann abgeschlossen und wir finden einen neuen Ordner im Startmenü, JMRI.

in diesem Ordner finden wir nun verschiedene Icons. Die beiden wichtigsten sind “Decoder Pro” und “Panel Pro”. “Sound Pro” ist dasselbe wie Decoder Pro, nur dass das Programm gleich im Sound Fenster geöffnet wird. Kann man eigentlich auch ignorieren, finde ich.

Bevor wir genauer auf die beiden “Haupt- Programme” eingehen, sollten wir zunächst mal den Server konfigurieren.

Viele Server- Systeme haben eigene Konfigurationsprogramme dabei. Bei JMRI ist die Server- Konfiguration in den beiden Hauptprogrammen eingebaut (in Beide, es ist egal, welches der Programme man nimmt). Also starten wir nun einfach mal Decoder Pro.

Beim ersten Start erscheint Decoder Pro auf Englisch. Um das umzustellen gehen wir oben im Menü auf “Edit” und dann “Preferences”. Dann erscheint ein neues Fenster. Hier wählen wir links “Display” aus und dann den Reiter “Locale” . Hier können wir nun die Sprache einstellen, als bei uns, “German (Germany)” (oder was sonst am besten passt) .

Nun unten links auf “Save” klicken und Decoder Pro neu starten. Wenn man Decoder Pro auf Deutsch umgestellt hat, wird auch Panel Pro automatisch auf Deutsch umgestellt. Erleichtert einem später das Leben.

Als nächstes konfigurieren wir den Server, damit JMRI eine Verbindung zur Zentrale herstellen kann. Das geht fast an derselben Stelle, wie das Umstellen der Sprache. Nur das jetzt die Begriffe übersetzt sind. Also “Bearbeiten” > “Voreinstellungen” statt “Edit” > “Preferences”.

Gleich oben der erste Punkt heißt “Verbindungen”. Hier werden die Verbindungen zu den Zentralen (wie erwähnt, man kann mehrere Zentralen gleichzeitig nutzen) konfiguriert.

Bei mir mit der z21 sieht das dann so aus:

Ich habe bei meiner z21 die IP Adresse geändert, damit sie zu meinem Heimnetzwerk passt. Deswegen muss ich sie in der Maske noch ändern. nach dem Speichern und dem erneuten Neustart ist die Verbindung zur z21 hergestellt und man kann anfangen zu arbeiten. Es gibt noch “tausende” weitere Einstellungen, um die wir uns später kümmern werden, sofern sie relevant sind.

Im nächsten Kapitel fangen wir an, mit JMRI zu arbeiten. Dazu bauen wir zuerst mal unsere Lok- Bibliothek auf, auf die quasi ständig zugegriffen wird. Das wird in Decoder Pro erledigt, was wir uns als Nächstes etwas näher anschauen wollen.

Kapitel 4: Decoder Pro – Lokpark anlegen.

Decoder Pro ist ein mächtiges Programm, das vorrangig zum komfortablen Programmieren von Digital- Decodern dient. Daneben erstellt und pflegt man hier auch seine Lok- Bibliothek, hier Lokpark genannt. Damit wollen wir jetzt beginnen.

Die “Weihnachts- Stainz” soll hier als Beispiel- Objekt dienen. Die Lok hat einen Train-O-Matic Lokommander 2 Mini Decoder eingebaut. Aber wir tun mal so, als ob wir nicht wüssten, was für ein Decoder da drin ist. Wir starten nun also Decoder Pro. Oben links gibt es einen Knopf mit einem + und Neue Lok drauf. Hier einmal klicken und es erscheint ein neues Fenster.

Hier kann man nun manuell den verwendeten Decoder auswählen. Oder eben auf “Typ aus Decoder auslesen” klicken. Damit das sicher funktioniert. müssen sowohl die Gleise als auch die Lok Räder blitzeblank geputzt sein. Ist das erfüllt, wählt Decoder Pro jetzt den passenden Decoder aus der Liste aus, sofern der Decoder- Typ überhaupt bekannt ist. Da aber jeder die Decoder- Beschreibungen einsenden kann, ist die Chance sehr groß, das der Decoder auch bekannt ist und somit erkannt werden kann.

Oben wo <Neue Lok> steht, kann man nun einen beliebigen Namen für die Lok vergeben. Da ich mehrere Stainz habe, wird diese Lok als “Wehnachts- Stainz” bezeichnet. Wenn man nun auf “Speichere” klickt, ist die Lok im Lokpark, also der Lok Bibliothek eingepflegt. Schließt man das Fenster wieder, so hat man nun im Hauptfenster die grade angelegte Lok gelistet, statt der bisherigen “Kurzanleitung”.

Hier kann man nun ganz viele verschiedene Dinge mit dem Eintrag anstellen.  Zuerst habe ich mal das weiter oben schon gezeigte Foto der Lok hier hinzugefügt. Dazu klickt man auf Aufschriften und Medien. Dann kann man hier ein Foto in den entsprechenden Rahmen ziehen (Drag & Drop) um es zu verwenden. Speichern nicht vergessen, sonst ist es wieder weg.

Nun taucht auch das Foto im Hauptfenster auf.

Nun füge ich noch eine weitere Lok hinzu, diesmal mit ESU Loksound 4 Micro Decoder. Die Vorgehensweise ist exakt dieselbe wie bei der Weihnachts- Stainz.

Und so sieht der Eintrag dann aus:

Das kann man jetzt für beliebig viele Loks machen. Diese Lokliste wird in allen JMRI Programmen verwendet, auch z.B. für WiThrottle Handregler, auf die wir viel später noch zu sprechen kommen.,

Außerdem kann man so bereits angelegte Loks ganz einfach programmieren. Dazu nur die Lok in der Liste auswählen und dann auf “Programmieren” Klicken. Decoder Pro ist ein wirklich mächtiges Werkzeug mit unzähligen Funktionen. Die kann man unmöglich in diesem Rahmen alle ausführlich behandeln. Ums Programmieren mit Decoder Pro geht es dann im nächsten Kapitel.

Kapitel 5: Decoder Pro – Programmieren.

Nun kommen wir zum “Kerngeschäft” von Decoder Pro, dem Programmieren von DCC Decodern bzw. von Decodern, die sich im DCC Modus programmieren lassen. JMRI kommt ursprünglich aus den USA, auch wenn es inzwischen ein sehr internationales Projekt geworden ist. Außerhalb des deutschsprachigen Raums hat DCC fast 100% Marktanteil. Motorola, MFX und Selectrix sind dort defacto nicht existent. Viele der SFX oder Märklin Decoder “verstehen” auch DCC und lassen sich deswegen auch mit Decoder Pro programmieren. Reine Motorola oder Selectrix Decoder können mit DecoderPro allerdings nicht programmiert werden.

Neben dem eigentlichen Schreiben von CV Werten ist natürlich auch das Auslesen derselben von Bedeutung. Wir haben das ja schon beim Anlegen des Lokparks verwendet, um den Decoder- Typ zu ermitteln. Ich bin darauf angesprochen worden, das ich erwähnen sollte, dass das Auslesen nur auf dem Programmiergleis funktioniert. Es mag Zentralen geben, bei denen das so ist. Allerdings sollten zumindest alle Zentralen, die POM (also Programmieren auf dem Hauptgleis) beherrschen die CV Werte auch auf dem Hauptgleis auslesen können. Aber ich kennen natürlich nicht alle Zentralen. In sofern, falls das Auslesen auf dem Hauptgleis bei euch nicht funktioniert, probiert es auf dem Programmiergleis. Natürlich gibt (besser gab) es auch Zentralen, die keine CV auslesen können, wie etwa die Multimaus- Verstärker Kombi.  Meine z21 Start hat erst gar kein Programmiergleis und trotzdem klappt das Auslesen tadellos. Die z21 hat zwei Programmiermodi, einmal POM  und einmal den Programmiergleis Modus. Nur im letzteren kann man die Decoder- Adressen programmieren oder den Decoder zurücksetzen. Es wäre blöd, wenn plötzlich alle Loks auf dieselbe Adresse hören würden. Alles andere funktioniert aber auch auf dem Hauptgleis bzw. im POM Modus. In Decoder Pro schaltet man einfach den Modus um, sofern notwendig.  Wenn ich ein “Programmiergleis” brauche, kann ich die Anlage bis auf ein Abstellgleis mit einem Kippschalter von der Zentrale trennen. Das Abstellgleis, das dann als Einziges noch versorgt wird, dient dann als Programmiergleis.  Ist aber wie gesagt nur bei Adressänderungen u.Ä. notwendig. Bei Zentralen, die einen extra Anschluss für ein Programmiergleis besitzen, spart man sich diesen Schalter. Der Schalter ist dann in Form eines Relais direkt in der Zentrale eingebaut.

Um tatsächlich CV Werte schreiben zu können, muss man Decoder Pro entsprechend umschalten. Nach dem Start ist “Nur Bearbeiten” ausgewählt. Dann kann man zwar den Lokpark- Eintrag anpassen und auch den Decoder- Typ auslesen, aber keine CV Werte ändern. Sprich, man kann keinerlei Schaden anrichten.

Man schaltet hier also entweder auf  Programmiergleis oder auf Betriebsgleis um, wenn man wirklich CV ändern will. Was man wählt, hängt von den Gegebenheiten ab. Ich habe Programmiergleis gewählt, da ich alles zeigen will.

Um eine möglichst große Vielfalt von unterschiedlichen Decodern zeigen zu können, habe ich auch noch eine dritte Lok in meinem Lokpark  angelegt.

Eine Bachmann 4-4-0 American, die ab Werk bereits digitalisiert wurde. Der dort eingebaute Decoder ist sehr spärlich ausgestattet, was sich dann auch in Decoder Pro niederschlägt.

 

Die Reiter “Lokparkeintrag” und “Basis” sind bei allen Decodern gleich. Im Reiter Lokpark kann man die Details zum Eintrag der entsprechenden Lok ansehen und ggfs. auch ändern. “Programmiert” wird hier aber nichts. In “Basis” stellt man die DCC Adresse ein, die die Lok haben soll. Auch die Anzahl der Fahrstufen, die Fahrtrichtung und ob die Lok auch bei analogem Betrieb fahren soll. Das sind alles CV, die genormt sind und von jedem Decoder so verwendet werden. Die Werte (jeder Seite) werden intern in Decoder Pro abgespeichert, so das man sie jederzeit zur Verfügung hat, auch wenn die Zentrale ein Auslesen von CV nicht beherrscht. Alle Werte, die hier gelb unterlegt sind, sind bisher nicht durch auslesen der entsprechenden CV bestätigt, sondern wurden aus dem internen Datenbestand von Decoder Pro eingesetzt.

Unten gibt es viele Knöpfe. Die gibt es auf jeder Seite und sie bewirken immer dasselbe. Mit “Diese Seite auslesen” werden alle Werte, die hier angezeigt werden aus dem Decoder ausgelesen und in der Seite aktualisiert, sollte sich seit dem letzten Einsatz von Decoder Pro irgendwelche Werte geändert haben. Dasselbe trifft auf “Alle Seiten auslesen” zu, nur das hier wirklich alle CV des Decoders ausgelesen werden, was je nach Decoder ewig dauern kann. Man kann auch nur die Änderungen auslesen lassen. Dieselben Knöpfe gibt es auch für das Schreiben der Werte. Man kann also die Werte auf dieser Seite oder allen Seiten schreiben lassen, oder auch nur die Änderungen. Ich würde das Ganze aber immer seitenweise machen, nicht alle Seiten auf einmal. Das dauert einfach sonst zu lange und die Möglichkeit, das es ein Kontaktproblem gibt und deswegen das Schreiben nicht richtig funktioniert unverhältnismäßig groß wird. Schließlich “zuckt” die Lok beim Lesen und Schreiben von CV immer etwas auf dem Gleis herum. So kann sie sich auch mal auf ein etwas dreckigeres Stück bewegen und die Verbindung unterbrochen werden.

Ich habe bei der American mal auf “Diese Seite auslesen” geklickt und danach sieht es wie folgt aus:

Nun ist nichts mehr gelb und die Werte bei “Private ID” sind andere. Wobei ich nicht mal weiß, wozu diese Werte da sind. Wichtig sind sie wohl nicht. Nun programmieren wir mal etwas um. Aktuell läuft die Lok nicht analog. Das stellen wir nun um, damit die Lok auch analog funktioniert.

Sofort wird es wieder bunt, dieses Mal Orange. Das signalisiert, es gibt Änderungen, die noch nicht in die CV geschrieben wurden. Also auf “Änderungen dieser Seite schreiben” klicken und es wird wieder alles “farblos”. Während dem Schreiben wird es sogar kurz mal Rot. Also nicht erschrecken, das ist ganz normal.

Genau so funktioniert das auch auf allen anderen Seiten, die der Decoder als Optionen anbietet.

Der Bachmann Decoder ist echt mager ausgestattet.

Man kann fast nichts einstellen. Die Motorsteuerung ist überhaupt nicht konfigurierbar, bei der Geschwindigkeit kann man nur die Anfahrgeschwindigkeit einstellen und beim Licht grade mal die Helligkeit des Spitzenlichts. Zum Vergleich mal dieselben Seiten bei dem (einzeln gekauft erheblich günstigeren) Train-O-Matic Lokommander 2 Mini Decoder aus der “Weihnachts- Stainz”.

 

Alleine wie genau man hier die Motor- Ansteuerung einstellen kann, zeigt schon, das der Train-O-Matic “Billig- Decoder” doch die erheblich bessere Wahl ist. Auch die bloße Anzahl an verfügbaren Seiten ist erheblich größer.

Bei der Geschwindigkeitseinstellung hat man gleich zwei Methoden zur Verfügung, eine Einfache, die immerhin noch drei Einstellungen bietet, nicht nur eine wie der Bachmann Decoder, nein, man kann auch eine genau eingestellte Kennlinie verwenden. Zusammen mit der Motor Ansteuerung bekommt man auch eher störrische Loks brauchbar ans Laufen.

Auch beim Licht gibt es viel mehr Möglichkeiten.

Erwartungsgemäß gibt es bei dem ESU Loksound noch mal deutlich mehr Einstellungen. Die Einstellungen für die Motorsteuerung sind tatsächlich aber etwas geringer als beim Lokommander, aber nichts wesentliches. Mag vielleicht auch daran liegen, das der Loksound V4 älter als der Lokommander 2 ist.

Da der Loksound ein “Multiprotokoll-” Decoder ist kann man hier auch einige Einstellungen vornehmen, die nichts mit DCC zu tun haben.

Natürlich kann man hier auch die Sound Einstellungen und Lautstärken vielfältig anpassen.

Die Vielfalt erschlägt einen förmlich. Vielleicht kann man den primitiven Bachmann Decoder noch brauchbar ohne Programmer- Software programmieren, aber spätestens beim ESU Loksound ist wirklich Schluss mit Lustig.

Das Auslesen und Schreiben der CV funktioniert immer gleich. Aber was man einstellen kann, hängt maßgeblich vom eingebauten Decoder ab. Deswegen ist es wichtig, dem Programm mitzuteilen, welcher Decoder eingebaut ist. Sollte ein Decoder dem Programm mal nicht bekannt sein, wird es mühsam. Deswegen sollte man so nett sein, falls man einen bisher nicht erkannten Decoder eingerichtet hat, die Decoderbeschreibung auch hochzuladen, damit der Nächste diese Arbeit nicht mehr machen muss. Fast alle verfügbaren Decoder Beschreibungen wurden von Usern erstellt, nicht vom JMRI Team. Die haben Besseres damit zu tun, die Software ständig zu verbessern. So kann man auch einen kleinen Anteil zum Projekt JMRI beitragen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert