Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream Eaton/Powerware/MGE data mappings from 42ity/nut #1319

Merged
merged 75 commits into from
Mar 8, 2022

Conversation

jimklimov
Copy link
Member

@jimklimov jimklimov commented Feb 27, 2022

A large block of changes from #1316 upstreaming effort, this PR should cover most of the visible "non-DMF" improvements for snmp-ups driver itself, some code restructuring into helper files (in "full" DMF it allows easier reuse of some still needed binary code), as well as data mappings in Eaton/Powerware/MGE MIB files and mge-xml.c, most of which happened to not be cross-posted to 42ity/nut and upstream NUT (unlike many other changes that did land in both repos between 2015-2022).

It also adds the SU_FLAG_SEMI_STATIC definition and handling, and fixes daisy-chain init for devices with some MIBs.

Compared to current state of 42ity/nut FTY branch, this fixes a few missed cases of "open" => "opened" contact status (similar fix is added in an open PR for resync from master, which also serves to minimize diffs of the two codebases).

  • @aquette : I saw that hpe and raritan subdriver sources still mention "open" in both branches for something; should this be all brought to same standard?
  • Many of these changes were commented with "RFC needed" or similar note about community discussion to update the nut-names.txt and standardize some new concepts.

Also compared to current state of 42ity/nut FTY branch, this (possibly clumsily) drops or stubs the DMF support (e.g. WITH_SNMP_LKP_FUN macro is used in some but not all places to simplify later diffs, but by definition in snmp-ups.h it is currently effectively always defined, since DMF macros for the other possibility are not in scope yet), and the loosely related extension to the classes of mapping functions (bumping from 2 to 4 pointers) is not ported since so far there were very few use-cases for that flexibility and they were wrought into existing code structure for now.

Practical diffs in device walks across builds would be posted in comments below.

jimklimov and others added 30 commits February 27, 2022 18:49
…arlin-mib.c to eaton-pdu-marlin-helpers.c/.h
…ebases that support these callbacks from those that currently do not
… a full solution - some mapping functions are needed and revision of MIB data types)
…ement conversion func for "outlet.group.%i.phase"
…ement conversion func for "device.count" which returns a comma-separated list
Also update line-breaks for readability and 80-col standard
Solution: Attach 1 feed to the current input

Signed-off-by: Arnaud Quette <[email protected]>
Remove the not needed SU_FLAG_UNIQUE and the erroneous value lookup structure
index

Signed-off-by: Arnaud Quette <[email protected]>
Add support for shutdown and start timers

Signed-off-by: Arnaud Quette <[email protected]>
Fix data name, since the published value is in Watts, so realpower, not power

Signed-off-by: Arnaud Quette <[email protected]>
Add support for the 2 GPI accessible through EMP001 environmental sensor,
connected to a UPS or ATS16. The same is already available for Eaton ePDU.
This affect the snmp-ups driver (eaton_ats16 and pw/pxgx_ups MIBs), and the
netxml-ups driver

Signed-off-by: Arnaud Quette <[email protected]>
While "open" is the best adjective for the opposite of "closed", and thus
suitable for GPI status, this may lead to confusion with the GPO actions
"open|close" Vs the GPI status "opened|closed". These last are also not
inapropriate, since they can refer to the fact that the GPI state has change
due to some external action or event

Signed-off-by: Arnaud Quette <[email protected]>
…pping structure" changes for input.phases=>input.count
* duplicate some OIDs, with refinement to point at the first index (i.e ".0" or
".1.0") since otherwise the agent doesn't respond to queries. This could be
fixed at the snmp-ups level later
* fixed "ups.type" (power topology of the UPS) which was pointing at the
output.source or ups.mode

Signed-off-by: Arnaud Quette <[email protected]>
arnaudquette-eaton and others added 15 commits February 27, 2022 18:49
power and realpower for 3ph Lx were not publishing values
when they were 0

Signed-off-by: Arnaud Quette <[email protected]>
Though there is output.Lx.power.percent, for 3phase,
it's desirable to also have the standard ups.load

Signed-off-by: Arnaud Quette <[email protected]>
…mapping function

Note: ported sub-set of "snmp-ups.[ch] : add support for extended
fun/nuf l2s/s2l conversions and use it for daisychain initialization"
without the actual 2x2 "fun/nuf l2s/s2l" support here.
@jimklimov
Copy link
Member Author

jimklimov commented Feb 27, 2022

Differences for a single UPS, between current upstream/NUT master branch and this PRed codebase, across several MIBs:

  • pxgx_ups:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33px-master-3.txt' (-) vs '/tmp/nutdev33px-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
+ambient.contacts.1.name: Input \#1
+ambient.contacts.1.status: opened
+ambient.contacts.2.name: Input \#2
+ambient.contacts.2.status: closed
-driver.version.data: pxgx_ups MIB 0.95
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.data: pxgx_ups MIB 0.104
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
+experimental.ups.type: normal
+outlet.1.id: 1
+outlet.1.status: on
+outlet.1.switchable: 1
+outlet.2.id: 2
+outlet.2.status: on
+outlet.2.switchable: 2
+outlet.count: 2
+outlet.id: 0
+outlet.switchable: 0
+output.realpower.nominal: 4500
-ups.type: normal
+ups.type: On-Line UPS, Single Phase
  • pw:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33pw-master-3.txt' (-) vs '/tmp/nutdev33pw-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
+ambient.contacts.1.name: Input \#1
+ambient.contacts.1.status: opened
+ambient.contacts.2.name: Input \#2
+ambient.contacts.2.status: closed
-driver.version.data: pw MIB 0.95
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.data: pw MIB 0.104
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
+experimental.ups.type: normal
+outlet.1.id: 1
+outlet.1.status: on
+outlet.1.switchable: 1
+outlet.2.id: 2
+outlet.2.status: on
+outlet.2.switchable: 2
+outlet.count: 2
+outlet.id: 0
+outlet.switchable: 0
+output.realpower.nominal: 4500
-ups.type: normal
+ups.type: On-Line UPS, Single Phase
  • mge:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33mge-master-3.txt' (-) vs '/tmp/nutdev33mge-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
+ambient.contacts.1.status: opened
+ambient.contacts.2.status: closed
-battery.runtime: 3720
+battery.runtime: 3600
-driver.version.data: mge MIB 0.54
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.data: mge MIB 0.55
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
  • ietf:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33ietf-master-3.txt' (-) vs '/tmp/nutdev33ietf-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
  • and similar for netxml-ups driver - added ambient contacts in the mapping subdriver (note, different device than for SNMP diffs above):
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev36xml-master-3.txt' (-) vs '/tmp/nutdev36xml-fty-mibs-3.txt' (+)
-Network UPS Tools - network XML UPS 0.44 (2.7.4-4755-ga145477)
+Network UPS Tools - network XML UPS 0.44 (2.7.4-4828-g2d97ab0)
+ambient.contacts.1.status: opened
+ambient.contacts.2.status: opened
-battery.runtime: 2940
+battery.runtime: 2820
-driver.version.data: MGEXML/0.32
+driver.version.data: MGEXML/0.36
-driver.version: 2.7.4-4755-ga145477
+driver.version: 2.7.4-4828-g2d97ab0
-input.bypass.frequency.nominal: 49
+input.bypass.frequency.nominal: 50
-input.voltage.nominal: 229
+input.voltage.nominal: 230
-ups.time: 22:07:47
+ups.time: 21:20:29

@jimklimov
Copy link
Member Author

Daisychain "master" device (ePDU), between current upstream/NUT master branch and this PRed codebase:

=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev13-master-3.txt' (-) vs '/tmp/nutdev13-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-device.1.ambient.contacts.2.status: open
+device.1.ambient.contacts.2.status: opened
+device.1.input.feed.color: 0
+device.1.input.feed.desc: Feed A
+device.1.input.realpower.nominal: 2300
+device.1.outlet.1.delay.shutdown: 120
+device.1.outlet.1.delay.start: 1
-device.1.outlet.1.name: 1
+device.1.outlet.1.name: A1
+device.1.outlet.1.timer.shutdown: -1
+device.1.outlet.1.timer.start: -1
+device.1.outlet.10.delay.shutdown: 120
+device.1.outlet.10.delay.start: 10
-device.1.outlet.10.name: 10
+device.1.outlet.10.name: A10
+device.1.outlet.10.timer.shutdown: -1
+device.1.outlet.10.timer.start: -1
+device.1.outlet.11.delay.shutdown: 120
+device.1.outlet.11.delay.start: 11
-device.1.outlet.11.name: 11
+device.1.outlet.11.name: A11
+device.1.outlet.11.timer.shutdown: -1
+device.1.outlet.11.timer.start: -1
+device.1.outlet.12.delay.shutdown: 120
+device.1.outlet.12.delay.start: 12
-device.1.outlet.12.name: 12
+device.1.outlet.12.name: A12
+device.1.outlet.12.timer.shutdown: -1
+device.1.outlet.12.timer.start: -1
+device.1.outlet.13.delay.shutdown: 120
+device.1.outlet.13.delay.start: 13
-device.1.outlet.13.name: 13
+device.1.outlet.13.name: A13
+device.1.outlet.13.timer.shutdown: -1
+device.1.outlet.13.timer.start: -1
+device.1.outlet.14.delay.shutdown: 120
+device.1.outlet.14.delay.start: 14
-device.1.outlet.14.name: 14
+device.1.outlet.14.name: A14
+device.1.outlet.14.timer.shutdown: -1
+device.1.outlet.14.timer.start: -1
+device.1.outlet.15.delay.shutdown: 120
+device.1.outlet.15.delay.start: 15
-device.1.outlet.15.name: 15
+device.1.outlet.15.name: A15
+device.1.outlet.15.timer.shutdown: -1
+device.1.outlet.15.timer.start: -1
+device.1.outlet.16.delay.shutdown: 120
+device.1.outlet.16.delay.start: 16
-device.1.outlet.16.name: 16
+device.1.outlet.16.name: A16
+device.1.outlet.16.timer.shutdown: -1
+device.1.outlet.16.timer.start: -1
+device.1.outlet.2.delay.shutdown: 120
+device.1.outlet.2.delay.start: 2
-device.1.outlet.2.name: 2
+device.1.outlet.2.name: A2
+device.1.outlet.2.timer.shutdown: -1
+device.1.outlet.2.timer.start: -1
+device.1.outlet.3.delay.shutdown: 120
+device.1.outlet.3.delay.start: 3
-device.1.outlet.3.name: 3
+device.1.outlet.3.name: A3
+device.1.outlet.3.timer.shutdown: -1
+device.1.outlet.3.timer.start: -1
+device.1.outlet.4.delay.shutdown: 120
+device.1.outlet.4.delay.start: 4
-device.1.outlet.4.name: 4
+device.1.outlet.4.name: A4
+device.1.outlet.4.timer.shutdown: -1
+device.1.outlet.4.timer.start: -1
+device.1.outlet.5.delay.shutdown: 120
+device.1.outlet.5.delay.start: 5
-device.1.outlet.5.name: 5
+device.1.outlet.5.name: A5
+device.1.outlet.5.timer.shutdown: -1
+device.1.outlet.5.timer.start: -1
+device.1.outlet.6.delay.shutdown: 120
+device.1.outlet.6.delay.start: 6
-device.1.outlet.6.name: 6
+device.1.outlet.6.name: A6
+device.1.outlet.6.timer.shutdown: -1
+device.1.outlet.6.timer.start: -1
+device.1.outlet.7.delay.shutdown: 120
+device.1.outlet.7.delay.start: 7
-device.1.outlet.7.name: 7
+device.1.outlet.7.name: A7
+device.1.outlet.7.timer.shutdown: -1
+device.1.outlet.7.timer.start: -1
+device.1.outlet.8.delay.shutdown: 120
+device.1.outlet.8.delay.start: 8
-device.1.outlet.8.name: 8
+device.1.outlet.8.name: A8
+device.1.outlet.8.timer.shutdown: -1
+device.1.outlet.8.timer.start: -1
+device.1.outlet.9.delay.shutdown: 120
+device.1.outlet.9.delay.start: 9
-device.1.outlet.9.name: 9
+device.1.outlet.9.name: A9
+device.1.outlet.9.timer.shutdown: -1
+device.1.outlet.9.timer.start: -1
+device.1.outlet.group.1.color: 16051527
+device.1.outlet.group.1.desc: Branch Circuit A
-device.1.outlet.group.1.name: Branch Circuit A
-device.1.outlet.group.1.phase: 128
+device.1.outlet.group.1.input: 1
+device.1.outlet.group.1.name: A
+device.1.outlet.group.1.phase: 1
-device.2.ambient.contacts.1.status: open
-device.2.ambient.contacts.2.status: open
+device.2.ambient.contacts.1.status: opened
+device.2.ambient.contacts.2.status: opened
+device.2.input.feed.color: 0
+device.2.input.feed.desc: Feed A
+device.2.input.realpower.nominal: 2300
+device.2.outlet.1.delay.shutdown: 120
+device.2.outlet.1.delay.start: 1
-device.2.outlet.1.name: 1
+device.2.outlet.1.name: A1
+device.2.outlet.1.timer.shutdown: -1
+device.2.outlet.1.timer.start: -1
+device.2.outlet.10.delay.shutdown: 120
+device.2.outlet.10.delay.start: 10
-device.2.outlet.10.name: 10
+device.2.outlet.10.name: A10
+device.2.outlet.10.timer.shutdown: -1
+device.2.outlet.10.timer.start: -1
+device.2.outlet.11.delay.shutdown: 120
+device.2.outlet.11.delay.start: 11
-device.2.outlet.11.name: 11
+device.2.outlet.11.name: A11
+device.2.outlet.11.timer.shutdown: -1
+device.2.outlet.11.timer.start: -1
+device.2.outlet.12.delay.shutdown: 120
+device.2.outlet.12.delay.start: 12
-device.2.outlet.12.name: 12
+device.2.outlet.12.name: A12
+device.2.outlet.12.timer.shutdown: -1
+device.2.outlet.12.timer.start: -1
+device.2.outlet.13.delay.shutdown: 120
+device.2.outlet.13.delay.start: 13
-device.2.outlet.13.name: 13
+device.2.outlet.13.name: A13
+device.2.outlet.13.timer.shutdown: -1
+device.2.outlet.13.timer.start: -1
+device.2.outlet.14.delay.shutdown: 120
+device.2.outlet.14.delay.start: 14
-device.2.outlet.14.name: 14
+device.2.outlet.14.name: A14
+device.2.outlet.14.timer.shutdown: -1
+device.2.outlet.14.timer.start: -1
+device.2.outlet.15.delay.shutdown: 120
+device.2.outlet.15.delay.start: 15
-device.2.outlet.15.name: 15
+device.2.outlet.15.name: A15
+device.2.outlet.15.timer.shutdown: -1
+device.2.outlet.15.timer.start: -1
+device.2.outlet.16.delay.shutdown: 120
+device.2.outlet.16.delay.start: 16
-device.2.outlet.16.name: 16
+device.2.outlet.16.name: A16
+device.2.outlet.16.timer.shutdown: -1
+device.2.outlet.16.timer.start: -1
+device.2.outlet.2.delay.shutdown: 120
+device.2.outlet.2.delay.start: 2
-device.2.outlet.2.name: 2
+device.2.outlet.2.name: A2
+device.2.outlet.2.timer.shutdown: -1
+device.2.outlet.2.timer.start: -1
+device.2.outlet.3.delay.shutdown: 120
+device.2.outlet.3.delay.start: 3
-device.2.outlet.3.name: 3
+device.2.outlet.3.name: A3
+device.2.outlet.3.timer.shutdown: -1
+device.2.outlet.3.timer.start: -1
+device.2.outlet.4.delay.shutdown: 120
+device.2.outlet.4.delay.start: 4
-device.2.outlet.4.name: 4
+device.2.outlet.4.name: A4
+device.2.outlet.4.timer.shutdown: -1
+device.2.outlet.4.timer.start: -1
+device.2.outlet.5.delay.shutdown: 120
+device.2.outlet.5.delay.start: 5
-device.2.outlet.5.name: 5
+device.2.outlet.5.name: A5
+device.2.outlet.5.timer.shutdown: -1
+device.2.outlet.5.timer.start: -1
+device.2.outlet.6.delay.shutdown: 120
+device.2.outlet.6.delay.start: 6
-device.2.outlet.6.name: 6
+device.2.outlet.6.name: A6
+device.2.outlet.6.timer.shutdown: -1
+device.2.outlet.6.timer.start: -1
+device.2.outlet.7.delay.shutdown: 120
+device.2.outlet.7.delay.start: 7
-device.2.outlet.7.name: 7
+device.2.outlet.7.name: A7
+device.2.outlet.7.timer.shutdown: -1
+device.2.outlet.7.timer.start: -1
+device.2.outlet.8.delay.shutdown: 120
+device.2.outlet.8.delay.start: 8
-device.2.outlet.8.name: 8
+device.2.outlet.8.name: A8
+device.2.outlet.8.timer.shutdown: -1
+device.2.outlet.8.timer.start: -1
+device.2.outlet.9.delay.shutdown: 120
+device.2.outlet.9.delay.start: 9
-device.2.outlet.9.name: 9
+device.2.outlet.9.name: A9
+device.2.outlet.9.timer.shutdown: -1
+device.2.outlet.9.timer.start: -1
+device.2.outlet.group.1.color: 16051527
+device.2.outlet.group.1.desc: Branch Circuit A
-device.2.outlet.group.1.name: Branch Circuit A
-device.2.outlet.group.1.phase: 128
+device.2.outlet.group.1.input: 1
+device.2.outlet.group.1.name: A
+device.2.outlet.group.1.phase: 1
+device.3.input.feed.color: 0
+device.3.input.feed.desc: Feed A
+device.3.input.realpower.nominal: 3680
+device.3.outlet.1.delay.shutdown: 120
+device.3.outlet.1.delay.start: 11
-device.3.outlet.1.name: 1
+device.3.outlet.1.name: A1
+device.3.outlet.1.timer.shutdown: -1
+device.3.outlet.1.timer.start: -1
+device.3.outlet.2.delay.shutdown: 120
+device.3.outlet.2.delay.start: 2
-device.3.outlet.2.name: 2
+device.3.outlet.2.name: A2
+device.3.outlet.2.timer.shutdown: -1
+device.3.outlet.2.timer.start: -1
+device.3.outlet.3.delay.shutdown: 120
+device.3.outlet.3.delay.start: 3
-device.3.outlet.3.name: 3
+device.3.outlet.3.name: A3
+device.3.outlet.3.timer.shutdown: -1
+device.3.outlet.3.timer.start: -1
+device.3.outlet.4.delay.shutdown: 120
+device.3.outlet.4.delay.start: 4
-device.3.outlet.4.name: 4
+device.3.outlet.4.name: A4
+device.3.outlet.4.timer.shutdown: -1
+device.3.outlet.4.timer.start: -1
+device.3.outlet.5.delay.shutdown: 120
+device.3.outlet.5.delay.start: 5
-device.3.outlet.5.name: 5
+device.3.outlet.5.name: A5
+device.3.outlet.5.timer.shutdown: -1
+device.3.outlet.5.timer.start: -1
+device.3.outlet.6.delay.shutdown: 120
+device.3.outlet.6.delay.start: 6
-device.3.outlet.6.name: 6
+device.3.outlet.6.name: A6
+device.3.outlet.6.timer.shutdown: -1
+device.3.outlet.6.timer.start: -1
+device.3.outlet.7.delay.shutdown: 120
+device.3.outlet.7.delay.start: 7
-device.3.outlet.7.name: 7
+device.3.outlet.7.name: A7
+device.3.outlet.7.timer.shutdown: -1
+device.3.outlet.7.timer.start: -1
+device.3.outlet.8.delay.shutdown: 120
+device.3.outlet.8.delay.start: 1
-device.3.outlet.8.name: 8
+device.3.outlet.8.name: A8
+device.3.outlet.8.timer.shutdown: -1
+device.3.outlet.8.timer.start: -1
+device.3.outlet.group.1.color: 3831236
+device.3.outlet.group.1.desc: Section A
-device.3.outlet.group.1.name: Section A
-device.3.outlet.group.1.phase: 128
+device.3.outlet.group.1.input: 1
+device.3.outlet.group.1.name: A
+device.3.outlet.group.1.phase: 1
-driver.version.data: eaton_epdu MIB 0.59
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.data: eaton_epdu MIB 0.69
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0

@jimklimov
Copy link
Member Author

Daisychain "slave" device (ePDU with its own IP address), between current upstream/NUT master branch and this PRed codebase:

=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev14-master-3.txt' (-) vs '/tmp/nutdev14-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (2.7.4-4755-ga145477)
-ambient.contacts.1.status: open
-ambient.contacts.2.status: open
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
+ambient.contacts.1.status: opened
+ambient.contacts.2.status: opened
+device.count: 1
-driver.version.data: eaton_epdu MIB 0.59
-driver.version.internal: 1.19
-driver.version: 2.7.4-4755-ga145477
+driver.version.data: eaton_epdu MIB 0.69
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
+input.feed.color: 0
+input.feed.desc: Feed A
+input.realpower.nominal: 2300
+outlet.1.delay.shutdown: 120
+outlet.1.delay.start: 1
-outlet.1.name: 1
+outlet.1.name: A1
+outlet.1.timer.shutdown: -1
+outlet.1.timer.start: -1
+outlet.10.delay.shutdown: 120
+outlet.10.delay.start: 10
-outlet.10.name: 10
+outlet.10.name: A10
+outlet.10.timer.shutdown: -1
+outlet.10.timer.start: -1
+outlet.11.delay.shutdown: 120
+outlet.11.delay.start: 11
-outlet.11.name: 11
+outlet.11.name: A11
+outlet.11.timer.shutdown: -1
+outlet.11.timer.start: -1
+outlet.12.delay.shutdown: 120
+outlet.12.delay.start: 12
-outlet.12.name: 12
+outlet.12.name: A12
+outlet.12.timer.shutdown: -1
+outlet.12.timer.start: -1
+outlet.13.delay.shutdown: 120
+outlet.13.delay.start: 13
-outlet.13.name: 13
+outlet.13.name: A13
+outlet.13.timer.shutdown: -1
+outlet.13.timer.start: -1
+outlet.14.delay.shutdown: 120
+outlet.14.delay.start: 14
-outlet.14.name: 14
+outlet.14.name: A14
+outlet.14.timer.shutdown: -1
+outlet.14.timer.start: -1
+outlet.15.delay.shutdown: 120
+outlet.15.delay.start: 15
-outlet.15.name: 15
+outlet.15.name: A15
+outlet.15.timer.shutdown: -1
+outlet.15.timer.start: -1
+outlet.16.delay.shutdown: 120
+outlet.16.delay.start: 16
-outlet.16.name: 16
+outlet.16.name: A16
+outlet.16.timer.shutdown: -1
+outlet.16.timer.start: -1
+outlet.2.delay.shutdown: 120
+outlet.2.delay.start: 2
-outlet.2.name: 2
+outlet.2.name: A2
+outlet.2.timer.shutdown: -1
+outlet.2.timer.start: -1
+outlet.3.delay.shutdown: 120
+outlet.3.delay.start: 3
-outlet.3.name: 3
+outlet.3.name: A3
+outlet.3.timer.shutdown: -1
+outlet.3.timer.start: -1
+outlet.4.delay.shutdown: 120
+outlet.4.delay.start: 4
-outlet.4.name: 4
+outlet.4.name: A4
+outlet.4.timer.shutdown: -1
+outlet.4.timer.start: -1
+outlet.5.delay.shutdown: 120
+outlet.5.delay.start: 5
-outlet.5.name: 5
+outlet.5.name: A5
+outlet.5.timer.shutdown: -1
+outlet.5.timer.start: -1
+outlet.6.delay.shutdown: 120
+outlet.6.delay.start: 6
-outlet.6.name: 6
+outlet.6.name: A6
+outlet.6.timer.shutdown: -1
+outlet.6.timer.start: -1
+outlet.7.delay.shutdown: 120
+outlet.7.delay.start: 7
-outlet.7.name: 7
+outlet.7.name: A7
+outlet.7.timer.shutdown: -1
+outlet.7.timer.start: -1
+outlet.8.delay.shutdown: 120
+outlet.8.delay.start: 8
-outlet.8.name: 8
+outlet.8.name: A8
+outlet.8.timer.shutdown: -1
+outlet.8.timer.start: -1
+outlet.9.delay.shutdown: 120
+outlet.9.delay.start: 9
-outlet.9.name: 9
+outlet.9.name: A9
+outlet.9.timer.shutdown: -1
+outlet.9.timer.start: -1
+outlet.group.1.color: 16051527
+outlet.group.1.desc: Branch Circuit A
-outlet.group.1.name: Branch Circuit A
-outlet.group.1.phase: L1
+outlet.group.1.input: 1
+outlet.group.1.name: A
+outlet.group.1.phase: 1

@lgtm-com
Copy link

lgtm-com bot commented Feb 27, 2022

This pull request introduces 1 alert when merging 2d97ab0 into a145477 - view on LGTM.com

new alerts:

  • 1 for Local variable hides global variable

@jimklimov
Copy link
Member Author

jimklimov commented Feb 27, 2022

Differences between FTY branch (as bumped in 42ity#169 proposal) and this PR, these are of practical interest for "non-regression" to replace use of 42ity/nut with upstream NUT:

  • Single UPS with netxml-ups:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev36xml-fty-3.txt' (-) vs '/tmp/nutdev36xml-fty-mibs-3.txt' (+)
-Network UPS Tools - network XML UPS 0.44 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - network XML UPS 0.44 (2.7.4-4828-g2d97ab0)
-battery.runtime: 2880
+battery.runtime: 2820
-driver.version.data: MGEXML/0.32
+driver.version.data: MGEXML/0.36
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version: 2.7.4-4828-g2d97ab0
-input.bypass.frequency.nominal: 49
+input.bypass.frequency.nominal: 50
-output.powerfactor: 0.84
+output.powerfactor: 0.85
-ups.time: 21:35:11
+ups.time: 21:20:29
  • Single UPS with pxgx_ups MIB:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33px-fty-3.txt' (-) vs '/tmp/nutdev33px-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-battery.runtime: 3840
+battery.runtime: 3600
-driver.version.data: pxgx_ups MIB 1.01
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.data: pxgx_ups MIB 0.104
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
+experimental.ups.type: normal
-input.voltage.nominal: 230
+input.voltage.nominal: 231
  • Single UPS with pw MIB:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33pw-fty-3.txt' (-) vs '/tmp/nutdev33pw-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-battery.runtime: 3600
+battery.runtime: 3840
-driver.version.data: pw MIB 1.01
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.data: pw MIB 0.104
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
+experimental.ups.type: normal
-input.voltage.nominal: 230
+input.voltage.nominal: 231
  • Single UPS with mge MIB:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33mge-fty-3.txt' (-) vs '/tmp/nutdev33mge-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
  • Single UPS with ietf MIB:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev33ietf-fty-3.txt' (-) vs '/tmp/nutdev33ietf-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-battery.runtime: 3840
+battery.runtime: 3600
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
-input.voltage.nominal: 230
+input.voltage.nominal: 231
  • Daisy "master" ePDU:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev13-fty-3.txt' (-) vs '/tmp/nutdev13-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-driver.version.data: eaton_epdu MIB 0.59
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.data: eaton_epdu MIB 0.69
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0
  • Daisy "slave" ePDU:
=== ./tools/nut-dumpdiff: comparing '/tmp/nutdev14-fty-3.txt' (-) vs '/tmp/nutdev14-fty-mibs-3.txt' (+)
-Network UPS Tools - Generic SNMP UPS driver 1.19 (IPM_Infra_release-1.0.0-6667-g644d677)
+Network UPS Tools - Generic SNMP UPS driver 1.21 (2.7.4-4828-g2d97ab0)
-driver.version.data: eaton_epdu MIB 0.59
-driver.version.internal: 1.19
-driver.version: IPM_Infra_release-1.0.0-6667-g644d677
+driver.version.data: eaton_epdu MIB 0.69
+driver.version.internal: 1.21
+driver.version: 2.7.4-4828-g2d97ab0

@clepple clepple removed their request for review February 27, 2022 20:52
@jimklimov jimklimov merged commit 13479cc into networkupstools:master Mar 8, 2022
@jimklimov jimklimov deleted the 42ity-upstream-MIBs branch March 8, 2022 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants