apcupsd-ups - Driver for apcupsd client access
Contents
Background
This driver was originally written in one evening to allow interoperating with apcupsd.
Description
This driver is a client to apcupsd (another UPS monitoring project).
apcupsd-ups acts as an apcupsd client, simply forwarding data. This can be useful in cases where both
protocols are required in a network, or in case apcupsd code base has a required UPS access mode missing
from NUT.
Extra Arguments
This driver supports the following optional settings in nut.conf(5):
port=<hostname>[:<port>]
This is the name of a remote host running apcupsd (plus an optional port).
For instance:
[apcupsd]
driver = apcupsd-ups
port = localhost
desc = "apcupsd client"
Limitations
Access to apcupsd is strictly read only: no commands can be issued. This stems from the design of
apcupsd, where the settings are changed in apctest. In order to run apctest, apcupsd must be stopped (and
it is apcupsd that exposes the UPS to the network and to this NUT driver as its client).
Name
apcupsd-ups - Driver for apcupsd client access
See Also
ups.conf(5), nutupsdrv(8) InternetResources: • The NUT (Network UPS Tools) home page: https://www.networkupstools.org/historic/v2.8.3/ • The apcupsd home page: http://www.apcupsd.org/ • Development of apcupsd project itself seems to have stalled in 2016/2017, with release 3.14.14 being the latest official tag. Its community discussions do remain quite active, however. • Just in case, a replica of its sources is stored at https://github.com/networkupstools/apcupsd Network UPS Tools 2.8.3 07/08/2025 APCUPSD-UPS(8)
Supported Variables
The following variables are translated from apcupsd to NUT. All times should be converted to seconds
(please file a bug if you notice a mismatch in units).
┌──────────────────┬────────────────────────────────┐
│ apcupsdvariable │ NUTvariable(s) │
├──────────────────┼────────────────────────────────┤
│ │ │
│ BCHARGE │ battery.charge │
├──────────────────┼────────────────────────────────┤
│ │ │
│ MBATTCHG │ battery.charge.low │
├──────────────────┼────────────────────────────────┤
│ │ │
│ RETPCT │ battery.charge.restart │
├──────────────────┼────────────────────────────────┤
│ │ │
│ BATTDATE │ battery.date │
├──────────────────┼────────────────────────────────┤
│ │ │
│ TIMELEFT │ battery.runtime │
├──────────────────┼────────────────────────────────┤
│ │ │
│ MINTIMEL │ battery.runtime.low │
├──────────────────┼────────────────────────────────┤
│ │ │
│ BATTV │ battery.voltage │
├──────────────────┼────────────────────────────────┤
│ │ │
│ NOMBATTV │ battery.voltage.nominal │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LINEFREQ │ input.frequency │
├──────────────────┼────────────────────────────────┤
│ │ │
│ SENSE │ input.sensitivity │
├──────────────────┼────────────────────────────────┤
│ │ │
│ HITRANS │ input.transfer.high │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LOTRANS │ input.transfer.low │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LASTXFER │ input.transfer.reason │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LINEV │ input.voltage │
├──────────────────┼────────────────────────────────┤
│ │ │
│ MAXLINEV │ input.voltage.maximum │
├──────────────────┼────────────────────────────────┤
│ │ │
│ MINLINEV │ input.voltage.minimum │
├──────────────────┼────────────────────────────────┤
│ │ │
│ NOMINV │ input.voltage.nominal │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LINEFREQ │ output.frequency │
├──────────────────┼────────────────────────────────┤
│ │ │
│ OUTPUTV │ output.voltage │
├──────────────────┼────────────────────────────────┤
│ │ │
│ NOMOUTV │ output.voltage.nominal │
├──────────────────┼────────────────────────────────┤
│ │ │
│ DATE │ ups.date, ups.time │
├──────────────────┼────────────────────────────────┤
│ │ │
│ DSHUTD │ ups.delay.shutdown │
├──────────────────┼────────────────────────────────┤
│ │ │
│ DWAKE │ ups.delay.start │
├──────────────────┼────────────────────────────────┤
│ │ │
│ FIRMWARE │ ups.firmware, ups.firmware.aux │
├──────────────────┼────────────────────────────────┤
│ │ │
│ UPSNAME │ ups.id │
├──────────────────┼────────────────────────────────┤
│ │ │
│ LOADPCT │ ups.load │
├──────────────────┼────────────────────────────────┤
│ │ │
│ MANDATE │ ups.mfr.date │
├──────────────────┼────────────────────────────────┤
│ │ │
│ NOMPOWER │ ups.realpower.nominal │
├──────────────────┼────────────────────────────────┤
│ │ │
│ SERIALNO │ ups.serial │
├──────────────────┼────────────────────────────────┤
│ │ │
│ STATUS │ ups.status │
├──────────────────┼────────────────────────────────┤
│ │ │
│ ITEMP │ ups.temperature │
├──────────────────┼────────────────────────────────┤
│ │ │
│ STESTI │ ups.test.interval │
├──────────────────┼────────────────────────────────┤
│ │ │
│ SELFTEST │ ups.test.result │
└──────────────────┴────────────────────────────────┘
Synopsis
apcupsd-ups -h
apcupsd-ups -a UPS_NAME [OPTIONS]
Note
This man page only documents the specific features of the apcupsd-ups driver. For information about
the core driver, see nutupsdrv(8).
