tools:scripting-node-syntax
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tools:scripting-node-syntax [2020/09/01 20:39] – [Eingabeaufforderung] akuhtz | tools:scripting-node-syntax [2024/08/26 09:35] (aktuell) – [Makro konfigurieren] delete macro 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:// | + | **Templatebefehle** sind vorgelagerte Anweisungen zur Textersetzung. Es wird die Templatesyntax |
**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 41: | Zeile 41: | ||
## ab Wizard-Build 3540 | ## ab Wizard-Build 3540 | ||
set aspect 0 accessory=${selectedAccessory} name=" | set aspect 0 accessory=${selectedAccessory} name=" | ||
+ | |||
+ | ## ab Wizard-Build 4154 | ||
+ | set feedback 10 name=" | ||
</ | </ | ||
Zeile 132: | Zeile 135: | ||
</ | </ | ||
^ config | ^ config | ||
- | | macro | repeat | + | | macro | repeat |
| | slowdown | | | slowdown | ||
| macrotime | | macrotime | ||
Zeile 193: | 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 | ||
| accessoryOkay | no_feedback / query0 / query1 | | | accessoryOkay | no_feedback / query0 / query1 | | ||
| backlight | start | | | backlight | start | | ||
Zeile 204: | Zeile 208: | ||
Für die Typen '' | Für die Typen '' | ||
- | Folgendes ist noch nicht, bzw. nur in den Testversionen implementiert: | + | Weitere Beispiele: |
- | ^ ptype | + | < |
- | | input | query0 | + | add step ptype=accessoryOkay |
+ | </code> | ||
+ | |||
+ | |||
+ | Makro löschen: | ||
+ | < | ||
+ | delete macro 0 | ||
+ | |||
+ | delete macro $currentMacroIndex | ||
+ | set macro ${currentMacroIndex} name="" | ||
+ | </ | ||
Zeile 217: | Zeile 232: | ||
add aspect 0 macroname=%weiche1Gerade% | add aspect 0 macroname=%weiche1Gerade% | ||
add aspect 1 macronumber=1 | add aspect 1 macronumber=1 | ||
+ | |||
+ | ## set the name of the aspect | ||
+ | add aspect 2 macronumber=2 aspectname=" | ||
</ | </ | ||
+ | |||
Das Startup-Verhalten eines Accessorys kann mit folgendem Befehl definiert werden: | Das Startup-Verhalten eines Accessorys kann mit folgendem Befehl definiert werden: | ||
< | < | ||
Zeile 225: | Zeile 244: | ||
:!: Das Accessory wird auf den Knoten übertragen und permanent gespeichert! | :!: Das Accessory wird auf den Knoten übertragen und permanent gespeichert! | ||
+ | |||
+ | Accessory löschen erfolgt mit folgendem Befehl: | ||
+ | < | ||
+ | ## delete the accessory: Remove all steps and set the params to default values | ||
+ | delete accessory 0 | ||
+ | set accessory ${currentAccessoryIndex} name="" | ||
+ | </ | ||
+ | |||
===== Templatebefehle | ===== Templatebefehle | ||
Zeile 353: | Zeile 380: | ||
==== VID/PID prüfen ==== | ==== VID/PID prüfen ==== | ||
+ | |||
+ | Mit der Kombination aus PID / VID [[http:// | ||
+ | |||
+ | Die VID (Vendor-ID) und PID (Product-ID) sind Bestandteil der UID (Unique-ID). | ||
+ | |||
+ | Beispiel: | ||
+ | < | ||
+ | V 0D P 84002100 << UID | ||
+ | ^ ^ | ||
+ | ¦ ¦ | ||
+ | ¦ ------- 0x84 --> 132 << PID | ||
+ | ¦ | ||
+ | ------------ 0x0D --> | ||
+ | </ | ||
Um die VID und PID zu prüfen, kann die ''## | Um die VID und PID zu prüfen, kann die ''## | ||
Zeile 364: | Zeile 405: | ||
## | ## | ||
</ | </ | ||
+ | |||
+ | Die Angabe der VID(PID kann auch als Hex-Zahl erfolgen mit '' | ||
+ | < | ||
+ | ## ab Wizard-Build 4154 | ||
+ | ## | ||
+ | </ | ||
+ | |||
+ | ==== Firmware-Version prüfen ==== | ||
+ | |||
+ | ## ab Wizard-Build 4490 | ||
+ | |||
+ | Um die Firmware-Version zu prüfen, kann die ''## | ||
+ | < | ||
+ | ## | ||
+ | </ | ||
+ | |||
+ | 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 402: | Zeile 460: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | | ||
Zeile 452: | Zeile 516: | ||
</ | </ | ||
+ | ===== Formattierung von Zahlen ===== | ||
+ | Mit folgender Erweiterung '' | ||
+ | |||
+ | < | ||
+ | set switch ${switchPort0} name=" | ||
+ | set switch ${switchPort1} name=" | ||
+ | </ | ||
+ | |||
+ | Weitere Info siehe [[https:// | ||
====== Tricks mit Velocity ====== | ====== Tricks mit Velocity ====== | ||
Zeile 490: | Zeile 563: | ||
====== Textreste | ====== Textreste | ||
- | **Tipps zu velocity**\\ | + | **Tipps zu velocity** |
- | Der Kontext ist eine Map< | + | |
- | Die #set-Zeilen im Script legen dann die Variablen in den Kontext rein und diese werden dann später beim Ersetzen verwendet. Die aufgerufene Funktion kann die Werte mit dem Key wieder rausholen. | + | Der Kontext ist eine '' |
+ | |||
+ | Die '' | ||
Erläuterung hierzu: https:// | Erläuterung hierzu: https:// | ||
- | Text wieder anzeigen: velocityEngine.Evaluate() | + | Text wieder anzeigen: |
Alles ab hier ist noch Sammelsurium ! | Alles ab hier ist noch Sammelsurium ! | ||
Zeile 509: | Zeile 585: | ||
- | ===== Script Header | + | ===== Macro Level ===== |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | |||
- | Jedes Script hat mit einem Header in der ersten Zeile zu beginnen. In diesem Header wird festgelegt für welchen Knotentyp und für welche Script Engine Version das Script erstellt wurde. | ||
- | |||
- | < | ||
- | <Head PID=125 VID=13 VER=1.0> | ||
- | </ | ||
- | |||
- | Mit der Kombination aus PID / VID [[http:// | ||
Zusätzlich ist der Macro-Level zu prüfen. Der Macro-Level bezeichnet den Funktionsumfang der Makro-Engine und wird vom Knoten per Feature bekannt gegeben. | Zusätzlich ist der Macro-Level zu prüfen. Der Macro-Level bezeichnet den Funktionsumfang der Makro-Engine und wird vom Knoten per Feature bekannt gegeben. |
tools/scripting-node-syntax.1598985552.txt.gz · Zuletzt geändert: 2020/09/01 20:39 von akuhtz