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. Web-Interface des Routers mit einem Browser aufrufen: 192.168.1.1 [1]

  2. Im Menü Administration → Profile zum Abschnitt Profil oder ASCII-Konfigurationsdatei importieren gehen, auf Durchsuchen…​ klicken und die oben heruntergeladene ASCII-Konfigurationsdatei auswählen.

  3. Auf Profil importieren klicken.

  4. Auf das Symbol ASCII-Konfiguration anwenden hinter der ASCII-Konfigurationsdatei unter ASCII-Konfigurationen klicken (text execute). [2]

  5. In das Menü EreignisseTimer wechseln, um den Timer zu sehen, der am Ende der Liste hinzugefügt wurde.

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


Zurück zu den Configuration Guides für die icom OS Smart Devices

Zurück zur Übersicht


1. Anmeldung je nach Konfiguration; Voreinstellung bei älteren Firmware-Versionen: Benutzername: insys, Kennwort: icom
2. Dies fügt den Timer und das Ereignis Ihrem Profil hinzu.