diff --git a/io/snmp/README.md b/io/snmp/README.md
index 5fb58999..b228c81d 100644
--- a/io/snmp/README.md
+++ b/io/snmp/README.md
@@ -18,9 +18,17 @@ Usage
SNMP oids fetcher. Can fetch a single or comma separated list of oids. Triggered by any input.
+`msg.host` may contain the host.
+
+`msg.community` may contain the community.
+
`msg.oid` may contain a comma separated list of oids to search for. (no spaces)
-The oids confgured in the edit config will override `msg.oid`. Leave blank if you
+The host configured in the edit config will override `msg.host`. Leave blank if you want to use `msg.host` to provide input.
+
+The community configured in the edit config will override `msg.community`. Leave blank if you want to use `msg.community` to provide input.
+
+The oids configured in the edit config will override `msg.oid`. Leave blank if you
want to use `msg.oid` to provide input.
Outputs `msg.payload` containing a table of objects, and the requested `msg.oid`.
@@ -29,9 +37,38 @@ Values depends on the oids being requested.
### snmp-table
Simple SNMP table oid fetcher. Triggered by any input.
+
+`msg.host` may contain the host.
+
+`msg.community` may contain the community.
+
`msg.oid` may contain the oid of a single table to search for.
-The oid confgured in the edit config will override `msg.oid`. Leave blank if you
+The host configured in the edit config will override `msg.host`. Leave blank if you want to use `msg.host` to provide input.
+
+The community configured in the edit config will override `msg.community`. Leave blank if you want to use `msg.community` to provide input.
+
+The oid configured in the edit config will override `msg.oid`. Leave blank if you
+want to use `msg.oid` to provide input.
+
+Outputs `msg.payload` containing the table of objects, and the requested `msg.oid`.
+Values depends on the oids being requested.
+
+### snmp-subtree
+
+Simple SNMP oid subtree fetcher. Triggered by any input.
+
+`msg.host` may contain the host.
+
+`msg.community` may contain the community.
+
+`msg.oid` may contain the oid of a single table to search for.
+
+The host configured in the edit config will override `msg.host`. Leave blank if you want to use `msg.host` to provide input.
+
+The community configured in the edit config will override `msg.community`. Leave blank if you want to use `msg.community` to provide input.
+
+The oid configured in the edit config will override `msg.oid`. Leave blank if you
want to use `msg.oid` to provide input.
Outputs `msg.payload` containing the table of objects, and the requested `msg.oid`.
@@ -39,4 +76,20 @@ Values depends on the oids being requested.
### snmp-walker
-### snmp-subtree
+Simple SNMP oid walker fetcher. Triggered by any input.
+
+`msg.host` may contain the host.
+
+`msg.community` may contain the community.
+
+`msg.oid` may contain the oid of a single table to search for.
+
+The host configured in the edit config will override `msg.host`. Leave blank if you want to use `msg.host` to provide input.
+
+The community configured in the edit config will override `msg.community`. Leave blank if you want to use `msg.community` to provide input.
+
+The oid configured in the edit config will override `msg.oid`. Leave blank if you
+want to use `msg.oid` to provide input.
+
+Outputs `msg.payload` containing the table of objects, and the requested `msg.oid`.
+Values depends on the oids being requested.
diff --git a/io/snmp/snmp.html b/io/snmp/snmp.html
index c0c45574..1621e724 100644
--- a/io/snmp/snmp.html
+++ b/io/snmp/snmp.html
@@ -28,6 +28,8 @@
@@ -85,6 +87,8 @@
@@ -141,6 +145,8 @@
@@ -199,6 +205,8 @@
diff --git a/io/snmp/snmp.js b/io/snmp/snmp.js
index c3e90bf6..a1159ac0 100644
--- a/io/snmp/snmp.js
+++ b/io/snmp/snmp.js
@@ -12,13 +12,10 @@ module.exports = function(RED) {
var node = this;
this.on("input",function(msg) {
+ var host = node.host || msg.host;
+ var community = node.community || msg.community;
var oids = node.oids || msg.oid;
if (oids) {
- if (msg.host && node.host || msg.community && node.community) {
- node.warn(RED._("common.errors.nooverride"));
- }
- var host = node.host || msg.host;
- var community = node.community || msg.community;
node.session = snmp.createSession(host, community, {version: node.version});
node.session.get(oids.split(","), function(error, varbinds) {
if (error) {
@@ -70,18 +67,15 @@ module.exports = function(RED) {
}
this.on("input",function(msg) {
+ var host = node.host || msg.host;
+ var community = node.community || msg.community;
var oids = node.oids || msg.oid;
if (oids) {
msg.oid = oids;
- if (msg.host && node.host || msg.community && node.community) {
- node.warn(RED._("common.errors.nooverride"));
- }
- var host = node.host || msg.host;
- var community = node.community || msg.community;
node.session = snmp.createSession(host, community, {version: node.version});
node.session.table(oids, maxRepetitions, function(error, table) {
if (error) {
- node.error(error.toString());
+ node.error(error.toString(), msg);
}
else {
var indexes = [];
@@ -135,7 +129,7 @@ module.exports = function(RED) {
function feedCb(varbinds) {
for (var i = 0; i < varbinds.length; i++) {
if (snmp.isVarbindError(varbinds[i])) {
- node.error(snmp.varbindError(varbinds[i]));
+ node.error(snmp.varbindError(varbinds[i]), msg);
}
else {
//console.log(varbinds[i].oid + "|" + varbinds[i].value);
@@ -145,18 +139,15 @@ module.exports = function(RED) {
}
this.on("input",function(msg) {
+ var host = node.host || msg.host;
+ var community = node.community || msg.community;
var oids = node.oids || msg.oid;
if (oids) {
msg.oid = oids;
- if (msg.host && node.host || msg.community && node.community) {
- node.warn(RED._("common.errors.nooverride"));
- }
- var host = node.host || msg.host;
- var community = node.community || msg.community;
node.session = snmp.createSession(host, community, {version: node.version});
node.session.subtree(msg.oid, maxRepetitions, feedCb, function(error) {
if (error) {
- node.error(error.toString());
+ node.error(error.toString(), msg);
}
else {
msg.payload = response;
@@ -192,7 +183,7 @@ module.exports = function(RED) {
function feedCb(varbinds) {
for (var i = 0; i < varbinds.length; i++) {
if (snmp.isVarbindError(varbinds[i])) {
- node.error(snmp.varbindError(varbinds[i]));
+ node.error(snmp.varbindError(varbinds[i]), msg);
}
else {
//console.log(varbinds[i].oid + "|" + varbinds[i].value);
@@ -204,17 +195,14 @@ module.exports = function(RED) {
this.on("input",function(msg) {
node.msg = msg;
var oids = node.oids || msg.oid;
+ var host = node.host || msg.host;
+ var community = node.community || msg.community;
if (oids) {
msg.oid = oids;
- if (msg.host && node.host || msg.community && node.community) {
- node.warn(RED._("common.errors.nooverride"));
- }
- var host = node.host || msg.host;
- var community = node.community || msg.community;
node.session = snmp.createSession(host, community, {version: node.version});
node.session.walk(msg.oid, maxRepetitions, feedCb, function(error) {
if (error) {
- node.error(error.toString());
+ node.error(error.toString(), msg);
}
else {
msg.payload = response;