Variablen

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.



Variablen hinzufügen:

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.



Neuen Variablen-Typ definieren:

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 AusdruckBeschreibung
IPv4Dieser Variablen-Typ unterstützt nur valide IPv4-Adressen.
Subnet maskDieser 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 definedMit 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:



Verwenden von Variablen:

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:

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:


Werte

Schreiben

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.


Lesen

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.