UPSCODE2(8)

πŸ’– UPSCODE2 πŸ’–

okay bestie, pull up a chair β€” this is upscode2, the driver for UPScode II compatible UPS equipment. Yes, that's the whole vibe. A driver. For UPSes. And honestly? It's giving niche legend.


✨ SYNOPSIS ✨

upscode2 -h
upscode2 -a UPS_NAME [OPTIONS]
⚠️ real talk: this man page only spills the tea on the hardware-specific features of the upscode2 driver. For the core driver deets, go read nutupsdrv(8) instead. 🫢

🌈 SUPPORTED HARDWARE 🌈

So here's the sitch: this driver serves UPS equipment that can be controlled via the UPScode II protocol. That's mostly Fiskars and Powerware gear, plus some products from Compaq β€” which are probably OEM'ed, but honestly who can say. πŸ‘‘


πŸŽ€ EXTRA ARGUMENTS πŸŽ€

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

  • manufacturer=value β€” Autodetection of this parameter is not possible yet (and it probably never will be, no cap). So this user-defined string will accept literally any name you throw at it. The default is unknown.
  • input_timeout=value β€” The timeout for waiting on a response from the UPS. Some UPS models have shown themselves to be kinda slow 😴, which leads to frequent messages about empty responses from the UPS. If you're seeing that, try bumping this value up.
  • output_pace=value β€” Delay between characters sent to the UPS. This got added for completeness alongside the parameter above. It has not shown to be needed yet β€” so, lowkey just vibing there.
  • baudrate=value β€” The default baudrate is 1200, which is the standard for the UPScode II protocol. Periodt.
  • full_update_timer=value β€” Number of seconds between collection of normative values.
  • use_crlf β€” A flag to set if commands towards the UPS need to be terminated with CR-LF, and not just CR.
  • use_pre_lf β€” A flag to set if commands towards the UPS need to be introduced with an LF. A Compaq T1500h is known to need this. πŸ™ˆ

πŸ’… COMMANDS πŸ’…

The driver supports the following commands for those UPSes that support them. The available commands are autodetected during initialization, so you should check availability with upscmd -l. Don't just assume, bestie. πŸ”

  • test.panel.start β€” Start UPS self test
  • test.battery.start β€” Start battery self test
  • beeper.enable β€” Enable UPS beeper
  • beeper.disable β€” Disable UPS beeper
  • shutdown.return β€” Shut down in 1 second and wait for power to return
  • shutdown.stayoff β€” Shut down in 1 seconds
  • shutdown.reboot β€” Shut down in 1 seconds and reboot after 1 minute
  • shutdown.reboot.graceful β€” Shut down in 20 seconds and reboot after 1 minute

πŸ“ NOTES πŸ“

The Powerware UPS models that this driver has been tested against until now have not returned a value for battery.charge. So instead, the driver will guesstimate a value based on the nominal battery min/max and the current battery voltage. It's giving educated guess energy. 😭


πŸ‘‘ AUTHORS πŸ‘‘

  • HΓ₯vard Lygre <hklygre@online.no>
  • Niels Baggesen <niels@baggesen.net>

πŸ¦‹ SEE ALSO πŸ¦‹

The core driver:

Internet resources:

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


and that's the whole page, babe πŸ’œ this was Network UPS Tools 2.8.5, dated 10/07/2026 β€” thanks for coming to my TED talk, go forth and talk to your UPS, you've absolutely got this πŸŒΈβœ¨πŸ’–

πŸ“¦ where this page comes from