Difference between revisions of "Function snmpGet()"

From wiki.netio-products.com
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:function snmpGet()}} Execute SNMP GET call to given host and oid to read the response. The call is asynchronous: the code execution proceeds immediately and whe...")
 
 
Line 2: Line 2:
 
Execute SNMP GET call to given host and oid to read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called.
 
Execute SNMP GET call to given host and oid to read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called.
  
  <i>nil</i> <b>devices.system.snmpGet</b>(<i>table</i> <code>config</code>)
+
  <i>nil</i> <b>snmpGet</b>(<i>table</i> <code>config</code>)
  
 
=== Parameters ===
 
=== Parameters ===

Latest revision as of 12:26, 20 June 2019

Execute SNMP GET call to given host and oid to read the response. The call is asynchronous: the code execution proceeds immediately and when the response arrives, callback function is called.

nil snmpGet(table config)

Parameters

table config{host, oid, callback, snmpVersion,community, timeout}
  • string host host IP adress, may contain transport protocol and port (for example tcp:myhost.com:162)
  • string oid object identifier
  • function{response} callback this function is called when response arrives
  • string snmpVersion version of SNMP (SNMP_VERSION.Snmp1 or SNMP_VERSION.Snmp2c)
  • string community SNMP community string
  • optional number timeout maximum seconds to wait for response (default 30)

Callback Parameters

table response{result, errorInfo, oid, value}
  • number result error code of the response (0 is success)
  • string errorInfo error description (if result>0)
  • string oid oid we got
  • string value value for the oid

Return value

nil

Usage

-- switch all outputs on NETIO with IP in 'host' parameter
local function snmpcallback(data)
  if data.result == 0 then
    output=tonumber(string.sub(data.oid, -1))
    outputStatus=tonumber(data.value)
    devices.system.SetOut{output=output, value=(outputStatus == 0)}
  else
       log(string.format("snmpget failed with error %d: %s", data.result, data.errorInfo))
  end
end

for i = 1,4 do
  snmpGet{host='10.0.0.102', timeout=6, oid=string.format(".1.3.6.1.4.1.47952.1.1.1.3.%d", i), snmpVersion=SNMP_VERSION.Snmp1, community='public', callback=snmpcallback}
end


Requirements

Netio FirmWare 3.3.0+