Merge pull request #1 from omar84/master

added setdset function for greenpacket CPE
This commit is contained in:
Zaid Abdulla committed 2013-12-02 03:22:04 -08:00
commit e9d461c898
1 file changed
+34 -13
@@ -119,14 +119,18 @@ var parsePairs = function(pairsString) {
} }
exports.set = function(deviceId, args, callback) { exports.set = function(deviceId, args, callback) {
executeSet(deviceId, args, false, callback); executeSet(deviceId, args, ['set'], callback);
}; };
exports.dset = function(deviceId, args, 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 tmp = args.split('-');
var defaultBandwidth = tmp[0]; var defaultBandwidth = tmp[0];
var pairs = parsePairs(tmp[1]); var pairs = parsePairs(tmp[1]);
@@ -135,21 +139,38 @@ var executeSet = function(deviceId, args, dset, callback) {
getDeviceIp(deviceId, function(ip) { getDeviceIp(deviceId, function(ip) {
var client = telnetConnect(ip, function(err) { var client = telnetConnect(ip, function(err) {
//return callback(null, "ok"); var telnet_cmd = "sncfg " + method[0];
var telnet_cmd = "sncfg set";
if (dset) telnet_cmd = "sncfg dset";
telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) { telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) {
if (err) return callback(err); if (err) return callback(err);
telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) { telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) {
if (err) return callback(err); if (err) return callback(err);
telnetExecute("sncfg commit", client, "\n# ", function(err, response) { if (method.length > 1) {
if (err) return callback(err); telnet_cmd = "sncfg " + method[1];
// log out telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) {
telnetExecute("exit", client, null, function(err, response) { if (err) return callback(err);
client.end(); telnetExecute(telnet_cmd + " WMX_FREQ_LIST '" + frequenciesString + "'", client, "\n# ", function(err, response) {
return callback(null, args); if (err) return callback(err);
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);
});
});
});
}); });
}); }
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);
});
});
}
}); });
}); });
}); });