Description:
This script, assigned to a newtork, overrides a specific WiFi networks SSID and Preshared Key with the variables
context.vars.SSID
context.vars.WPAKey
The selected WiFi that will be overridden is SSID_TO_CHANGE
.
List of used variables:
Add-In Code
exports.main = function (config, context) {
var ssid = context.network.ssids["SSID_TO_CHANGE"];
if (!ssid) {
config.abort("SSID missing");
}
if (!context.vars.SSID) {
config.abort("variable SSID not set");
}
if (!context.vars.WPAKey) {
config.abort("variable WPAKey not set");
}
var wlanTable = config.getTableByOid("13.2.20.1");
var wlanPostfix = context.network.configNameLong + "_" + ssid.name;
var rows = wlanTable.getRows();
var list = [];
for (var i = 0; i < rows.length; i++) {
list.push(rows[i]);
}
var encrRef = "ENCRREF";
list.filter(function (row) {
return row.getByOid("1").endsWith(wlanPostfix);
}).forEach(function (wlanRow) {
wlanRow.setByOid(2, context.vars.SSID);
wlanRow.setByOid(100, context.vars.WPAKey);
wlanRow.setByOid(102, encrRef);
wlanTable.addOrMerge(wlanRow);
var secParamsTable = config.getTableByOid("13.2.20.3");
var secParamsRow = secParamsTable.createNewRow();
secParamsRow.setByOid(1, encrRef);
secParamsRow.setByOid(2, "1");
secParamsRow.setByOid(4, "32");
secParamsRow.setByOid(9, "6");
secParamsRow.setByOid(12, "1");
secParamsRow.setByOid(13, "1");
secParamsRow.setByOid(14, "0");
secParamsRow.setByOid(11, "0");
secParamsRow.setByOid(16, "1");
secParamsRow.setByOid(17, "0");
secParamsRow.setByOid(19, "0");
secParamsRow.setByOid(26, "524288");
secParamsRow.setByOid(20, "");
secParamsRow.setByOid(21, "");
secParamsTable.addOrMerge(secParamsRow);
});
};
|
---|
Addin as JSON file:
ssid_preshared_key_lx.json