added setdset function for greenpacket CPE
This commit is contained in:
1 parent
c47c19dd76
commit
7c5a3eaf1f
1 file changed
+27
-6
@@ -119,14 +119,18 @@ var parsePairs = function(pairsString) {
|
||||
}
|
||||
|
||||
exports.set = function(deviceId, args, callback) {
|
||||
executeSet(deviceId, args, false, callback);
|
||||
executeSet(deviceId, args, ['set'], callback);
|
||||
};
|
||||
|
||||
exports.dset = function(deviceId, args, callback) {
|
||||
executeSet(deviceId, args, true, callback);
|
||||
executeSet(deviceId, args, ['dset'], callback);
|
||||
};
|
||||
|
||||
var executeSet = function(deviceId, args, dset, callback) {
|
||||
exports.setdset = function(deviceId, args, callback) {
|
||||
executeSet(deviceId, args, ['dset', 'set'], callback);
|
||||
};
|
||||
|
||||
var executeSet = function(deviceId, args, method, callback) {
|
||||
var tmp = args.split('-');
|
||||
var defaultBandwidth = tmp[0];
|
||||
var pairs = parsePairs(tmp[1]);
|
||||
@@ -135,9 +139,13 @@ var executeSet = function(deviceId, args, dset, callback) {
|
||||
|
||||
getDeviceIp(deviceId, function(ip) {
|
||||
var client = telnetConnect(ip, function(err) {
|
||||
//return callback(null, "ok");
|
||||
var telnet_cmd = "sncfg set";
|
||||
if (dset) telnet_cmd = "sncfg dset";
|
||||
var telnet_cmd = "sncfg " + method[0];
|
||||
telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) {
|
||||
if (err) return callback(err);
|
||||
telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) {
|
||||
if (err) return callback(err);
|
||||
if (method.length > 1) {
|
||||
telnet_cmd = "sncfg " + method[1];
|
||||
telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) {
|
||||
if (err) return callback(err);
|
||||
telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) {
|
||||
@@ -152,6 +160,19 @@ var executeSet = function(deviceId, args, dset, callback) {
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
else {
|
||||
telnetExecute("sncfg commit", client, "\n# ", function(err, response) {
|
||||
if (err) return callback(err);
|
||||
// log out
|
||||
telnetExecute("exit", client, null, function(err, response) {
|
||||
client.end();
|
||||
return callback(null, args);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
client.on("error", function(err) {
|
||||
|
||||
Reference in new issue
Block a user