Handbuch

STS Handbuch

Stellwerksim Handbuch

Webseiten-Werkzeuge


stellwerksim:plugins:spezifikation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
stellwerksim:plugins:spezifikation [2016/04/05 15:09] – [Spezifikation] Fehlercode 403 hinzugefügt DLichtistellwerksim:plugins:spezifikation [2022/05/20 17:02] (aktuell) – [Befehle] manuel3108
Zeile 1: Zeile 1:
-===== Spezifikation =====+===== Spezifikation der Pluginschnittstelle =====
 {{indexmenu_n>30}} {{indexmenu_n>30}}
  
Zeile 5: Zeile 5:
 Nach dem Connect meldet sich der Sim mit dem Status-XML: Nach dem Connect meldet sich der Sim mit dem Status-XML:
 <code> <code>
-<status code="300">ein Text</status>+<status code='300>STS Plugin Interface, bitte anmelden.</status>
 </code> </code>
  
Zeile 21: Zeile 21:
  
 ===== Befehle ===== ===== Befehle =====
 +Parameter sind immer erforderlich, außer es steht (optional) dahinter. Die Ausgabe ist teilweise eingerückt, damit sie besser lesbar ist.
 +
 ==== <register> ==== ==== <register> ====
-Registriert einen Client, als Werte müssen mitgegeben werden:+Registriert einen Client
 + 
 +Parameter:
   * name: Name des Clients   * name: Name des Clients
   * autor: Autor des Clients   * autor: Autor des Clients
Zeile 31: Zeile 35:
 Beispiel: Beispiel:
 <code> <code>
-<register name="Supersuperautor="der Heldversion="0.1alpha-nixprotokoll="1text="Tut nix!/>+<register name='Supersuperautor='der Heldversion='0.1alpha-nixprotokoll='1text='Tut nix!/
 +</code> 
 + 
 +Antwort: 
 +<code> 
 +<status code='220' >Ok.</status>
 </code> </code>
  
Zeile 37: Zeile 46:
  
 ==== <simzeit> ==== ==== <simzeit> ====
-Erfragt die Sim-Zeit. Der übergebene Parameter "sender" wird wieder zurückgesendet, außerdem ein Parameter "zeit" mit der Simzeit in Millisekunden seit 0 Uhr. Als "senderschickt man beim Absenden die aktuelle Zeit auf dem Client. Bekommt man dann die Antwort kann man aus der aktuellen Zeit und der Zeit vom Versand die Übertragungsdauer ermitteln. Grob aber ausreichend genau ist dann die Hälfte der Differenz zur übertragenen Sim-Zeit zu addieren um eine hinreichend genaue Zeit zu haben. Es ist zweckmäßig die Zeit dann selbst zu speichern und weiterzuzählen.+Erfragt die Sim-Zeit. Als 'senderschickt man beim Absenden die aktuelle Zeit auf dem Client. Bekommt man dann die Antwort kann man aus der aktuellen Zeit und der Zeit vom Versand die Übertragungsdauer ermitteln. Grob aber ausreichend genau ist dann die Hälfte der Differenz zur übertragenen Sim-Zeit zu addieren um eine hinreichend genaue Zeit zu haben. Es ist zweckmäßig die Zeit dann selbst zu speichern und weiterzuzählen. 
 + 
 +Parameter: 
 +  * sender: Wird wieder zurückgesendet 
 + 
 +Antwort: 
 +  * sender: Wert aus der Anfrage 
 +  * zeit: Simzeit in Millisekunden seit 0:00 Uhr 
 + 
 +Beispiel: 
 +<code> 
 +<simzeit sender='28908598' /> 
 +</code> 
 + 
 +Antwort: 
 +<code> 
 +<simzeit sender='28908598' zeit='28908601' /> 
 +</code>
  
 ==== <anlageninfo> ==== ==== <anlageninfo> ====
-Keine Parameter, liefert Name ("name") des Stellwerks, AID ("aid") und Build des Sims ("simbuild").+Liefert Name ('name') des Stellwerks, AID ('aid') und Build des Sims ('simbuild'). Außerdem, ob ein Online-Spiel läuft oder in der Sandbox gestartet wurde. 
 + 
 +Parameter: Keine 
 + 
 +Beispiel: 
 +<code> 
 +<anlageninfo /> 
 +</code> 
 + 
 +Antwort: 
 +<code> 
 +<anlageninfo simbuild='1' name='Plugin Test Anlage' aid='86' region='Testregion' online='True'/> 
 +</code>
  
 ==== <bahnsteigliste> ==== ==== <bahnsteigliste> ====
-Keine Parameter, liefert eine Liste alle Bahnsteige und deren Nachbarbahnsteige. Die Rückgabe enthält den Befehlstag als Eröffnung.+Liefert eine Liste alle Bahnsteige und deren [[stellwerksim:erbauer:anlagen:gleiseditor:elemente:bahnsteig#nachbarbahnsteige|Nachbarbahnsteige]].
  
-Beispielausgabe:+Parameter: Keine 
 + 
 +Beispiel:
 <code> <code>
-<bahnsteigliste> +<bahnsteigliste /
-<bahnsteig name="MMM1"><n name="MMM2" /><n name="MMM3" /></bahnsteig> +</code> 
-<bahnsteig name="MMM2"><n name="MMM1" /><n name="MMM3" /></bahnsteig> + 
-<bahnsteig name="MMM3"><n name="MMM1" /><n name="MMM3" /></bahnsteig>+Antwort: 
 +<code> 
 +<bahnsteigliste > 
 +  <bahnsteig name='1' haltepunkt='false'> 
 +    <n name='2' /> 
 +    <n name='3' /> 
 +  </bahnsteig> 
 +  <bahnsteig name='2' haltepunkt='true'> 
 +    <n name='1' /> 
 +  </bahnsteig> 
 +  <bahnsteig name='3' haltepunkt='false'> 
 +    <n name='1' /> 
 +  </bahnsteig>
 </bahnsteigliste> </bahnsteigliste>
 </code> </code>
  
 ==== <zugliste> ==== ==== <zugliste> ====
-Keine Parameter, liefert eine Liste alle Züge im Fahrplan. Die Rückgabe enthält den Befehlstag als Eröffnung.+Liefert eine Liste alle Züge im Fahrplan.
  
-Beispielausgabe:+Parameter: Keine 
 + 
 +Beispiel: 
 +<code> 
 +<zugliste /> 
 +</code> 
 + 
 +Antwort:
 <code> <code>
 <zugliste> <zugliste>
-<zug zid="1name="RE 10/> +  <zug zid='1name='RE 10/> 
-<zug zid="2name="IC 3/>+  <zug zid='2name='IC 3/>
 </zugliste> </zugliste>
 </code> </code>
  
 ==== <zugdetails> ==== ==== <zugdetails> ====
-ZID als Parameter, liefert Details zum Zug. Die Rückgabe enthält den Befehlstag als Eröffnung. Es wird das nächste anzufahrende Gleis mitgeliefert, sowie die Namen der Ein- und Ausfahrt. Die Sichtbarkeit gibt an, ob der Zug im Gleisbild unterwegs ist oder noch nicht. Der Unterschied zwischen "gleisund "plangleisist bei Gleisänderungen relevant: "plangleisist immer das Gleis, zu dem der Zug laut Fahrplan soll. "gleisist das Gleis nach einen Gleisänderung oder bei einem Zughalt der Gleis, an dem der Zug tatsächlich steht. "amgleisist true, wenn der Zug genau zum Zeitpunkt der Abfrage am Bahnsteig steht.+Liefert Details zum Zug. Die Antwort liefert das nächste anzufahrende Gleis, sowie die Namen der Ein- und Ausfahrt. Die Sichtbarkeit gibt an, ob der Zug im Gleisbild unterwegs ist oder noch nicht. Der Unterschied zwischen 'gleisund 'plangleisist bei Gleisänderungen relevant: 'plangleisist immer das Gleis, zu dem der Zug laut Fahrplan soll, 'gleisist das Gleis nach einen Gleisänderung oder bei einem Zughalt der Gleis, an dem der Zug tatsächlich steht. 'amgleisist true, wenn der Zug genau zum Zeitpunkt der Abfrage am Bahnsteig steht.
  
-Wurde der letzte Fahrplanhalt passiertes somit keine anzufahrenden Gleise mehr gibt, werden die Attribute "gleisund "plangleisnicht mehr mitgeschickt. So lässt sich erkennen, ob ein Zug den letzten Fahrplanhalt passiert hat.+Wurde der letzte Fahrplanhalt passiert und es somit keine anzufahrenden Gleise mehr gibt, werden die Attribute 'gleisund 'plangleisnicht mehr mitgeschickt. So lässt sich erkennen, ob ein Zug den letzten Fahrplanhalt passiert hat. Umgeleitete Züge haben ebenfalls kein 'gleis' und 'plangleis', da sie keinen Fahrplan haben.
  
-Umgeleitete Züge haben ebenfalls kein "gleis" und "plangleis", da sie keinen Fahrplan haben!+Zusatztexte (freier Text) stehen in 'usertext' und 'hinweistext'.
  
-Beispielausgabe:+Parameter: 
 +  * zid: ZID aus der Zugliste 
 + 
 +Beispiel: 
 +<code> 
 +<zugdetails zid='1' /> 
 +</code> 
 + 
 +Antwort:
 <code> <code>
-<zugdetails zid="1name="RE 10verspaetung="+2gleis="MMM1" plangleis="MMM1" von="A-Stadtnach="B-Hausensichtbar="trueamgleis="true"/>+<zugdetails zid='1name='RE 10verspaetung='+2gleis='1' plangleis='1' von='A-Stadtnach='B-Hausensichtbar='trueamgleis='true' usertext='' usertextsender='' hinweistext='' />
 </code> </code>
  
 ==== <zugfahrplan> ==== ==== <zugfahrplan> ====
-ZID als Parameter, liefert den restlichen Fahrplan zum Zug. Die Rückgabe enthält den Befehlstag als Eröffnung. Es wird das nächste anzufahrende Gleis mitgeliefert und alle folgenden, alle laut Fahrplan. Außerdem die Flags im modernen Flag-Syntax des STS.+Liefert den restlichen Fahrplan zum Zug. Es wird das nächste anzufahrende und alle folgenden Gleise geliefertmit Fahrplanzeiten und [[stellwerksim:erbauer:zugbau:flags|Flags]]. Umgeleitete Züge haben keinen Fahrplan, es wird eine leere Liste gesendet.
  
-Umgeleitete Züge haben keinen Fahrplan, d.h. er wird hier eine leere Liste gesendet.+Parameter: 
 +  * zid: ZID aus der Zugliste
  
-Beispielausgabe:+Beispiel: 
 +<code> 
 +<zugfahrplan zid='1' /> 
 +</code> 
 + 
 +Antwort:
 <code> <code>
-<zugfahrplan zid="1"+<zugfahrplan zid='1'
-<gleis plan="MMM1" name="MMM1" an="08:10ab="08:12" flags="" />+  <gleis plan='1' name='1' an='08:10ab='08:10' flags='D' />
 </zugfahrplan> </zugfahrplan>
 </code> </code>
Zeile 95: Zeile 168:
   * abfahrt   * abfahrt
   * ausfahrt   * ausfahrt
 +  * rothalt
 +  * wurdegruen
 +  * kuppeln
 +  * fluegeln
 +
 Möchte man alle haben, müssen entsprechend viele Registrierungen abgeschickt werden. Man muss sich für jeden Zug neu registrieren, mehrmaliges Registrieren für den selben Zug ist nicht zulässig! Die Meldung eines Ereignisses enthält die ZID, die Art sowie alle Daten, die auch per <zugdetails> geliefert werden. Im Falle eines D-Flags wird nur die Ankunft gemeldet, jedoch keine Abfahrt. Möchte man alle haben, müssen entsprechend viele Registrierungen abgeschickt werden. Man muss sich für jeden Zug neu registrieren, mehrmaliges Registrieren für den selben Zug ist nicht zulässig! Die Meldung eines Ereignisses enthält die ZID, die Art sowie alle Daten, die auch per <zugdetails> geliefert werden. Im Falle eines D-Flags wird nur die Ankunft gemeldet, jedoch keine Abfahrt.
 +
 +Beispiel:
 +<code>
 +<ereignis zid='1' art='einfahrt' />
 +</code>
 +
 +Antwort:
 +<code>
 +<ereignis zid='1' art='einfahrt' name='RE 10' verspaetung='+2' gleis='1' plangleis='1' von='A-Stadt' nach='B-Hausen' sichtbar='true' amgleis='true' />
 +</code>
 +
 +==== <wege> ====
 +Liefert eine Liste aller Knoten und Verbindungen des Gleisbild. Daraus sind die Fahrwege von Einfahrten zu Bahnsteigen zu Bahnsteigen zu Ausfahrten ermittelbar.
 +
 +Knoten sind dabei Gleiselemente wie Signale, Einfahrten, Ausfahrten und Bahnsteige. Diese haben entweder eine ENR oder einen Namen (Bahnsteige haben nur Namen). Die Verbindungen haben entweder 2 ENRs, ENR und Name oder 2 Namen. Das sind dann die Verbindungen zwischen 2 Knoten. Bahnsteige haben nur Namen, alle anderen haben ENRs.
 +
 +Beispiel:
 +<code>
 +<wege />
 +</code>
 +
 +Antwort:
 +<code>
 +<wege>
 +  <shape type='6' name="Ein1" enr="1" />
 +  <shape type='7' name="Aus1" enr="2" />
 +  <connector enr1="1" enr2="2" />
 +</wege>
 +</code>
 +
stellwerksim/plugins/spezifikation.1459861758.txt.gz · Zuletzt geändert: 2016/04/05 15:09 von DLichti