Um die Nutzung der Add-ins weiter auszubauen, besteht die Möglichkeit Variablen zu verwenden. Diese können als schreibgeschützte Werte in Add-ins verwendet werden.
Eine Variable besteht aus den folgenden Parametern:
Variables können in dem Menü Add-ins → Variablen erstellt und bearbeitet werden.

Eine Variable kann an verschiedenen Stellen verwendet werden. Bei Verwendung der gleichen Variable an mehreren Stellen überschreibt die letzte Variable die vorherigen Einträge.
Global:
Wird einer Variable ein Wert zugewiesen, gilt diese global. Diese kann dann in einem Add-in verwendet werden.
Netze:
1. Wechseln Sie in das Menü Netze, wählen ein Netzwerk aus und klicken auf Variablen → Variablen hinzufügen.

2. Wählen Sie die gewünschte Variable aus und weisen dieser gegebenenfalls einen Wert zu bzw. wählen die Aktion aus. Klicken Sie anschließend auf Hinzufügen.

Standorte:
1. Wechseln Sie in das Menü Standorte, wählen einen Standort aus und klicken auf Variablen → Variablen hinzufügen.

2. Wählen Sie die gewünschte Variable aus und weisen dieser gegebenenfalls einen Wert zu bzw. wählen die Aktion aus. Klicken Sie anschließend auf Hinzufügen.

Geräte:
1. Wechseln Sie in das Menü Geräte, wählen ein Gerät aus und klicken auf Variablen → Variablen hinzufügen.

2. Wählen Sie die gewünschte Variable aus und weisen dieser gegebenenfalls einen Wert zu bzw. wählen die Aktion aus. Klicken Sie anschließend auf Hinzufügen.

1. Wechseln Sie in das Menü Add-ins und klicken auf Variablen.

2. Klicken Sie auf Variablen-Typen.
3. Klicken Sie anschließend auf Neuen Typ hinzufügen.

4. Es gibt zwei mögliche Variablen-Typen (String selection und Regulärer Ausdruck).
String selection:
Passen Sie die folgenden Parameter an und klicken auf Speichern:

Regulärer Ausdruck:
Um die Eingabe-Möglichkeiten für Variablen zu limitieren, wird auch die Möglichkeit zur Verwendung regulärer Ausdrücke (regular expressions - Regex) unterstützt.
Für die regulären Ausdrücke stehen die folgenden Optionen zur Verfügung:
| Regulärer Ausdruck | Beschreibung |
|---|---|
| IPv4 | Dieser Variablen-Typ unterstützt nur valide IPv4-Adressen. |
| Subnet mask | Dieser Variablen-Typ unterstützt nur valide Subnetzmasken. |
| [A-Z a-z]* | Dieser Variablen-Typ unterstützt nur ASCII-Zeichen von A-Z und a-z. |
| User defined | Mit dieser Option können Sie einen eigenen regulären Ausdruck erstellen, um die Eingabe zu limitieren. |
Passen Sie die folgenden Parameter an und klicken auf Speichern:

Neue Variable anlegen:
1. Wechseln Sie in das Menü Add-ins → Variablen und klicken auf Neue Variable.

2. Passen Sie die folgenden Parameter an und klicken auf Speichern:

Werte von Variablen können in dem Objekt context.vars verwendet werde:
/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main =
function (config, context) {
if (context.vars.deviceName) { // checks if the variable is set
context.setScalarByOid("1.2.1" /* /Setup/Name */, config.vars.deviceName);
}
};
System-Variablen verwalten spezifische Aspekte der Smart-Konfiguration.
Beispiel für eine Status-Anfrage:
Der folgende Code-Auszug zeigt die generelle Herangehensweise für eine Status-Anfrage. Tauschen Sie die Variablen “Systemvariable” und “Value” je nach Bedarf aus. Der Add-in Code muss unter der auskommentierten Zeile “Code will be executed, if variable is met.” eingefügt werden.
/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main =
function (config, context) {
if Systemvariable == ("Value"){
//Code will be executed, if variable is met.
};
};
Verfügbare System-Variablen:
INITIAL_TEST_MODE_ENABLED:
PASSWORD:
UF_CLEAR_DEFAULT_CFG:
UF_DEFAULT_IF:
LMC_DOMAIN:
UF_ETH0_NETWORKS ... UF_ETH10_NETWORKS:
VPN_IDENTITY_SEPARATOR:
Sie können die Konfiguration, welche an ein Gerät gesendet werden soll, per config.setScalarByOid modifizieren:
/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main =
function (config, context) {
config.setScalarByOid("1.2.9.11", "Comment 1");
config.setScalarByOid("1.2.9.12", "Comment 2");
};
Konfigurations-Änderungen, welche per config.setScalarByOid vorgenommen wurden, sind in der Konfigurations-Vorschau sichtbar, da diese in der Konfiguration hinzugefüht werden, bevor diese an das Gerät gesendet wird.
Dies kann auch per config.addScriptLine erreicht werden:
/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main =
function (config, context) {
// LCOS only:
config.addScriptLine('set /Setup/SNMP/Comment-1 "Hello"');
config.addScriptLine('set /Setup/SNMP/Comment-2 "World"');
};
Konfigurations-Änderungen, die per config.addScriptLine vorgenommen wurden, sind nicht in der Konfigurations-Vorschau sichtbar, da diese nur auf dem Gerät ausgeführt werden. Diese Mehode funktioniert ausschließlich auf LCOS-basierten Geräten.
Informationen können von einem Gerät über die Funktion config.getScalarByOid ausgelesen werden:
/**
* @param {Config} config
* @param {Context} context
* Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main =
function (config, context) {
var comment1 = config.getScalarByOid("1.2.9.11");
var comment2 = config.getScalarByOid("1.2.9.12");
};
Es gibt kein Äquivalent für config.addScriptLine , um Daten vom Gerät zu lesen.