Ivan Kuznetsov
2012-Apr-16 11:53 UTC
[Nut-upsdev] Snmp-ups/netvision driver for Socomec UPS
Hello
We have an Socomec Sicon Netys PR3000 UPS equipped with NetVision
Web/SNMP adaptor. I try to monitor the ups using snmp-ups driver and
netvision mibs set. The snmp-ups driver starts correctly and connects to
the UPS, upsd confirms it, but upsmon constantly shows "No
communication" error
I think the cause is the SNMP adapter reports the UPS status as "ECO
mode" (snmpget .1.3.6.1.4.1.4555.1.1.1.1.4.1.0 returns 9), but snmp-ups
does not correctly process this. Here is output of 'snmp-ups -a socomec
-u nut -D':
Network UPS Tools - Generic SNMP UPS driver 0.50 (2.6.1)
0.000000 debug level is '1'
0.000260 SNMP UPS driver : entering upsdrv_initups()
0.027868 load_mib2nut: trying netvision mib
0.029798 load_mib2nut: using netvision mib
0.031731 Detected NETYS 3 kVA on host 192.168.0.227 (mib:
netvision 0.1)
0.031751 SNMP UPS driver : entering upsdrv_initinfo()
0.031785 getting data: ups.mfr (.1.3.6.1.4.1.4555.1.1.1.1.1.3.0)
0.033823 entering su_setinfo(ups.mfr)
0.033836 getting data: ups.model (.1.3.6.1.4.1.4555.1.1.1.1.1.1.0)
0.035731 entering su_setinfo(ups.model)
0.035744 getting data: ups.serial (.1.3.6.1.4.1.4555.1.1.1.1.1.4.0)
0.037646 entering su_setinfo(ups.serial)
0.037662 getting data: ups.firmware.aux
(.1.3.6.1.4.1.4555.1.1.1.1.1.2.0)
0.039497 entering su_setinfo(ups.firmware.aux)
0.039512 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.1.0)
0.041373 su_find_infoval: found (value: 2)
0.041383 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.1.0)
0.043248 su_find_infoval: found (value: 9)
0.043258 getting data: ups.load
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.4.1)
0.045975 entering su_setinfo(ups.load)
0.045987 getting data: input.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.3.3.1.5.1)
0.047973 entering su_setinfo(input.voltage)
0.047984 getting data: output.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.2.1)
0.050015 entering su_setinfo(output.voltage)
0.050026 getting data: output.current
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.3.1)
0.052065 entering su_setinfo(output.current)
0.052076 getting data: battery.charge
(.1.3.6.1.4.1.4555.1.1.1.1.2.4.0)
0.053919 entering su_setinfo(battery.charge)
0.053930 getting data: battery.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.2.5.0)
0.055797 entering su_setinfo(battery.voltage)
0.055807 getting data: battery.runtime
(.1.3.6.1.4.1.4555.1.1.1.1.2.3.0)
0.057690 entering su_setinfo(battery.runtime)
0.057701 SNMP UPS driver : entering upsdrv_updateinfo()
0.057712 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.1.0)
0.059597 su_find_infoval: found (value: 2)
0.059606 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.1.0)
0.061446 su_find_infoval: found (value: 9)
0.061455 getting data: ups.load
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.4.1)
0.063468 entering su_setinfo(ups.load)
0.063478 getting data: input.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.3.3.1.5.1)
0.065502 entering su_setinfo(input.voltage)
0.065515 getting data: output.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.2.1)
0.067566 entering su_setinfo(output.voltage)
0.067576 getting data: output.current
(.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.3.1)
0.069588 entering su_setinfo(output.current)
0.069598 getting data: battery.charge
(.1.3.6.1.4.1.4555.1.1.1.1.2.4.0)
0.071446 entering su_setinfo(battery.charge)
0.071456 getting data: battery.voltage
(.1.3.6.1.4.1.4555.1.1.1.1.2.5.0)
0.073318 entering su_setinfo(battery.voltage)
0.073328 getting data: battery.runtime
(.1.3.6.1.4.1.4555.1.1.1.1.2.3.0)
0.075173 entering su_setinfo(battery.runtime)
0.075234 SNMP UPS driver : entering upsdrv_updateinfo()
And 'upsmon -u nut -DDD' output:
Network UPS Tools upsmon 2.6.1
0.000000 UPS: socomec at localhost (master) (power value 1)
0.000090 Using power down flag file /etc/killpower
0.000213 debug level is '3'
0.000705 Trying to connect to UPS [socomec at localhost]
0.001065 Logged into UPS socomec at localhost
0.001127 pollups: socomec at localhost
0.001137 get_var: socomec at localhost / status
0.001186 parse_status: []
0.001209 do_notify: ntype 0x0005 (COMMBAD)
0.001220 Communication with the UPS is lost
In netvision-mib.c I see that ups.status field is constructed from
NETVISION_OID_BATTERYSTATUS (.1.3.6.1.4.1.4555.1.1.1.1.2.1.0) and
NETVISION_OID_OUTPUT_SOURCE (.1.3.6.1.4.1.4555.1.1.1.1.4.1.0).
Battery status is normal (value 2), value for netvision_batt_info is
""
(empty string). Good.
Output status has value 9, netvision_output_info is empty string too.
Looks false because the UPS is on and works in high-efficiency UPS mode.
The result is that ups.status get an empty string value, which confuses
upsmon.
--
Ivan Kuznetsov
SOLVO ltd
Arnaud Quette
2012-Apr-24 13:59 UTC
[Nut-upsdev] Snmp-ups/netvision driver for Socomec UPS
2012/4/16 Ivan Kuznetsov <kia at solvo.ru>> Hello >Hello Ivan,> We have an Socomec Sicon Netys PR3000 UPS equipped with NetVision Web/SNMP > adaptor. I try to monitor the ups using snmp-ups driver and netvision mibs > set. The snmp-ups driver starts correctly and connects to the UPS, upsd > confirms it, but upsmon constantly shows "No communication" error > > I think the cause is the SNMP adapter reports the UPS status as "ECO mode" > (snmpget .1.3.6.1.4.1.4555.1.1.1.1.4.1.**0 returns 9), but snmp-ups does > not correctly process this. Here is output of 'snmp-ups -a socomec -u nut > -D': > > Network UPS Tools - Generic SNMP UPS driver 0.50 (2.6.1) > 0.000000 debug level is '1' > 0.000260 SNMP UPS driver : entering upsdrv_initups() > 0.027868 load_mib2nut: trying netvision mib > 0.029798 load_mib2nut: using netvision mib > 0.031731 Detected NETYS 3 kVA on host 192.168.0.227 (mib: netvision > 0.1) > 0.031751 SNMP UPS driver : entering upsdrv_initinfo() > 0.031785 getting data: ups.mfr (.1.3.6.1.4.1.4555.1.1.1.1.1.**3.0) > 0.033823 entering su_setinfo(ups.mfr) > 0.033836 getting data: ups.model (.1.3.6.1.4.1.4555.1.1.1.1.1.**1.0) > 0.035731 entering su_setinfo(ups.model) > 0.035744 getting data: ups.serial (.1.3.6.1.4.1.4555.1.1.1.1.1.** > 4.0) > 0.037646 entering su_setinfo(ups.serial) > 0.037662 getting data: ups.firmware.aux (.1.3.6.1.4.1.4555.1.1.1.1.1. > **2.0) > 0.039497 entering su_setinfo(ups.firmware.aux) > 0.039512 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.** > 1.0) > 0.041373 su_find_infoval: found (value: 2) > 0.041383 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.** > 1.0) > 0.043248 su_find_infoval: found (value: 9) > 0.043258 getting data: ups.load (.1.3.6.1.4.1.4555.1.1.1.1.4.** > 4.1.4.1) > 0.045975 entering su_setinfo(ups.load) > 0.045987 getting data: input.voltage (.1.3.6.1.4.1.4555.1.1.1.1.3.** > 3.1.5.1) > 0.047973 entering su_setinfo(input.voltage) > 0.047984 getting data: output.voltage (.1.3.6.1.4.1.4555.1.1.1.1.4.* > *4.1.2.1) > 0.050015 entering su_setinfo(output.voltage) > 0.050026 getting data: output.current (.1.3.6.1.4.1.4555.1.1.1.1.4.* > *4.1.3.1) > 0.052065 entering su_setinfo(output.current) > 0.052076 getting data: battery.charge (.1.3.6.1.4.1.4555.1.1.1.1.2.* > *4.0) > 0.053919 entering su_setinfo(battery.charge) > 0.053930 getting data: battery.voltage (.1.3.6.1.4.1.4555.1.1.1.1.2. > **5.0) > 0.055797 entering su_setinfo(battery.voltage) > 0.055807 getting data: battery.runtime (.1.3.6.1.4.1.4555.1.1.1.1.2. > **3.0) > 0.057690 entering su_setinfo(battery.runtime) > 0.057701 SNMP UPS driver : entering upsdrv_updateinfo() > 0.057712 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.2.** > 1.0) > 0.059597 su_find_infoval: found (value: 2) > 0.059606 getting data: ups.status (.1.3.6.1.4.1.4555.1.1.1.1.4.** > 1.0) > 0.061446 su_find_infoval: found (value: 9) > 0.061455 getting data: ups.load (.1.3.6.1.4.1.4555.1.1.1.1.4.** > 4.1.4.1) > 0.063468 entering su_setinfo(ups.load) > 0.063478 getting data: input.voltage (.1.3.6.1.4.1.4555.1.1.1.1.3.** > 3.1.5.1) > 0.065502 entering su_setinfo(input.voltage) > 0.065515 getting data: output.voltage (.1.3.6.1.4.1.4555.1.1.1.1.4.* > *4.1.2.1) > 0.067566 entering su_setinfo(output.voltage) > 0.067576 getting data: output.current (.1.3.6.1.4.1.4555.1.1.1.1.4.* > *4.1.3.1) > 0.069588 entering su_setinfo(output.current) > 0.069598 getting data: battery.charge (.1.3.6.1.4.1.4555.1.1.1.1.2.* > *4.0) > 0.071446 entering su_setinfo(battery.charge) > 0.071456 getting data: battery.voltage (.1.3.6.1.4.1.4555.1.1.1.1.2. > **5.0) > 0.073318 entering su_setinfo(battery.voltage) > 0.073328 getting data: battery.runtime (.1.3.6.1.4.1.4555.1.1.1.1.2. > **3.0) > 0.075173 entering su_setinfo(battery.runtime) > 0.075234 SNMP UPS driver : entering upsdrv_updateinfo() > > And 'upsmon -u nut -DDD' output: > > Network UPS Tools upsmon 2.6.1 > 0.000000 UPS: socomec at localhost (master) (power value 1) > 0.000090 Using power down flag file /etc/killpower > 0.000213 debug level is '3' > 0.000705 Trying to connect to UPS [socomec at localhost] > 0.001065 Logged into UPS socomec at localhost > 0.001127 pollups: socomec at localhost > 0.001137 get_var: socomec at localhost / status > 0.001186 parse_status: [] > 0.001209 do_notify: ntype 0x0005 (COMMBAD) > 0.001220 Communication with the UPS is lost > > In netvision-mib.c I see that ups.status field is constructed from > NETVISION_OID_BATTERYSTATUS (.1.3.6.1.4.1.4555.1.1.1.1.2.**1.0) and > NETVISION_OID_OUTPUT_SOURCE (.1.3.6.1.4.1.4555.1.1.1.1.4.**1.0). > > Battery status is normal (value 2), value for netvision_batt_info is "" > (empty string). Good. > Output status has value 9, netvision_output_info is empty string too. > Looks false because the UPS is on and works in high-efficiency UPS mode. > The result is that ups.status get an empty string value, which confuses > upsmon. >agreed. in the same spirit, "Output status==8" should probably be processed as "OL" too. can you please confirm the attached patch, before I commit it? cheers, Arnaud -- Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/ Debian Developer - http://www.debian.org Free Software Developer - http://arnaud.quette.free.fr/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20120424/4aa8d2bf/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: netvision-mib-1.diff Type: application/octet-stream Size: 553 bytes Desc: not available URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20120424/4aa8d2bf/attachment-0001.obj>
Arnaud Quette
2012-May-15 08:19 UTC
[Nut-upsdev] Snmp-ups/netvision driver for Socomec UPS
2012/5/14 Ivan Kuznetsov <kia at solvo.ru>:> Hello ArnaudHello Ivan,> I can confirm that version 2.6.3 with the patch succeffully works with > Socomec NetVision Web/SNMP adaptor.ok, I've applied your original patch only (Ie "9" for ecomode) to the trunk, r590. thanks> The adaptor shows the projected battery runtime > (1.3.6.1.4.1.4555.1.1.1.1.2.3.0) only in 1 minute intervals and constantly > returns -60 (-1 minute) when UPS is on line power. The "Low battery" flag is > raised when runtime is last 1 min. It can be too little for some > applications to shut down but I can't find an adjustment method. > > I'm still not know what is output status 8 (standby).standby is another word for "offline" type UPS: http://en.wikipedia.org/wiki/Uninterruptible_power_supply#Offline_.2F_standby in your context, this may either be the type of the UPS, or a mode (as for the ecomode) in which the UPS is running (Ie lower quality, but a bit more efficient)> 24.04.2012 17:59, Arnaud Quette ?????: >> >> >> 2012/4/16 Ivan Kuznetsov <kia at solvo.ru <mailto:kia at solvo.ru>> >> >> >> ? ?Hello >> >> >> Hello Ivan, >> >> ? ?We have an Socomec Sicon Netys PR3000 UPS equipped with NetVision >> ? ?Web/SNMP adaptor. I try to monitor the ups using snmp-ups driver and >> ? ?netvision mibs set. The snmp-ups driver starts correctly and >> ? ?connects to the UPS, upsd confirms it, but upsmon constantly shows >> ? ?"No communication" error >> >> ? ?I think the cause is the SNMP adapter reports the UPS status as "ECO >> ? ?mode" (snmpget .1.3.6.1.4.1.4555.1.1.1.1.4.1.__0 returns 9), but >> >> ? ?snmp-ups does not correctly process this. Here is output of >> ? ?'snmp-ups -a socomec -u nut -D': >> >> ? ?Network UPS Tools - Generic SNMP UPS driver 0.50 (2.6.1) >> ? ? ? 0.000000 ? ? debug level is '1' >> ? ? ? 0.000260 ? ? SNMP UPS driver : entering upsdrv_initups() >> ? ? ? 0.027868 ? ? load_mib2nut: trying netvision mib >> ? ? ? 0.029798 ? ? load_mib2nut: using netvision mib >> ? ? ? 0.031731 ? ? Detected NETYS 3 kVA on host 192.168.0.227 (mib: >> ? ?netvision 0.1) >> ? ? ? 0.031751 ? ? SNMP UPS driver : entering upsdrv_initinfo() >> ? ? ? 0.031785 ? ? getting data: ups.mfr >> ? ?(.1.3.6.1.4.1.4555.1.1.1.1.1.__3.0) >> (...)why are these OIDs exposing "__"? cheers, Arnaud -- Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/ Debian Developer - http://www.debian.org Free Software Developer - http://arnaud.quette.free.fr/