Hinzufügen eines Listen-Parameters zu einem Profil mit Hilfe von Lua
  • 04 Oct 2024
  • pdf

Hinzufügen eines Listen-Parameters zu einem Profil mit Hilfe von Lua

  • pdf

Artikel-Zusammenfassung

Durch die Verwendung der Skriptsprache Lua innerhalb von ASCII-Konfigurationsdateien können diese flexibel und mit Abhängigkeiten gestaltet werden.

Situation

Ein Parameter soll zu einem bestehenden Profil hinzugefügt werden mit Hilfe einer ASCII-Konfigurationsdatei, die ein Lua-Script enthält.

Lösung

Das Problem beim Hinzufügen eines Listen-Parameters zu einer bestehenden Konfiguration ist, dass es erforderlich ist, die Anzahl der bereits bestehenden Listeneinträge zu wissen, wenn ein weiterer Parameter auf diesen Parameter referenziert. Wenn die Anzahl unbekannt ist oder die ASCII-Konfiguration auf verschiedene Router mit einer unterschiedlichen Anzahl von Listeneinträgen angewendet werden soll, kann dies mit Hilfe eines Lua-Scripts gelöst werden, das die Anzahl der bestehenden Listeneinträge ermittelt. Wir verwenden das Beispiel des Configuration Guides Doppelte Verbindungsprüfung mit Ping und Auslösen einer Aktion um zu zeigen, wie dies gemacht wird. Dieses Beispiel verwendet eine ASCII-Konfigurationsdatei, um einen Timer und ein Ereignis, das diesen Timer verwendet, hinzuzufügen. Zur Verwendung dieses Timers muss das Ereignis seine Nummer kennen.

Siehe das Lua 5.3 Referenzhandbuch für weitere Informationen zu Lua.

Vorbereitung der ASCII-Konfigurationsdatei

Für das Hinzufügen des Timers und des Ereignisses aus obigem Beispiel haben wir folgende ASCII-Konfigurationsdatei vorbereitet. Kopieren Sie den Inhalt und fügen Sie ihn in ihren Texteditor ein oder laden Sie die Konfiguration über den Link unten herunter.

Die ASCII-Konfigurationsdatei fügt einen Timer zu einer bereits bestehenden Liste von Timern mit Hilfe der Funktion [last] hinzu. Dann wird eine Aktion hinzugefügt, welche den Timer als Auslöseereignis verwendet.

ASCII-Konfigurationsdatei

events.timer.timer.add
events.timer.timer[last].active=1
events.timer.timer[last].description=Timer for dual ping check with Lua
events.timer.timer[last].type=interval
events.timer.timer[last].interval_hh=00
events.timer.timer[last].interval_mm=10

events.event_config.event.add
events.event_config.event[last].active=1
events.event_config.event[last].description=Dual ping check with Lua
events.event_config.event[last].event_type=ev_timer
-----LUA-----
cli("events.event_config.event[last].event_timer_name=timer"..cli("events.timer.timer.size").."")
-----LUA-----
events.event_config.event[last].event_action_type=act_ascii
events.event_config.event[last].event_action_ascii=CG_m3_lua_connection_check_script.txt

administration.profiles.activate

Ein kurzes Lua-Skript wird verwendet, um die Länge der Timer-Liste zu ermitteln und diese dazu zu verwenden, den Timer-Name des hinzugefügten Timers zu bilden. Die doppelten Punkte .. verbinden den ersten String events.event_config.event[last].event_timer_name=timer mit dem von events.timer.timer.size zurückgegebenem Ergebnis und einem letzten, leeren String, um den gesamten Befehl zu bilden:

Lua-Skript aus ASCII-Konfigurationsdatei

-----LUA-----
cli("events.event_config.event[last].event_timer_name=timer"..cli("events.timer.timer.size").."")
-----LUA-----

Router-Konfiguration

Es wird vorausgesetzt, dass Sie Zugriff auf das Web-Interface des Routers haben.

  1. Öffnen Sie die Bedienoberfläche des Routers: https://insys.icom

  2. Klicken Sie im Menü AdministrationProfile im Abschnitt ASCII-Konfigurationen auf , wählen Sie das oben heruntergeladene Lua-Skript aus und klicken Sie auf SPEICHERN.

  3. Klicken Sie zum Anwenden einer ASCII-Konfigurationsdatei in die Zeile der Konfigurationsdatei (nicht das Lua-Script), danach auf ASCII-Konfiguration anwenden und auf ASCII-KONFIGURATION ANWENDEN.

Damit werden der Timer und das Ereignis ihrem Profil hinzugefügt.

Erfolgskontrolle

  1. Wechseln Sie in das Menü update EreignisseTimer, um den Timer zu sehen, der am Ende der Liste hinzugefügt wurde.

  2. Wechseln Sie in das Menü update EreignisseEreignisse wechseln, um das Ereignis zu sehen, das am Ende der Liste hinzugefügt wurde und öffnen Sie dieses Ereignis zur Bearbeitung (), um zu sehen, ob obiger Timer zum Auslösen des Ereignisses verwendet wird.


War dieser Artikel hilfreich?