LMC - Lancom Management Cloud

Fragen zur LANCOM Management Windows Software/ LANtolls: LANconfig, LANmonitor, WLANmonitor.

Moderator: Lancom-Systems Moderatoren

Antworten
Moombas
Beiträge: 3
Registriert: 22 Jan 2020, 10:23

LMC - Lancom Management Cloud

Beitrag von Moombas »

Moin zusammen,

ich hoffe ich habe das richtige Unterforum getroffen.
Gibt es hier welche, die sich mit der LMC und ihren Add-Ins auskennen?

Wir verwenden zwar schon welche, die auch funktionieren, jedoch würde ich diese vorhandenen Skripte gerne erweitern.

Etwas banales, wie den Namen des Gerätes nach Bedingung zu ändern, habe ich hin bekommen.
Nun wollte ich das Wireless E-Paper auch per Add-in anpassen (aktuell machen wir das nachträglich Manuell) und komme nicht weiter.
Mein Problem ist das, wenn ich die "Werte" aus der LCOS Menüreferenz nehme, ich den Fehler erhalte das das Gerät damit nichts anfangen kann.

Beispiel: 1.2.88.1 (Wireless e-Paper Aktiv) lt. https://www.lancom-systems.de/docs/LCOS ... _88_1.html sollen die Werte "Aus", Manuell" oder "Verwaltet" sein. Dann laufe ich jedoch auf Fehler.
Verwende ich die Werte, wie sie in einer gezogenen Config stehen ("0", "1", "2"), erhalte ich zwar keinen Fehler, jedoch wird die Einstellung trotzdem ignoriert. Es steht immer auf "Managed (via WLC)", anstatt auf "An (autonom)".

Ändern möchte ich 2.88.1 (Wireless e-Paper - Modus) auf "An (autonom)" (2), 1.2.88.4.1 - Wireless e-Paper - Koordinierte Kanalwahl (Abhängigkeitsbezogen) und 1.2.88.4.1 - Wireless e-Paper - Koordinierte Kanalwahl -> Aktiv

Beispiel Ausschnitt:

Code: Alles auswählen

//1.2.88.1 - Wireless e-Paper - Modus -> Manuell
config.setScalarByOid("1.2.88.1","1"); //Manuell
//1.2.88.3 - IoT - Wireless e-Paper - Kanal ->  
switch (context.vars.VariablenName) {
case "66": 
  config.setScalarByOid("1.2.88.3","3"); //Kanal 3 - 2425MHz
  break;
case "99": 
...
default:
   config.setScalarByOid("1.2.88.3","7"); //Kanal 7 - 2470MHz
   break;
} 
//1.2.88.4.1 - Wireless e-Paper - Koordinierte Kanalwahl -> Aktiv
config.setScalarByOid("1.2.88.4.1", "1"); //Ja
Weiß da jemand was und hat ggf. auch mehr Dokumentation auch über die Struktur von "context" und "config" in den Add-ins und der möglichen Befehle (setByOid, setScalarByOid, getTableByOid, createNewRow, ...)?
Dr.Einstein
Beiträge: 2893
Registriert: 12 Jan 2010, 14:10

Re: LMC - Lancom Management Cloud

Beitrag von Dr.Einstein »

Heyho,

habe leider gerade keinen AP mit ePaper verfügbar, aber du solltest eigentlich keinen Unterschied zwischen dem Hostname und irgendwelche Schalter ein/aus setzen merken. Ich verwende allerdings einfach die addScriptLine Befehle, eine richtige Doku für die Skriptumgebung habe ich nie erhalten ...

Für den Routernamen wirst du vermutlich solche Syntax verwendet haben:

Code: Alles auswählen

config.addScriptLine("set /Setup/Name \"ROUTER\"");
Wenn du Tabellenstrukturen hast, kannst du diese auch über kleinere Umwege bearbeiten:

Code: Alles auswählen

config.addScriptLine("cd /Setup/Config/Access-Table");
config.addScriptLine("set WAN {SSH} Yes");
config.addScriptLine("cd /");
Das müsstest du eigentlich für dein ePaper Problem adaptieren können. Was auch hilfreich ist: Logge dich via Putty auf deinen Router ein, geh in den entsprechenden Unterbaum, in deinem Beispiel cd /2/88 und führe dort ein readscript -i aus. Dann passt du nochmal deine gewünschte Werte über LanConfig oder CLI an und ließt erneut aus. Aus diesen Output baust du dir dann deine addScripLine Befehle.

Gruß Dr.Einstein
Moombas
Beiträge: 3
Registriert: 22 Jan 2020, 10:23

Re: LMC - Lancom Management Cloud

Beitrag von Moombas »

Hmm, also dden Namen setzen wir wie folgt:

Code: Alles auswählen

config.setScalarByOid("1.2.1","String" + context.vars.Variable.substr(1,1)); // Name setzen
Und das funktioniert. Und so ist das ganze script (im groben) aufgebaut.

Code: Alles auswählen

                var tableRouting = config.getTableByOid("1.2.8.2"); 
		var newRowRouting = tableRouting.createNewRow(); 
		newRowRouting.setByOid(1,"WERT");
		...
		tableRouting.addOrMerge(newRowRouting); 
Wie ist es denn bei "config.addScriptLine", wenn ich nur einen Bereich anpassen möchte? Die anderen Bereiche lässt er dann einfach in Ruhe oder bekommen die Default-Werte?

Ich würde ja auch parallel einzelne Werte auslesen wollen (z.B. aktuelle IP-Adresse) um diese weiter verarbeiten zu können, nur in Sachen Doku ist die Cloud echt eine Katastrophe.

Nachtrag:
Von Lancom erhalten: "Eine Dokumentation zur Struktur der Add-Ins liegt nicht vor. " ... :|
Moombas
Beiträge: 3
Registriert: 22 Jan 2020, 10:23

Re: LMC - Lancom Management Cloud

Beitrag von Moombas »

Lösung zusammen mit Lancom gefunden. Falls es wen interessiert:
Das Addin schreiben, bei uns:

Code: Alles auswählen

exports.main = function (config, context) {
    // Benötigte Variablen
    // xxxx
    if (context.device.isAccesspoint && context.vars.xxxx!= "0") {    
        //2.88.1 - Wireless e-Paper - Modus -> Manuell
        config.setScalarByOid("1.2.88.1","1");
        //2.88.3 - Wireless e-Paper - Kanal ->  
        switch (context.vars.xxxx) {
            case "x": 
              config.setScalarByOid("1.2.88.3","3"); //Kanal 3 - 2425MHz
              break;
            case "32": 
             //...
            default:
              config.setScalarByOid("1.2.88.3","7"); //Kanal 7 - 2470MHz
              break;
        } 
        //2.88.4.1 - Wireless e-Paper - Koordinierte Kanalwahl -> 1
        config.setScalarByOid("1.2.88.4.1", "1");
    }
};
Und das Add-In dann noch einem der Netze in der Cloud Zuweisen. - Das hatte ich vergessen.

Konfiguration ausrollen und fertig.
Prüfen ob das Add-In auch gegriffen hat macht man so:
1. Gerät auswählen
2. Detail-Konfiguration
3. Auf "..." (oben rechts)
4. Automatisch generierte Daten einblenden
5. Die entsprechenden Menüpunkte kontrollieren.

Trotzdem Schade das es wirklich keine Doku zu den Addins gibt.
Antworten