Benutzer-Werkzeuge

Webseiten-Werkzeuge


tools:scripting-node-syntax

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tools:scripting-node-syntax [2020/09/17 21:06] – [Makro konfigurieren] akuhtztools:scripting-node-syntax [2022/09/27 08:03] (aktuell) – [Makro konfigurieren] akuhtz
Zeile 9: Zeile 9:
 **Basisbefehle** sind Anweisungen an den Knoten, bestimmte Einstellungen durchzuführen (z.B. bei einem Lichtport die Helligkeit einzustellen). Basisbefehle bestehen aus einem Anweisungswort und zugehörigen Parametern. Befehle und Parameter müssen gültige Anweisungen ergeben, sonst wird die Anweisung nicht ausgeführt. **Basisbefehle** sind Anweisungen an den Knoten, bestimmte Einstellungen durchzuführen (z.B. bei einem Lichtport die Helligkeit einzustellen). Basisbefehle bestehen aus einem Anweisungswort und zugehörigen Parametern. Befehle und Parameter müssen gültige Anweisungen ergeben, sonst wird die Anweisung nicht ausgeführt.
  
-**Templatebefehle** sind vorgelagerte Anweisungen zur Textersetzung. Es wird die Templatesyntax [[https://velocity.apache.org/engine/devel/user-guide.html|velocity]] verwendet. Templatebefehle werden nur im Wizard ab Version 1.9 unterstützt.+**Templatebefehle** sind vorgelagerte Anweisungen zur Textersetzung. Es wird die Templatesyntax [[https://velocity.apache.org/engine/2.3/vtl-reference.html|Velocity Referenz]] und [[https://velocity.apache.org/engine/devel/user-guide.html|Velocity User Guide]] verwendet. Templatebefehle werden nur im Wizard ab Version 1.9 unterstützt.
  
 **Menübefehle** sind nochmal vorgelagert und werden verwendet, um ein Menü anzuzeigen, in welchem Parameter vom Benutzer abgefragt werden - wie z.B. welche Ports verwendet werden sollen. Diese Parameter werden internen Variablen zugewiesen und können dann mit Hilfe der Templates ausgewertet werden. **Menübefehle** sind nochmal vorgelagert und werden verwendet, um ein Menü anzuzeigen, in welchem Parameter vom Benutzer abgefragt werden - wie z.B. welche Ports verwendet werden sollen. Diese Parameter werden internen Variablen zugewiesen und können dann mit Hilfe der Templates ausgewertet werden.
Zeile 196: Zeile 196:
 | switch | on / off | | switch | on / off |
 | switchpair | on / off | | switchpair | on / off |
-| light  | on / off / up / down / neon/ blinka / blinkb / flasha / flashb / doubleflash |+| light  | on / off / up / down / neon / blinka / blinkb / flasha / flashb / doubleflash |
 | input | query0 / query1 | | input | query0 / query1 |
 | accessoryOkay | no_feedback / query0 / query1 | | accessoryOkay | no_feedback / query0 / query1 |
Zeile 208: Zeile 208:
 Für die Typen ''delay'' und ''randomDelay'' wird keine ''action'' angegeben. Eine Verzögerung wird wie folgt definiert: \\ ''add step ptype=delay delay=10'' \\ ''add step ptype=randomDelay delay=100'' Für die Typen ''delay'' und ''randomDelay'' wird keine ''action'' angegeben. Eine Verzögerung wird wie folgt definiert: \\ ''add step ptype=delay delay=10'' \\ ''add step ptype=randomDelay delay=100''
  
 +Weitere Beispiele:
 +<code>
 +add step ptype=accessoryOkay action=no_feedback
 +</code>
  
  
Zeile 386: Zeile 390:
 ##require(vid="0x0D", pid="0xA0,0x9F,0x53") ##require(vid="0x0D", pid="0xA0,0x9F,0x53")
 </code> </code>
 +
 +==== Firmware-Version prüfen ====
 +
 +## ab Wizard-Build 4490
 +
 +Um die Firmware-Version zu prüfen, kann die ''##requireVersion''-Anweisung benutzt werden:
 +<code>
 +##requireVersion(min=1.0.0, max=3.0.0)
 +</code>
 +
 +Mit der obigen Anweisung wird geprüft ob der Knoten eine Firmware-Version >= min und Firmware-Version < max hat. Der max Wert ist also exclusive. Ist dies nicht der Fall wird eine Fehlermeldung angezeigt. Die Werte für die Firmware-Version müssen im Format #.#.# angegeben werden.
  
 ==== Autor ==== ==== Autor ====
Zeile 424: Zeile 439:
   * ''node_enabled_switch_count'' \\ Anzahl der tatsächlich aktiven Switch Ports auf dem Knoten. Bei umschaltbaren Ports kann dieser Wert von ''node_switch_count'' abweichen.   * ''node_enabled_switch_count'' \\ Anzahl der tatsächlich aktiven Switch Ports auf dem Knoten. Bei umschaltbaren Ports kann dieser Wert von ''node_switch_count'' abweichen.
   * ''node_enabled_switchpair_count'' \\ Anzahl der tatsächlich aktiven SwitchPair Ports auf dem Knoten. Bei umschaltbaren Ports kann dieser Wert von ''node_switchpair_count'' abweichen.    * ''node_enabled_switchpair_count'' \\ Anzahl der tatsächlich aktiven SwitchPair Ports auf dem Knoten. Bei umschaltbaren Ports kann dieser Wert von ''node_switchpair_count'' abweichen. 
-   * ''user_lang'' \\ atkuelle Sprache, z.B. ''en'' oder ''de'' (ab Wizard 1.12.4)+  * ''node_first_backlightport_number'' \\ Nummer des ersten Backlight Port (ab Wizard 1.12.14) 
 +  * ''node_first_inputport_number'' \\ Nummer des ersten Input Port (ab Wizard 1.12.14) 
 +  * ''node_first_lightport_number'' \\ Nummer des ersten Light Port (ab Wizard 1.12.14) 
 +  * ''node_first_servoport_number'' \\ Nummer des ersten Servo Port (ab Wizard 1.12.14) 
 +  * ''node_first_switchport_number'' \\ Nummer des ersten Switch Port (ab Wizard 1.12.14) 
 +  * ''node_first_switchpairport_number'' \\ Nummer des ersten SwitchPair Port (ab Wizard 1.12.14) 
 +  * ''user_lang'' \\ atkuelle Sprache, z.B. ''en'' oder ''de'' (ab Wizard 1.12.4)
  
  
Zeile 474: Zeile 495:
 </code> </code>
  
 +===== Formattierung von Zahlen =====
 +
 +Mit folgender Erweiterung ''$numberTool.format("#0.00", ${var})'' können Zahlen formattiert werden:
 +
 +<code>
 +set switch ${switchPort0} name="SP$numberTool.format("#00", ${switchPort0}) | ${turnoutName} | ${labelStraight}"
 +set switch ${switchPort1} name="SP$numberTool.format("#00", ${switchPort1}) | ${turnoutName} | ${labelBranch}"
 +</code>
  
 +Weitere Info siehe [[https://velocity.apache.org/tools/3.1/tools-summary.html#NumberTool|Velocity NumberTool]]
 ====== Tricks mit Velocity ====== ====== Tricks mit Velocity ======
  
tools/scripting-node-syntax.1600369608.txt.gz · Zuletzt geändert: 2020/09/17 21:06 von akuhtz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki