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/