APC UPS Setting for NUT

Nut is great UPS software for FreeBSD.  It is located in the ports ( sysutils/nut ) and works very will with an APC SmartUPS.

There are a number of variables within the APC UPS that can be changed.  These variables control a number of aspects about how the UPS operates, when it shutsdown, and how it conditions the power.  Here is a list of the ones that I can read from my APC SmartUPS 1000.

(devel!/usr/local/etc/nut) [root-ttyp1]
# upsc apc1000@localhost
battery.alarm.threshold: 0
battery.charge: 100.0
battery.charge.restart: 15
battery.date: 08/11/20
battery.packs: 000
battery.runtime: 2760
battery.runtime.low: 300
battery.voltage: 27.47
battery.voltage.nominal: 024
driver.name: apcsmart
driver.parameter.cable: 940-0024C
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/cuad0
driver.version: 2.4.1
driver.version.internal: 2.00
input.frequency: 60.00
input.quality: FF
input.sensitivity: M
input.transfer.high: 132
input.transfer.low: 103
input.transfer.reason: S
input.voltage: 118.9
input.voltage.maximum: 119.6
input.voltage.minimum: 118.3
output.voltage: 118.9
output.voltage.nominal: 115
ups.delay.shutdown: 180
ups.delay.start: 060
ups.firmware: 60.11.D
ups.id: UPS_IDEN
ups.load: 051.4
ups.mfr: APC
ups.mfr.date: 02/10/00
ups.model: SMART-UPS 1000
ups.serial: WS0007012620
ups.status: OL
ups.temperature: 035.5
ups.test.interval: 1209600
ups.test.result: NO

I find that not all the SmartUPS' come with the correct variables setup and his can cause you some problems later on.  for example, if the UPS doesn't wait long enough for you to shutdown, it will end up turning off the power before your file systems are unmounted. I always make it a habbit to reset all the critical variables to what I know they should be when I setup a new UPS. Use the upsrw utility that comes with nut to change the internal UPS variables.  Here is the commands I use to send th needed variables. Note, Change the username, password, and ups name to reflect your NUT setup.

# upsrw -u admin -p password -s battery.alarm.threshold=0 apc1400@localhost
# upsrw -u admin -p password -s battery.runtime.low=300 apc1400@localhost
# upsrw -u admin -p password -s battery.charge.restart=15 apc1400@localhost
# upsrw -u admin -p password -s ups.delay.shutdown=180 apc1400@localhost
# upsrw -u admin -p password -s ups.delay.start=60 apc1400@localhost
# upsrw -u admin -p password -s ups.test.interval=1209600 apc1400@localhost
# upsrw -u admin -p password -s input.sensitivity=M apc1400@localhost