added setdset function for greenpacket CPE

This commit is contained in:
Omar M committed 2013-12-02 14:19:13 +03:00
1 parent c47c19dd76
commit 7c5a3eaf1f
1 file changed
+27 -6
@@ -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,9 +139,13 @@ 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"; telnetExecute(telnet_cmd + " WMX_FREQ_BANDWDITH_FL '" + defaultBandwidth + "-" + bandwidthsString + "'", client, "\n# ", function(err, response) {
if (dset) telnet_cmd = "sncfg dset"; 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) { 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) {
@@ -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) { client.on("error", function(err) {