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.
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
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
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.