NUT package (2.8.0 and below)
-
Email notifications have been on all along, I'd get OL and OB notifications during switches, but never random LOWBATTs until after the upgrade, nut package has been on 2.7.4. I just don't see why its sending LOWBATT, when it never comes off 100%, LOWBATT shouldn't even come out until past 70% or so and if it was actually discharging, it sure wouldn't come back to 100% that quick.
Okay, so no changes in the nut version or the nut package. Presuming the same UPS the entire time.
Just for completeness, can you post output from the following two commands?
upsc <upsname>upsrw <upsname>Thanks</upsname></upsname>
battery.charge: 100
battery.charge.low: 50
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 960
battery.runtime.low: 600
battery.type: PbAcid
battery.voltage: 24.0
battery.voltage.nominal: 24
device.mfr: CPS
device.model: OR1500PFCRT2U
device.type: ups
driver.flag.ignorelb: enabled
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ugen0.6
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: CyberPower HID 0.4
driver.version.internal: 0.41
input.transfer.high: 139
input.transfer.low: 88
input.voltage: 118.0
input.voltage.nominal: 120
output.voltage: 118.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 58
ups.mfr: CPS
ups.model: OR1500PFCRT2U
ups.productid: 0601
ups.realpower.nominal: 900
ups.status: OL
ups.test.result: Done and passed
ups.timer.shutdown: -60
ups.timer.start: -60
ups.vendorid: 0764[input.transfer.high]
High voltage transfer point (V)
Type: STRING
Maximum length: 10
Value: 139[input.transfer.low]
Low voltage transfer point (V)
Type: STRING
Maximum length: 10
Value: 88[ups.delay.shutdown]
Interval to wait after shutdown with delay command (seconds)
Type: STRING
Maximum length: 10
Value: 20[ups.delay.start]
Interval to wait before (re)starting the load (seconds)
Type: STRING
Maximum length: 10
Value: 30 -
battery.charge.low: 50
battery.charge.warning: 20I didn't look at all the variables, but this one is an issue: battery.charge.warning should be higher than battery.charge.low.
What is being set in the Extra Arguments to driver section? Anything in the Advanced section?
-
battery.charge.low: 50
battery.charge.warning: 20I didn't look at all the variables, but this one is an issue: battery.charge.warning should be higher than battery.charge.low.
What is being set in the Extra Arguments to driver section? Anything in the Advanced section?
Driver Extra Args:
port = /dev/ugen0.6
ignorelb
override.battery.charge.low = 50
override.battery.runtime.low = 600upsmon.conf
RUN_AS_USER root
upsd.conf
LISTEN 10.10.0.1
upsd.users
[monitor]
password = *************
upsmon slave -
Hello,
Is it possible to have the NUT daemon monitor and manage two UPSes?
I have a CyberPower1500 and a CyberPower1350 in my set-up and the pfSense firewall is the only bare-metal box (everything else is an ESXi server). I want to have each of the other systems query the NUT daemon on the pfSense for the status of the UPS that host is connected to. (the UPSes are on different circuits so there are scenarios where one goes down but not both)
What I don't know is how to set these configurations. I see there are a number of advanced options in the UI, I'm a little lost as to where to start. Has anyone done this before? I'd like to do it via the pfSense UI so my configs will survive upgrades and reinstalls, rather than being hidden down in config files.
To make this work I figure I need to pass options for additional configurations here so that the port of each UPS is listed explicitly:
[2.3.4-RELEASE][admin@pfsense.thirtynineohsix]/root: cat /usr/local/etc/nut/ups.conf [CyberPower1500] driver=usbhid-ups port=auto
…and here so that each UPS has an explicit TCP port for communication with the remote servers.:
[2.3.4-RELEASE][admin@pfsense.thirtynineohsix]/root: cat /usr/local/etc/nut/upsd.conf LISTEN 127.0.0.1 LISTEN ::1
… I'm really not sure what I need to do or what will happen automatically here:
[2.3.4-RELEASE][admin@pfsense.thirtynineohsix]/root: cat /usr/local/etc/nut/upsmon.conf MONITOR CyberPower1500 1 monuser f0e07165bec481f09a93 master SHUTDOWNCMD "/sbin/shutdown -p +0" POWERDOWNFLAG /etc/killpower NOTIFYCMD /usr/local/pkg/nut/nut_email.php NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC NOTIFYFLAG FSD SYSLOG+WALL+EXEC NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC
Here's the USB information .. the difference I can see is the "ugen1.[2|3]" but everything else is the same? How do I identify/label the port?
[2.3.4-RELEASE][admin@pfsense.thirtynineohsix]/root: usbconfig dump_device_desc ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) [ details from four root hubs elided ] ugen1.2: <cp 1500c="" cps="">at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (50mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 <probed by="" interface="" class="">bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x0764 idProduct = 0x0501 bcdDevice = 0x0001 iManufacturer = 0x0003 <cps>iProduct = 0x0001 < CP 1500C> iSerialNumber = 0x0000 <no string="">bNumConfigurations = 0x0001 ugen1.3: <cp 1350c="" cps="">at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (50mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 <probed by="" interface="" class="">bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x0764 idProduct = 0x0501 bcdDevice = 0x0001 iManufacturer = 0x0003 <cps>iProduct = 0x0001 < CP 1350C> iSerialNumber = 0x0000 <no string="">bNumConfigurations = 0x0001</no></cps></probed></cp></no></cps></probed></cp></uhci>
I'm okay if only one shows up in the UPS widget, it's more important that the respective machines know how to validate their power source.
Thanks for any insights …
--jg3
-
Driver Extra Args:
port = /dev/ugen0.6
ignorelb
override.battery.charge.low = 50
override.battery.runtime.low = 600The ups is at 58% load, or approximately 610 watts. Expected runtime of 14-15 min according to Cyber. So the shutdown should be triggered approximately 5 min after mains go offline.
One of the notes in the nut documentation on ignorelb is that some UPSs generate a LB indication almost immediately after loss of mains. In the context of general Cyberpower flakiness, I can see this happening either from loss of mains, high/low transfer, or maybe even a UPS initiated self test. Even though it would not initiate a shutdown with your configuration, nut would still generate a notification if the UPS sent a LB alert. Is it possible this is happening?
In terms of timing, did the load level change around the time of the upgrade? Or Driver Extra arguments?
-
@jg3:
Is it possible to have the NUT daemon monitor and manage two UPSes?
There is no way to do this in the UI. Sorry.
-
Driver Extra Args:
port = /dev/ugen0.6
ignorelb
override.battery.charge.low = 50
override.battery.runtime.low = 600The ups is at 58% load, or approximately 610 watts. Expected runtime of 14-15 min according to Cyber. So the shutdown should be triggered approximately 5 min after mains go offline.
One of the notes in the nut documentation on ignorelb is that some UPSs generate a LB indication almost immediately after loss of mains. In the context of general Cyberpower flakiness, I can see this happening either from loss of mains, high/low transfer, or maybe even a UPS initiated self test. Even though it would not initiate a shutdown with your configuration, nut would still generate a notification if the UPS sent a LB alert. Is it possible this is happening?
In terms of timing, did the load level change around the time of the upgrade? Or Driver Extra arguments?
Not sure i'm following completely. As far as I know, the main is never lost, i never get any switch alerts, and never see any power surge/ flicker etc if that's what you're asking? The only thing that changed a while back was a 8port POE switch added to the load. Don't see how going from 52% load to 58% should say LOWBATT? Just had an alert come out now about 10minutes ago, checked the UPS immediately and its 100% charge. Driver Args and all config stayed the same. Is there something i can tweak / change to try to eliminate this.
-
As far as I know, the main is never lost, i never get any switch alerts, and never see any power surge/ flicker etc if that's what you're asking?
Yep. Or load surges, mains frequency change, UPS initiated self tests, etc.
In general, I doubt that nut is "making up" the event, and believe that the Cyberpower is actually issuing a LB signal which nut is dutifully logging. You can get definitive verification by running usbdump to capture all the traffic involving the ups, but I'm not sure it's worth it to delve this deeply though. :)
The ups model doesn't have a modifiable battery.charge.low, so I don't know of anything you can tweak with nut. You might search/ask in the nut users mailing list, but I expect that they will view it as a UPS problem. About the only other diagnostic recommendation I can think of is to change the load characteristics and see if it affects the issue. Temporarily removing the PoE switch perhaps.
Sorry I don't have a better recommendation.
-
As far as I know, the main is never lost, i never get any switch alerts, and never see any power surge/ flicker etc if that's what you're asking?
Yep. Or load surges, mains frequency change, UPS initiated self tests, etc.
In general, I doubt that nut is "making up" the event, and believe that the Cyberpower is actually issuing a LB signal which nut is dutifully logging. You can get definitive verification by running usbdump to capture all the traffic involving the ups, but I'm not sure it's worth it to delve this deeply though. :)
The ups model doesn't have a modifiable battery.charge.low, so I don't know of anything you can tweak with nut. You might search/ask in the nut users mailing list, but I expect that they will view it as a UPS problem. About the only other diagnostic recommendation I can think of is to change the load characteristics and see if it affects the issue. Temporarily removing the PoE switch perhaps.
Sorry I don't have a better recommendation.
Alright, appreciate the help. the UPS still has warranty, I just dunno exactly how to pick that battle with CP, they will say its WOD because self test passes. Fact of matter is, I've almost had this UPS for a year with flawless operation, and now this just started July 9th and coincidence or not with the upgrade. It would be a shame if I can't run 58% load on a UPS, i would think 80% would be where you don't exceed.
I called CyberPower support, and of course, they just brush it off as a NUT issue since the battery never drops charge so its not really low. He mentioned something about if your runtime goes below a certain value which can be specified if using "their power software" it would set an error. Is there something equivalent in NUT? Looking at the output again, i can change the battery.charge.low and .warning. I set charge.low = 40 and charge.warning = 50. battery.runtime.low is set at 600, so load would need to increase to the point where runtime drops below 600? It currently sits around 840.
-
Looking at the output again, i can change the battery.charge.low and .warning. I set charge.low = 40 and charge.warning = 50. battery.runtime.low is set at 600, so load would need to increase to the point where runtime drops below 600? It currently sits around 840.
Yes, you do want the warning to happen before the low. With your runtime number and low setting, you will actually initiate shutdown ~4 minutes after loosing mains.
I would tend to set all of them a little lower than what you have, but it depends upon your situation. I.E. how long it takes your systems to shut down. On my general purpose systems I use:
override.battery.charge.warning = 25
override.battery.charge.low = 20
override.battery.runtime.low = 300The reason I set these variables is because I have several servers that can take 2-3 minutes to perform a clean shutdown. Certainly longer than the 60 seconds or so warning I get from the LB signal.
For the firewall I use more aggressive values because pfSense shuts down quickly:
override.battery.charge.warning = 25
override.battery.charge.low = 10
override.battery.runtime.low = 180Truth be told, the LB signal on the UPS probably does a fine job here, and these settings are really not necessary. I just set them out of habit.
Your mileage may vary.
-
I plugged the UPS into a 2K12 server and installed CPs PowerPanel software, let it run for few days and didn't get any LOWBATT messages, then plugged it into my FreeNAS server which is using driver 2.7.3, internal driver .39. and no LOWBATT messages. Here is the output running on the FreeNAS box. So, something is not the same after the upgrade on pfsense because i dont see the LOWBATT message on 2 other boxes. Going to try mirroring the freenas NUT configs, (being doubtful that will matter) then going to have to find some time to reinstall pfsense to 2.3.2 and go from there).
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 960
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 24.0
battery.voltage.nominal: 24
device.mfr: CPS
device.model: OR1500PFCRT2U
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ugen0.6
driver.parameter.synchronous: no
driver.version: 2.7.3
driver.version.data: CyberPower HID 0.4
driver.version.internal: 0.39
input.transfer.high: 139
input.transfer.low: 88
input.voltage: 120.0
input.voltage.nominal: 120
output.voltage: 120.0
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.load: 57
ups.mfr: CPS
ups.model: OR1500PFCRT2U
ups.productid: 0601
ups.realpower.nominal: 900
ups.status: OL
ups.test.result: Done and passed
ups.timer.shutdown: -60
ups.timer.start: -60
ups.vendorid: 0764 -
I plugged the UPS into a 2K12 server and installed CPs PowerPanel software, let it run for few days and didn't get any LOWBATT messages, then plugged it into my FreeNAS server which is using driver 2.7.3, internal driver .39. and no LOWBATT messages.
So, something is not the same after the upgrade on pfsense because i dont see the LOWBATT message on 2 other boxes. Going to try mirroring the freenas NUT configs, (being doubtful that will matter) then going to have to find some time to reinstall pfsense to 2.3.2 and go from there).
When you put it back on the pfSense box did the LOWBATT messages immediately return?
-
I plugged the UPS into a 2K12 server and installed CPs PowerPanel software, let it run for few days and didn't get any LOWBATT messages, then plugged it into my FreeNAS server which is using driver 2.7.3, internal driver .39. and no LOWBATT messages.
So, something is not the same after the upgrade on pfsense because i dont see the LOWBATT message on 2 other boxes. Going to try mirroring the freenas NUT configs, (being doubtful that will matter) then going to have to find some time to reinstall pfsense to 2.3.2 and go from there).
When you put it back on the pfSense box did the LOWBATT messages immediately return?
No
-
Hi
I tried to "add" my UPS to my pfSense installation with the nut-package as well. Configured it with "Remote NUT server" and it shows me the load, the remaining runtime, sends me emails and so on. But it doesn't shutdown pfsense.
upsc on the remote nut server gives me:
battery.charge: 100.0 battery.charge.low: 20 battery.date: 2011-05-06 battery.runtime: 540.0 battery.runtime.low: 240 battery.voltage: 13.7 battery.voltage.nominal: 12.0 device.mfr: APC device.model: Back-UPS RS 550GI device.serial: 3B1119X20852 device.type: ups driver.name: apcupsd-ups driver.parameter.pollinterval: 2 driver.parameter.port: localhost driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.internal: 0.04 input.sensitivity: H input.transfer.high: 276.0 input.transfer.low: 176.0 input.transfer.reason: Low line voltage input.voltage: 223.0 input.voltage.nominal: 230 ups.date: 2017-08-05 ups.firmware: 857.L3 .I USB FW:L3 ups.id: t-usv ups.load: 27.0 ups.mfr: APC ups.model: Back-UPS RS 550GI ups.realpower.nominal: 330.0 ups.serial: 3B1119X20852 ups.status: OL ups.test.result: NO ups.time: 22:12:53
pfSense shows the same.
When the power fails (I plugged out the mains) I get this E-Mail:
Sat, 05 Aug 2017 03:05:33 +0200
UPS br550gi@t-usv.lan.xxxx.eu on battery
When the battery runtime goes below 4 mins (240 secs) like configured in the UPS I get this:
Sat, 05 Aug 2017 03:10:21 +0200
UPS br550gi@t-usv.lan.xxxx.eu battery is low
But nothing more happened. I waited about 2 more minutes, but pfSense didn't shut down and then I reconnected the mains.
What may I have done wrong?
-
I don't think you are doing anything wrong per se. By default, the nut slave (pfSense) isn't going to initiate a shutdown until the master server declares a low battery condition. This is different than a low battery warning.
When the master declares a low battery condition, it will send a notification to all the slaves indicating that there is a pending loss of power. The slaves will each disconnect from the master and then initiate their own shutdown. Once all the slaves have disconnected, the master will initiate its own shutdown.
If you want to override how the master determines when to declare a low battery condition, see the section on "ignorelb" in the ups.conf man page.
-
I have. The power kill logic is gone from the base os level. Still searching to find out when and why.
Ah, interesting. Sounds like it isn't an issue with my specific setup and it is a bug affecting anyone trying to use that functionality in the NUT package. Looking forward to seeing a fix for this whenever one can be found.
Hi, I wanted to see if there has been any progress on fixing this issue? Thanks.
-
Hi, I wanted to see if there has been any progress on fixing this issue? Thanks.
Still working on it. Progress, but not ready for release yet. Should be this month.
-
I plugged the UPS into a 2K12 server and installed CPs PowerPanel software, let it run for few days and didn't get any LOWBATT messages, then plugged it into my FreeNAS server which is using driver 2.7.3, internal driver .39. and no LOWBATT messages.
So, something is not the same after the upgrade on pfsense because i dont see the LOWBATT message on 2 other boxes. Going to try mirroring the freenas NUT configs, (being doubtful that will matter) then going to have to find some time to reinstall pfsense to 2.3.2 and go from there).
When you put it back on the pfSense box did the LOWBATT messages immediately return?
No
Bulldog, did your issue get resolved?
-
I don't think you are doing anything wrong per se. By default, the nut slave (pfSense) isn't going to initiate a shutdown until the master server declares a low battery condition. This is different than a low battery warning.
When the master declares a low battery condition, it will send a notification to all the slaves indicating that there is a pending loss of power. The slaves will each disconnect from the master and then initiate their own shutdown. Once all the slaves have disconnected, the master will initiate its own shutdown.
If you want to override how the master determines when to declare a low battery condition, see the section on "ignorelb" in the ups.conf man page.
After doing more research I found out, that not only my pfSense-Box wasn't shutting down. It was just the first one I tried. So there seemed to be a problem inside of nut, not inside of your plugin.
So I did more research, did deeper looks into the code and found a bug in the nut-driver. Posted the issue on GitHub: https://github.com/networkupstools/nut/issues/460 then I fixed it: https://github.com/networkupstools/nut/pull/461/commits/b82b9cf3b4695f3171b6250af431a6a3f7fc81c4 and did a pull request: https://github.com/networkupstools/nut/pull/461
It then has been reviewed and merged into nut https://github.com/networkupstools/nut/commit/bc6ca11be42281e6d7f36dc6cf2860c2fe950f66And now my problem is gone :) So: You were right, I wasn't doing anything wrong per se.
But thank you for your hint with "ignorelb" as this will help me with another problem when using apcupsd and nut at the same time :)
-
So I did more research, did deeper looks into the code and found a bug in the nut-driver. Posted the issue on GitHub: https://github.com/networkupstools/nut/issues/460 then I fixed it: https://github.com/networkupstools/nut/pull/461/commits/b82b9cf3b4695f3171b6250af431a6a3f7fc81c4 and did a pull request: https://github.com/networkupstools/nut/pull/461
It then has been reviewed and merged into nut https://github.com/networkupstools/nut/commit/bc6ca11be42281e6d7f36dc6cf2860c2fe950f66Awesome!