UPSs fall into two categories, which I'll call ``smart'' and ``dumb''.
The difference between the two is the amount of information one can get
from the UPS and the amount of control one can exert over the UPS.
Dumb UPS
Connects to the computer via serial port.
Uses modem control lines to communicate with the computer.
Can signal whether or not the power is out.
Typically can signal whether or not the battery is low.
The computer can usually signal the UPS to turn itself
off.
Smart UPS
Connects to the computer via serial port.
Communicates with the computer via normal data transfer
through the serial port.
Typically has some sort of command language that the computer
can use to get various pieces of information from the UPS, to
set various operating parameters for the UPS, and to control the
UPS (such as turning it off).
Usually smart UPSs can be operated in dumb mode. This is useful
because as far as I know, the company which manufactures the most
popular smart UPS (namely APC) will only disclose the communication
protocol for their UPSs to people who sign a non-disclosure
agreement.
As far as I know, the only smart UPS available which is easy to
communicate with under Linux are those made by Best. Furthermore, BEST
fully documents the smart mode (and the dumb mode) of their UPSs.
BEST also supplies source code for programs which can communicate with
their UPSs.
All the packages listed in section
Software
will communicate with a UPS in dumb mode. This is all you really
need. The ones specifically for the APC UPSs make various claims as
to being usable in smart mode, but I don't know exactly what they
permit. A full implementation would give you a pop-up window with all
sorts of fun gauges displaying various statistics for the UPS, such as
load, internal temperature, fault history, input voltage, output
voltage, etc. It seems like the smupsd-0.9-1.i386.rpm package
(section
Software) approaches this. I'm
not sure about the others.
The rest of this document is pretty much confined to configuring your
system to work with a dumb UPS. The general idea is about the same
with a smart UPS, but the details of how powerd would need to
work and what kind of cable you need are different for a smart UPS.