CyberPower SL700U
The CyberPower SL700U is a standby UPS that is very thin (only 70mm wide), short (137mm high), and 324mm long. Hold on, why am I writing about an average UPS on my blog?
I had a need for a small UPS that would fit comfortably in structured wiring enclosures (specifically the Structured Media Centers from Leviton). I had done some research on thin UPS devices before, only to find that many were unreasonably priced. However, I stumbled upon this model after browsing the website of my usual distributor in Canada (DeployDepot.ca).
This UPS had some decent specifications for the price of about $100 CAD:
- 5x NEMA 5-15R outlets on battery (one wide-spaced)
- 3x NEMA 5-15R outlets on surge only (one wide-spaced)
- 2x USB type-A ports (2400mA shared)
- EMI/RFI filtering and 890J surge suppression
- USB interface (although I did purchase a right-angle USB type-B cable for use in tighter spaces)
It doesn't provide pure sinewave output, which isn't a big concern considering it will only be used for low-power networking equipment. With the load I calculated for my use-case, I should see about 1-2 hours of runtime.
One interesting thing I noticed in the documentation, is that the battery isn't listed as user-replaceable.
However, I was hardly deterred by that and cracked open the UPS as soon as it was delivered. Fortunately, there are only two Phillips-head screws securing the battery cover. The battery mine came with is a LEOCH CPS5.5-12
(SLA; 12 Volt; 5500 mAh). It would be easily replaceable if needed, although if more than 3-5 years have gone by, I would likely replace the whole UPS anyway.
Linux Compatibility
On a Raspberry Pi 4B+, running Debian Bullseye, lsusb
reports the UPS as:
pi@raspberrypi:~ $ lsusb
Bus 001 Device 029: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
One thing to note about some UPS models from Cyber Power: The UPS will disconnect from the USB bus if a driver doesn't connect to it right away (typically 20 seconds). To overcome this limitation, the driver can be configured to poll the UPS for information more frequently.
Install NUT
sudo apt install nut nut-server nut-client
Configure NUT to act as a network server:
sudo vim /etc/nut/nut.conf
Add the UPS configuration:
sudo vim /etc/nut/ups.conf
Enable listening on all interfaces:
sudo vim /etc/nut/upsd.conf
Add users:
sudo vim /etc/nut/upsd.users
[upsmon_master]
password = "change_me"
instcmds = "ALL"
actions = "FSD"
upsmon master
[upsmon_slave]
password = "change_me"
upsmon slave
Configure monitoring (local):
sudo vim /etc/nut/upsmon.conf