[Gelöst] XML Abfrage nach Heimat-Standort (Ortschaft)

[Gelöst] XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 05.01.2018, 05:21

Hallo liebe XMLer,

ich möchte gerne eine Abfrage erstellen, die folgendes tut:

- befindet sich eine Lok mit einer bestimmten Klasse (Feld in der Loktabelle wird gepflegt und auch schon an anderer Stelle genutzt) im Heimat-Standort => definiert als Ortschaft?
- wenn ja, soll diese Lok direkt in den manuellen Modus versetzt werden / gestoppt werden
- wenn nein, soll sie in den Heimat-Standort (Ortschaft) geschickt werden und da dann gestoppt werden

Ich bin leider nicht fit genug und etliche Versuche liefen ins Leere ...

Hat jemand so ein Script-Schnipsel? :coding:

Danke und Gruß
Jürgen
Last edited by jpultar on 06.01.2018, 16:07, edited 1 time in total.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 13:45

Hallo zusammen,

um es etwas transparenter zu machen - so sieht das Script für die Klasse "CARGO" aus:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
<auto cmd="on"/>
  <if state="co Cargoverkehr = off">
    <then>
      <foreach table="lclist" condition="%lcclass% # CARGO">
   <lc cmd="go"/>
    <lc cmd="gotoblock" blockid="home"/>
  </foreach> 
    </then>
    <else>
      <foreach table="lclist" condition="%lcclass% # CARGO">
   <lc cmd="go"/>
  </foreach>
    </else>
  </if>
</xmlscript>

Das Script liegt auf einem Ausgang als Schalter mit zwei Zuständen und startet alle Güterzüge und fährt sie wieder zum Heimat-Standort.
Das funktioniert alles prima. Alledingss treten die Güterzüge auch dann ihre Heimreise an,
wenn sie schon zu Hause sind - sie drehen dann halt noch eine Ehrenrunde.

Das würde ich gerne mittels der Abfrage vermeiden ...
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby rjversluis » 06.01.2018, 13:48

Hi Jürgen,

eigentlich sollte Rocrail das überprüfen müssen: Wenn schon zu Hause, dann stehen bleiben.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 13:51

Hi Rob,

das macht es bei mir nicht - liegt aber vielleicht am Script so wie es geschrieben ist ...
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby rjversluis » 06.01.2018, 13:52

Aber bei dir ist der Reihenfolge falsch:

Erst GO, dann sucht sich der Lok schon ein Ziel, und dann goto home...
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 14:03

Habe es so geändert:

Code: Select all
    <foreach table="lclist" condition="%lcclass% # CARGO">
    <lc cmd="gotoblock" blockid="home"/>
    </foreach> 

Trotzdem dreht die Lok eine Runde auch wenn sie schon im Heimat-Standort steht.
Das passiert auch, wenn ich die Lok im Heimat Block per "rechte Mausclick" in den Heimat-Standort schicke.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 14:06

Der Modus geht auch nie auf "idle" er bleibt auf "wait" :roll:
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby Schorse » 06.01.2018, 14:25

Hi Jürgen,

Code: Select all
<lc cmd="gotoblock" blockid="home"/>
Heisst der Heimatblock wirklich "home" :?: Eigentlich müsste doch hier ein Platzhalter stehen für die Blockbezeichnung, oder nicht?
Viele Grüße Gerd
Schorse
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 14:32

Hallo Gerd,

das habe ich mal von Rob gehört - dass "home" an der Stelle funktionieren sollte:

"versuche es mal so:"
Code: Select all
<lc cmd="gotoblock" blockid="home"/>

"Statisch home setzt jedes Lok für sich um."

Das war so seine Idee.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby Schorse » 06.01.2018, 14:37

Aha (ich habe mich da noch nie mit beschäftige, ich fahre anders "nach Hause"). Aber ich denke die Verwendung der Variablen "%lchome%" wäre hier passend.
Viele Grüße Gerd
Schorse
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 14:43

Der Code mit "home" geht so einwandfrei - ich nutze die Klasse der Tabelle für Lokomotiven.
Da gibt es Klassen für Regional-, Güter- und Fernzüge. Über Aktionen auf Schaltern (Scripte) starte ich die Klassen und fahre sie wieder nach Hause.
Leider ist es halt so, dass beim Heimfahren alle nochmal starten, bis sie dann wieder zu Hause sind. Aber ansonsten funktioniert das prima.
Auffällig ist aber, dass alle Loks im Modus "wait" bleiben , auch wenn ich sie mit RR Bordmitten nach Haus schicke.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby Schorse » 06.01.2018, 14:58

Der Code mit "home" geht so einwandfrei - ich nutze die Klasse der Tabelle für Lokomotiven.
Offensichtlicht nicht. Wenn die Fahrstrecke sowieso über den Heimatblock führt woher willst Du wissen ob der Zug nicht nur "fahrt" sondern "nach Hause fährt"?
Viele Grüße Gerd
Schorse
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 15:11

Schorse wrote:
Der Code mit "home" geht so einwandfrei - ich nutze die Klasse der Tabelle für Lokomotiven.
Offensichtlicht nicht. Wenn die Fahrstrecke sowieso über den Heimatblock führt woher willst Du wissen ob der Zug nicht nur "fahrt" sondern "nach Hause fährt"?

Ich verstehe nicht, was du meinst ... denn mittels diesem Code Schnipsel fährt jede Lok in den Heimat-Standort, der ihr in der Lok Tabelle zugewiesen ist.
Aus jedem Block, egal wo sich die Lok gerade befindet (natürlich vorausgesetzt, es gibt einen Weg dahin).
Mein Problem ist ja nur, dass sie diesen Befehl auch dann umsetzt, wenn sie schon im eigenen Heimatblock steht.

Aber auch unabhängig von jedem Script fällt folgendes auf:

- Lok befindet sich im Heimat-Standort (Block)
- Modus der Lok = idle
- rechter Mausklick auf den Block - "Heimat-Standort" => Lok fährt eine Runde in den Heimat-Block
- bleibt dann mit Modus "wait" stehen und fährt nicht im Aquarium Modus weiter

Das ist ja laut Rob schon nicht so, wie es RR sein sollte.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 15:26

Hallo Gerd,

das mit %lchome% scheint die Lösung zu sein :wink:

Ich drehe aber noch ein paar Runden, bis ich Thema das auf gelöst setzte.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: [Gelöst] XML Abfrage nach Heimat-Standort (Ortschaft)

Postby jpultar » 06.01.2018, 16:10

Hallo Gerd,
DANKE :!: das war wirklich die Lösung. Nun habe ich was ich möchte,
ruckzuck alle Loks nach Hause schicken, ohne Ehrenrunden :D
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Next

Return to XMLScripting (DE)