logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

apcupsd-ups - Driver for apcupsd client access

Author

       Andreas Steinmetz

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).
       ┌──────────────────┬────────────────────────────────┐
       │ apcupsdvariableNUTvariable(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).

See Also