Um zu verstehen, wie die LMC Add-Ins funktionieren, müssen wir uns ansehen, welche Elemente auf die Konfiguration eines Geräts angewendet werden.
Im Folgenden wird der Prozess beschrieben, in dem die Konfiguration verändert werden kann:
Das Ergebnis der Schritte 1. und 2. wird als Konfiguration an das Gerät gesendet. Die Skripte aus Schritt 3. werden mit dem Rollout als zusätzliche Aktion an das Gerät gesendet und auf diesem ausgeführt, nachdem die Konfigurationsdaten aus den Schritten 1. und 2. übernommen wurden.
Wie oben gezeigt, gibt es zwei Möglichkeiten, die Konfiguration eines Geräets mit Add-ins anzupassen.
Operating System | config.[...]ByOid(...) | config.addScriptLine(...) | ufAPI.Method |
---|---|---|---|
LCOS | ✅ | ✅* | ❌ |
LCOS-SX | ✅ | ✅* | ❌ |
LCOS-LX | ✅ | ❌ | ❌ |
LCOS-FX | ❌ | ❌ | ✅ |
* gerätespezifische Terminalsyntax
Jeder Konfigurationswert bzw. jede Tabelle wird durch eine maschinenlesbare Object Id, kurz oid, angegeben.
Die oid ist eine Folge von Zahlen, die durch Punkte getrennt sind (das folgende Beispiel bezeichnet die Cron-Tabelle im LCOS):
1.2.11.20
Um die Konfigurationsdaten zu ändern, können Sie entweder einzelne Werte (Skalare) oder Tabellen/Zeilen abrufen/einstellen.
Skalen sind Einzelwerte in der Konfiguration.
exports.main = function (config, context) { var value = config.getScalarByOid("1.2.3.4.5.1"); config.setScalarByOid("1.2.3.4.5.2", "test"); }; |
Tabellen können eine feste oder eine dynamische Anzahl von Zeilen haben.
exports.main = function (config, context) { var table = config.getTableByOid("1.2.3.4.5.3"); var rows = table.getRows(); // array of rows var row = table.createNewRow(); //create a new empty row table.addOrMerge(row); // add/merge this row into table }; |
Um ein Skript auf dem Gerät auszuführen, nachdem die Konfiguration angewandt wurde, müssen Sie die Syntax addScriptLine
verwenden:
exports.main = function (config, context) { config.addScriptLine("cd /2/3/4/5/2"); config.addScriptLine("set 1 test"); }; |
Das Skript-Zeilen-Beispiel setzt den selben Wert wie das Skalen-Beispiel oben. Die erste Zahl wird weggelassen, ebenso wie der . (Punkt), der in / (Slash) übersetzt wird. In diesem Fall sehen wir die Werte nicht in der Detail-Konfiguration in der LMC bei der Vorschau, sondern in der Vorschau des Skripts, das auf dem Gerät ausgeführt werden soll.
Im Gegensatz zum Setzen von Werten über oid, können wir auch die menschenlesbare Notation verwenden, z.B. config.addScriptLine("cd /Setup/WAN/DSL-Broadband-Peers")
.