SNMP function for Ignition version 8

Thanks to both the Norcal-SNMP and Embr-SNMP teams for their efforts to make their SNMP drivers work. I have tested both successfully (read only, v2c) in the office with some of our rapid deployment field equipment where SNMP is the only monitoring we’ve got (and very limited at that). The field failure risk is relatively high (esp for power) due to the rapid, limited, compromised and temporary nature of the deployments so hopefully we can monitor, alarm and intervene before failure. It will also enable to log data on the equipment’s performance over time to optimise specs.

Best regards,
Patrick.

Is there a minimum required version of Ignition for this module?

I’m using it on an 8.1.33 so can’t comment other than that.

I’ve updated this today, it now includes an option to use a privacy key for encryption, along with many error reporting improvements, and an updated readme.

ignition-module-snmp

I just submitted a PR for 8.3 support on this module. No idea if you have GH notifications enabled.

1 Like

Yup, seen!
I can’t promise when I’ll get to look at it (busy season), but I can promise that I will look at it.

2 Likes

Beta PR (local build posted here)

Adds scripting functions for reading, writing, and walking.

5 Likes

Another beta:

Embr-SNMP-Ignition83-0.3.0.modl (833.1 KB)

Changes:

  1. Add system.snmp.agent.readTable for reading tables as datasets.
    You are expected to provide the columns of the table, and optionally lower/upper bound indexes for the section of the table you'd like to access.

Example:

system.snmp.agent.readTable('printer', columns=['1.3.6.1.2.1.2.2.1.2', '1.3.6.1.2.1.2.2.1.6'], lowerBoundIndex='0', upperBoundIndex='2')

Result:

subindex | 1.3.6.1.2.1.2.2.1.2 | 1.3.6.1.2.1.2.2.1.6
-----------------------------------------------------
1        | NC-46004h           | 00:80:77:5d:8b:f1  
2        | SoftwareLoopBack    |                    
  1. system.snmp.agent.read and system.snmp.agent.walk now return lists of QualifiedOidValues. You've got the standard QualifiedValue stuff, plus an attached .oid/.getOid().
  2. system.snmp.agent.write now returns a list of QualityCodes.
  3. Full keyword argument support.

Next step before release is Blocking/Async versions.

5 Likes