POWERPANEL(8)
=============

NAME
----

powerpanel - Driver for serial PowerPanel Plus compatible UPS equipment

SYNOPSIS
--------

*powerpanel* -h

*powerpanel* -a 'UPS_NAME' ['OPTIONS']

NOTE: This man page only documents the hardware-specific features of the
powerpanel driver.  For information about the core driver, see
linkman:nutupsdrv[8].

SUPPORTED HARDWARE
------------------

This driver supports CyberPower BC1200, PR2200 and many other similar
devices, both for the text and binary protocols. The driver will
autodetect which protocol is used.

If your Cyber Power Systems UPS has a USB port, you may wish to use the
linkman:usbhid-ups[8] driver. The linkman:snmp-ups[8] driver supports several
network cards via SNMP.

EXTRA ARGUMENTS
---------------

This driver supports the following optional settings in linkman:ups.conf[5]:

*protocol=*['text,binary']::
Override the default autodetection of the protocol.

*manufacturer=*'value'::
If you don't like the autodetected value, you can override this by setting
it here.

*model=*'value'::
Like manufacturer above.

*serial=*'value'::
Like manufacturer above.

*ondelay=*'value'::
Time to wait before switching on the UPS (1 - 9999 minutes, 0=indefinite).
Only available with the text protocol driver (see <<_support_status,Support Status>>).

*offdelay=*'value'::
Time to wait before shutting down the UPS (6 - 600 seconds). Values below 60
seconds will be truncated to 6 seconds intervals, values above 60 seconds to
60 seconds intervals. Only available with the text protocol driver (see
<<_support_status,Support Status>>).

VARIABLES
---------

Depending on the type of your UPS unit, some of the following variables may
be changed with linkman:upsrw[8]. If the driver can't read a variable from the
UPS, it will not be made available.

*input.transfer.high*::
writable: high transfer voltage point in V

*input.transfer.low*::
writable: low transfer voltage point in V

*battery.charge.low*::
writable: remaining battery charge percentage for low battery warning

*output.voltage.nominal*::
writable: nominal output voltage in V

*ups.start.battery*::
writable: allow cold start from battery

COMMANDS
--------

Depending on the type of your UPS unit, some of the following commands may
be available.

 * test.battery.start.quick, test.battery.stop

 * beeper.enable, beeper.disable, beeper.toggle

 * shutdown.return, shutdown.reboot, shutdown.stayoff

On many devices, these commands are unreliable, so before using them you
must verify that these work as expected (see <<_shutdown_issues,Shutdown Issues>>).

 * shutdown.stop

SUPPORT STATUS
--------------

Vendor support is absent for this driver, so if you need some features that
are currently not available, provide ample documentation on what the driver
should sent to the UPS in order to make this work. If more information
would be available on the binary protocol, it would probably be possible to
make 'ondelay' and 'offdelay' configurable. So far, nobody has taken the time
to investigate what we should tell the UPS to make this work, and CyberPower
isn't willing to share this with us.

SHUTDOWN ISSUES
---------------

If the *shutdown.return* command on your UPS doesn't seem to work,
chances are that your UPS is an older model. Try a couple of different
settings for 'offdelay'. If no value in the range 6..600 works, your
UPS likely doesn't support this. In order to get the expected behaviour,
it requires *shutdown.stayoff* (when on battery) and *shutdown.reboot*
(when on mains). The driver will automatically fallback to these commands if
*shutdown.return* fails, and tries to detect which one should be used when
called with the '-k' option (or through *upsdrvctl shutdown*).

This isn't bullet-proof, however, and you should be prepared that the
power will either not be shutdown or that it doesn't return when the
power comes back. All models supported by the binary protocol and many
supported through the text protocol are affected by this.

KNOWN PROBLEMS
--------------

The CyberPower OP series don't offer direct voltage, charge, frequency
and temperature readings. Instead, they will return a binary value
that needs conversion to the actual value.

The exact conversion needed is unknown at the time of this writing,
hence an estimation was made based om readings from actual devices.
This may (probably will) be off, possibly a lot. Unless you can tell
us the exact mapping between values from the UPS and actual readings,
don't bother to complain. We've done the best we can based on the
limited information available. Remember, a UPS isn't a measuring
instrument.

AUTHORS
-------

Arjen de Korte <arjen@de-korte.org>, Doug Reynolds <mav@wastegate.net>

SEE ALSO
--------

The core driver:
~~~~~~~~~~~~~~~~

linkman:nutupsdrv[8]

Other drivers:
~~~~~~~~~~~~~~

linkman:usbhid-ups[8],
linkman:snmp-ups[8]

Internet resources:
~~~~~~~~~~~~~~~~~~~

The NUT (Network UPS Tools) home page: https://www.networkupstools.org/
