RSMP (Verkehrsmanagement)
RSMP, das Road Side Message Protocol, ist ein offener Standard zur Überwachung von Straßenausrüstung. Es entstammt einer nordischen Zusammenarbeit von Straßenbaulastträgern, wird von RSMP Nordic gepflegt und wird auch außerhalb der nordischen Länder eingesetzt, unter anderem in weiteren europäischen Staaten. Weil es offen und herstellerneutral ist, wird Ausrüstung jedes Anbieters, der es umsetzt, auf dieselbe Weise überwacht.
Es ist auch nicht auf eine Art von Ausrüstung beschränkt. Lichtsignalsteuergeräte, Wechselverkehrszeichen, Wetterstationen sowie Tunnel- und Schrankentechnik werden alle über dasselbe Protokoll überwacht, jeweils beschrieben durch die eigene SXL.
Yggio spricht RSMP als Überwachungssystem. Was angebunden wird, wird zu gewöhnlichen Yggio-Geräten: Sie erscheinen in Ansichten, lassen sich filtern, treiben Regeln und Berichte an und liegen auf der Karte neben allem anderen im Bestand.
Was Yggio heute decodiert. Die Umsetzung deckt die SXL für Lichtsignalsteuergeräte (1.0.15) ab: Signalgruppen, Detektorlogiken, Alarme und aggregierten Status. Andere RSMP-Ausrüstungsarten nutzen dieselbe Verbindung und dasselbe Protokoll, brauchen aber jeweils eine eigene SXL-Decodierung, bevor ihre Werte benannt statt roh ankommen. Fragen Sie den Support, wenn Sie Ausrüstung haben, die kein Lichtsignalsteuergerät ist.
Einen Standort einzurichten sind drei Schritte: den RSMP-Connector anlegen, die Steuergerätekomponente installieren und dann die Detektorlogiken und Signalgruppen installieren. Der Connector hat eine eigene Seite; die beiden Installationsschritte sind weiter unten beschrieben.
Was ein Lichtsignalsteuergerät meldet
Eine Kreuzung ist ein Standort, und ein Standort enthält viele Teile. Zwei Statusmeldungen tragen nahezu alles:
- S0001, Signalgruppenstatus. Ein Zeichen je Signalgruppe, das beschreibt, was diese Gruppe zeigt: Grün, Rot, Gelb, Rotgelb, dunkel, blinkend.
- S0002, Detektorlogikstatus. Ein Zeichen je Detektorlogik,
1wenn der Detektor belegt ist und0wenn nicht.
Beide kommen als eine einzige Zeichenkette für das gesamte Feld an, nicht als einzelne Werte. Ein echtes S0001 aus einer Kreuzung mit zwölf Gruppen sieht so aus:
"sCI": "S0001", "n": "signalgroupstatus", "s": "F5F35F5F1F5F"
und eine Detektorlogikmeldung von einem Standort mit hundert Detektoren so, gekürzt:
"sCI": "S0002", "n": "detectorlogicstatus", "s": "0100000001100011100000000000..."
Position 2 ist eine 1, Detektorlogik 2 ist also belegt. Alles Übrige in diesem Auszug ist frei.
Aufteilung: eine Position je Gerät
Eine Zeichenkette nützt in einem Dashboard wenig, deshalb zerlegt Yggio sie. Jede Komponente, die Sie installieren, beansprucht eine Position, und Yggio schreibt nur den Wert dieser Position auf dieses Gerät.

Die vier Rollen entscheiden, wie eine Komponente den rohen Status liest:
| Rolle | Steht für |
|---|---|
| Controller | Das Steuergerät selbst: aggregierter Status, Alarme, Verbindungszustand |
| Detector logic | Eine Position in S0002 |
| Signal group | Eine Position in S0001 |
| Group | Eine gewählte Menge von Positionen, zu einem Gerät zusammengefasst |
Weil jede Position zu einem Gerät wird, funktioniert hier alles, was auf Geräten funktioniert. Eine
auf signalGroup gefilterte Ansicht zeigt den Zustand einer Kreuzung auf einen Blick:


Um Detektorlogiken live zu verfolgen, ist das Swimlane-Widget eine ausgezeichnete Wahl. Es gibt jedem Detektor eine eigene Bahn und lässt sie gemeinsam laufen, sodass ein Fahrzeug, das mehrere Detektoren nacheinander passiert, als Muster sichtbar wird und nicht als einzelne wechselnde Zahlen. Eine Detektorlogik ist belegt oder nicht, was die Bahnen nebeneinander gut lesbar macht. Es ist eine Live-Ansicht ohne Historie, nutzen Sie es also, um eine Kreuzung zu beobachten, und nicht, um später etwas nachzuschlagen.
Sie brauchen die SXL
Die SXL, Signal Exchange List, ist die eigene Spezifikation des Steuergeräts: welche Detektorlogik und welche Signalgruppe auf welcher Position liegt und wofür jede da ist. Sie ist ein RSMP-Begriff, kein Yggio-Begriff, und der Straßenbaulastträger oder der Lieferant des Steuergeräts hat sie.
Ohne die SXL sind die Positionen geraten. Das wiegt schwerer, als es klingt, denn eine Komponente, die auf die falsche Position zeigt, fällt nicht aus: Sie meldet einen echten Wert vom falschen Detektor, und sie tut das überzeugend. Bestätigen Sie mindestens zwei Positionen gegen die SXL, bevor Sie dem Rest vertrauen.
Besorgen Sie sie, bevor Sie mit der Installation unten beginnen, nicht danach.
Komponenten installieren
Nichts wird automatisch angelegt. Sobald der Connector existiert, wird jede Komponente, die Sie in Yggio haben möchten, als Gerät installiert, über Neues Gerät mit dem Gerätetyp RSMP. Für alle wird dasselbe Formular verwendet; die Rolle macht die eine zum Steuergerät und die nächste zur Detektorlogik.
Installieren Sie zuerst das Steuergerät, danach die Detektorlogiken und Signalgruppen.

| Feld | Beschreibung |
|---|---|
| Component ID | Die Kennung der Komponente im Steuergerät, in SXL-Form, zum Beispiel AA+BBCCC=DDDDL001. Sie muss exakt mit dem Steuergerät übereinstimmen, und jedes Gerät braucht seine eigene |
| External Node ID | Die Knotenkennung, zum Beispiel X00001 |
| RSMP Connector | Der Connector für diesen Standort |
| Status Codes | Welche Statusmeldungen diese Komponente abonniert: S0001 - Signal group status, S0002 - Detector logic status, oder beide |
| Role | Wofür diese Komponente steht, was bestimmt, wie der rohe Status gelesen wird |
| Detector logic number / Signal group number | Welche Position in der Statuszeichenkette dieses Gerät liest, gezählt ab 1. Wird für die Rollen angezeigt, die es brauchen |
Die Geräte sind Geschwister und keine Hierarchie. Eine Detektorlogik sitzt nicht unterhalb des Steuergeräts: Jede verweist direkt auf den Connector und trägt ihre eigene Komponenten-ID. Das Steuergerät ist schlicht die Komponente, deren Rolle Controller ist.
Überprüfen
- Prüfen Sie, dass das Steuergerät sich verbindet: Der Verbindungszustand der Steuergerätekomponente sollte aktiv sein statt abgelaufen.
- Installieren Sie eine Detektorlogik und warten Sie auf die nächste Statusmeldung.
- Bestätigen Sie, dass ihr Wert dem entspricht, was die SXL für diese Position angibt.
- Vergleichen Sie eine zweite Position, bevor Sie dem Rest vertrauen, denn ein Fehler um eins im Index erzeugt plausible Werte statt einer Fehlermeldung.
Wenn sich eine Komponente falsch verhält
Sie meldet nichts. Prüfen Sie, ob das Statuscode-Abonnement zur Rolle passt: Eine Detektorlogik
braucht S0002, eine Signalgruppe braucht S0001. Eine Komponente, die keines von beiden abonniert,
erhält keinen Status.
Sie meldet das Falsche. Fast immer der Index. Positionen zählen ab 1 und werden durch die SXL des Standorts festgelegt, nicht durch die Reihenfolge, in der die Komponenten installiert wurden.
Ihre Werte wiederholen sich. Das ist das Steuergerät, nicht Yggio. Siehe wiederholte Werte.
Wiederholte Werte
Das Steuergerät sendet das gesamte Feld, sobald sich irgendetwas ändert, einschließlich der Werte,
die sich nicht geändert haben. Wird einer von hundert Detektoren belegt, werden alle hundert
Positionen erneut gesendet, und die neunundneunzig unveränderten kommen mit demselben Wert an wie
zuvor. Eine Detektorlogik, die auf 0 steht, kann daher vielfach als 0 gemeldet werden.
Das ist normales RSMP-Verhalten und kein Fehler, aber es ist für alles Nachgelagerte von Bedeutung:
- Yggio unterdrückt die Wiederholungen. Der Ausschnitt jeder Komponente wird mit dem zuletzt für sie geschriebenen Wert verglichen, und eine identische Wiederholung wird nicht erneut geschrieben. Die Historie des Geräts bildet also tatsächliche Änderungen ab und nicht den Nachrichtenverkehr.
- Zählen Sie Nachrichten nicht als Ereignisse. Eine Regel, die auf "gemeldet" statt auf eine Änderung auslöst, würde bei jedem Uplink für jede Position auslösen. Lösen Sie auf die Wertänderung aus.
- Die Zeitstempel stammen vom Steuergerät. In den Beispieldaten oben treffen zehn Statusmeldungen in rund dreieinhalb Minuten ein, und das ist der Schaltschrank beim Melden, nicht die Detektoren, die sich so oft ändern.
Aktualität
Der Signalgruppenstatus trägt ein Qualitätskennzeichen vom Steuergerät, und Yggio zeigt es am Gerät
an. In den Ansichten oben steht es auf recent bei aktuellen und auf old bei veralteten Daten.
Behandeln Sie es als Teil des Messwerts. Eine Signalgruppe, die Grün mit der Qualität old zeigt,
sagt Ihnen, was sie zuletzt wusste, nicht was die Anlage gerade tut, und eine Betriebsansicht sollte
das sichtbar machen, statt es hinter dem Wert zu verbergen.
Alarme und aggregierter Status
Neben den Statusmeldungen sendet ein Steuergerät:
- Alarme, jeweils mit Alarmcode, Zustand und Zeitstempel, zum Beispiel Code
A0010, der aufinActivewechselt. Sie werden an die Komponente geleitet, zu der sie gehören. - Aggregierter Status, die eigene Zusammenfassung des Steuergeräts über seinen Zustand.
Beides landet auf der Steuergerätekomponente, weshalb es sich lohnt, eine zu installieren, auch wenn es Ihnen eigentlich um die Detektoren und Signalgruppen geht.