NUT vs. apcupsd?



  • I finally hooked up my APC Smart UPS SMT1500 (tower) to the pfSense box via USB, and I'm trying to find the easiest way to have pfSense automatically power down after x time passes or y% battery left (haven't decided yet).  I also want pfSense to send out shutdown signals to all slave servers on the network.

    With NUT and the usbhid driver, I can see all the details, but it doesn't really let me configure anything.  [Edit, there's a ton of Advanced settings text boxes, so I'll have to read up on that.]

    With APCUPSd, I see a lot more configurable parameters.

    I'm confused which package to go with.  NUT seems to be more universal, and there's binaries for Linux and Windows and other BSDs.  But APCUPSd seems to have more configurable parameters in the pfSense GUI.

    Edited to Add:  To be fair, I need to do a ton of reading, so that's on me.  Was just hoping it would be a quick setup, but I guess not.



  • I just went through the same decision process.  What settled it for me was that NUT supported SSL connections between the server and clients, and I couldn't find information on if apcupsd did any connection encryption or not.

    Although I haven't gotten around to adding the clients yet, so don't know how well configuring SSL will work through the pfsense framework or if I'll be doing configuration from the shell (and suffer at each pfsense update, no doubt).  Also got side tracked on thinking about setting up an internal CA for the SSL cert.

    I believe I also found that one package has the clients polling the server, while the other has the server pushing UPS events.  Alas I don't recall which was which.  But something to add to your decision research.  I expect the need to push would be dictated by how long the UPS can support all your systems.

    I also encountered many UPS parameters that weren't settable, and as stated in the docs may not even be useful.  I even briefly switched from NUT to apcupsd to be able to set the battery change date with its CLI utiltiy, then back.  Oddly there are two battery date fields and the date I set was displayed as a different parameter by each package.



  • @Finger79:

    I'm trying to find the easiest way to have pfSense automatically power down after x time passes or y% battery left (haven't decided yet).

    NUT doesn’t do X time passed, but does X battery time remaining or Y battery percent remaining. Your UPS has a default for Y, but it may be a bit low to support a network shutdown. If you want to set the values, you would add the following to the “Extra Arguments to driver” section:

    override.battery.runtime.low = X
    override.battery.charge.low = Y

    There is a long thread on NUT that has a lot of information if you’re interested.


Log in to reply