The node i am using: node-red-contrib-snmp
Example interfaces from my ubiquiti erx
IOD 1.3.6.1.2.1.2.2.1.2
per RFC (should be standard accross devices) - outputs the interfaces and names in buffers (example flow translates them to UTF8 string)
IOD 1.3.6.1.2.1.2.2.1.8
(RFC) outputs all interfaces status value 0 (down) 1 (up)
Example output
Example flow
[{"id":"7320c129.7639f8","type":"inject","z":"838f476f.2b6cd","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":204,"y":408,"wires":[["5a17a576.80a3bc","fdafbd8b.0520a"]]},{"id":"c5077427.3b3a3","type":"debug","z":"838f476f.2b6cd","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":698,"y":408,"wires":[]},{"id":"5a17a576.80a3bc","type":"snmp subtree","z":"838f476f.2b6cd","host":"10.0.0.1","community":"public","version":"2c","oids":"1.3.6.1.2.1.2.2.1.2","timeout":5,"name":"","x":388,"y":384,"wires":[["121a7d16.7513db"]]},{"id":"121a7d16.7513db","type":"function","z":"838f476f.2b6cd","name":"","func":"m = msg.payload\no = []\nfor(x=0;x<m.length;x++){\n \n let i = m[x].value.toString('utf8');\n o.push({oid:m[x].oid,interface:i})\n \n}\n\nreturn {payload:o}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":564,"y":384,"wires":[["c5077427.3b3a3"]]},{"id":"fdafbd8b.0520a","type":"snmp subtree","z":"838f476f.2b6cd","host":"10.0.0.1","community":"public","version":"2c","oids":"1.3.6.1.2.1.2.2.1.8","timeout":5,"name":"","x":388,"y":432,"wires":[["c5077427.3b3a3"]]}]
Really essential is a MIB browser to understand the values and their context, i am using iReasoning MIB browser, it's free and you can load MIB's in it.