CyberPower UPS
This document describes how to install the CyberPower UPS daemon PowerPanel or alternatively the Network-UPS-Tools. The main advantage of using a CyberPower UPS is that it is cheap and it can communicate with your Linux box through either a RS-232 or USB serial connection. In the event of a prolonged power outage, should the CyberPower UPS lose most of its battery capacity, it can tell the Linux box to perform a safe shutdown.
Using PowerPanel
Installation
Install the powerpanelAUR package.
Configuration
Edit /etc/pwrstatd.conf
Email notifications can be accomplished by editing /etc/powerpanel/pwrstatd-powerfail.sh
and /etc/powerpanel/pwrstatd-lowbatt.sh
/etc/powerpanel/pwrstatd-email.sh
Running
Start/enable pwrstatd.service
.
Then run pwrstat -status
as the root user. You should get something like this:
The UPS information shows as following: Properties: Model Name................... Value 1500E Firmware Number.............. BFF7104#7N5 Rating Voltage............... 230 V Rating Power................. 900 Watt Current UPS status: State........................ Normal Power Supply by.............. Utility Power Utility Voltage.............. 230 V Output Voltage............... 230 V Battery Capacity............. 100 % Remaining Runtime............ 61 min. Load......................... 126 Watt(14 %) Line Interaction............. None Test Result.................. Unknown Last Power Event............. None
Customization
You can check and change the current settings using the pwrstat
command. (However, the command will not work unless the daemon is up and running.)
The service performs configurable actions in two different scenarios:
- When external power has failed for at least a certain amount of time (60 seconds by default)
- When battery power is low, as determined by either of two conditions:
- Battery capacity is less than a predetermined percentage (35% by default), or
- Remaining runtime (estimated from current power draw) is less than a predetermined number of seconds (300 seconds—that is, 5 minutes—by default)
To check the current settings, use pwrstat -config
. For example:
$ pwrstat -config
Daemon Configuration: Alarm .............................................. On Hibernate .......................................... Off Action for Power Failure: Delay time since Power failure ............. 60 sec. Run script command ......................... On Path of script command ..................... /etc/powerpanel/pwrstatd-powerfail.sh Duration of command running ................ 0 sec. Enable shutdown system ..................... Off Action for Battery Low: Remaining runtime threshold ................ 300 sec. Battery capacity threshold ................. 35 %. Run script command ......................... On Path of command ............................ /etc/powerpanel/pwrstatd-lowbatt.sh Duration of command running ................ 0 sec. Enable shutdown system ..................... On
The pwrstat
command also provides an interface for changing the settings. For example, to configure the UPS not to shut down automatically when there is a power failure but battery power is still high:
$ pwrstat -pwrfail -shutdown off
See man pwrstat
or the PDF user manual for more information on how to configure settings.
Desktop Notifications
You can modify the pwrstatd-powerfail.sh
and pwrstatd-lowbatt.sh
scripts to send Desktop notifications when power fails or battery is low (respectively). For example, add the following line to either file:
sudo -u your_username_here DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/your_userid_here/bus notify-send "Warning: Utility power has failed. Now running on battery." --icon=battery-caution
Be sure to change your_username_here to your user name and your_userid_here to the numeric user ID of your user (use ls /run/user/
to list possibilities if you are not sure).
Using Network UPS Tools
If you do not wish to use PowerPanel, the Network UPS Tools (NUT) is an alternative. Only one of these programs (PowerPanel or NUT) is required to monitor and shut the system down. You should not use both as they might interfere with one another.
Use instructions from the Wiki page of Network UPS Tools.