POWERPANEL(8)

✨ POWERPANEL(8) ✨

okay bestie so this is a page from the NUT Manual (that's Network UPS Tools, the iconique UPS management suite πŸ’–) and today we're talking about powerpanel, the driver that talks to serial PowerPanel Plus–compatible UPS gear. it's giving "i speak to your battery backup so you don't have to" πŸ”‹βœ¨


🌸 NAME 🌸

powerpanel β€” the driver for serial PowerPanel Plus compatible UPS equipment. she's the middleman between your computer and your UPS, and she is thriving πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

powerpanel -h

powerpanel -a UPS_NAME [OPTIONS]
⚠️ lowkey important: this man page is only about the hardware-specific stuff for the powerpanel driver. for all the core driver tea, go read nutupsdrv(8). periodt.

πŸ¦‹ SUPPORTED HARDWARE πŸ¦‹

so this driver handles the CyberPower BC1200, the PR2200, and a whole little squad of other similar devices β€” and she does it for both the text protocol and the binary protocol. the driver autodetects which protocol is in play, so you don't have to do anything. main character energy, honestly πŸ‘‘

if your Cyber Power Systems UPS has a USB port, you might wanna go hang with the usbhid-ups(8) driver instead. and the snmp-ups(8) driver is the one that supports several network cards via SNMP. pick your fighter ✨


πŸ’œ EXTRA ARGUMENTS πŸ’œ

this driver supports these optional settings over in ups.conf(5):

  • protocol=[text,binary] β€” lets you override the default autodetection of the protocol. if you already know what your UPS speaks, you can just say so πŸ—£οΈ
  • manufacturer=value β€” if the autodetected value is not your vibe, set it here instead.
  • model=value β€” same deal as manufacturer above.
  • serial=value β€” also same deal as manufacturer above.
  • ondelay=value β€” the time to wait before switching on the UPS, in minutes from 1 to 9999, where 0 means indefinite. only available with the text protocol driver (go check Support Status πŸ‘€).
  • offdelay=value β€” the time to wait before shutting down the UPS, in seconds from 6 to 600. values below 60 seconds get truncated to 6-second intervals, and values above 60 seconds get truncated to 60-second intervals. only available with the text protocol driver (again, see Support Status πŸ‘€).

🌈 VARIABLES 🌈

depending on what kind of UPS unit you've got, some of these variables can be changed with upsrw(8). and if the driver can't read a variable off the UPS? she simply won't make it available. no fake data here, bestie πŸ’…

  • 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 these commands might be available:

  • test.battery.start.quick, test.battery.stop
  • beeper.enable, beeper.disable, beeper.toggle
  • shutdown.return, shutdown.reboot, shutdown.stayoff
😭 okay so on many devices these commands are unreliable, so before you go using them you must verify that they actually work as expected (see Shutdown Issues below, it's a whole thing).
  • shutdown.stop

🧚 SUPPORT STATUS 🧚

vendor support for this driver is absent β€” like, nobody's home 🫠 so if you need features that aren't available yet, the move is to provide ample documentation on what the driver should send to the UPS to make it work.

if more info were available on the binary protocol, it would probably be possible to make ondelay and offdelay configurable. but so far, nobody has taken the time to investigate what we should be telling the UPS to make that happen, and CyberPower isn't willing to share that with us. sad but true πŸ’€


πŸ“ SHUTDOWN ISSUES πŸ“

if the shutdown.return command on your UPS doesn't seem to work, chances are 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 just doesn't support it.

to get the behaviour you actually expect, it needs shutdown.stayoff (when on battery) and shutdown.reboot (when on mains). the driver will automatically fallback to these commands if shutdown.return fails, and it 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. no cap, plan accordingly πŸ™ˆ

πŸ”₯ KNOWN PROBLEMS πŸ”₯

the CyberPower OP series don't offer direct voltage, charge, frequency and temperature readings. instead, they'll 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 on readings from actual devices. this may (probably will) be off, possibly a lot. so 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. it's giving "vibes-based telemetry" and we're all just living in it 🌸


πŸ‘‘ AUTHORS πŸ‘‘

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


πŸ’– SEE ALSO πŸ’–

The core driver:

Other drivers:

Internet resources:


and that's the whole page, bestie 🫢 this one came from Network UPS Tools 2.8.5, dated 10/07/2026 β€” so yeah, go forth and keep that UPS in check, you absolute legend βœ¨πŸŽ€

πŸ“¦ where this page comes from