I recently added a UPS to my server rack to keep my internet and home network running during a power outage. After unpacking it, I investigated its USB port and discovered it wasn’t for powering other devices. Instead, it connects to a host computer to provide information like battery charge status, remaining runtime, and current load.
I wanted to access this data without relying on third-party software, so I decided to see if I could reverse-engineer the protocol using Linux.



Actual serial, or that almost-serial that will shut down the UPS if you plug a serial cable in?
LOL actual serial
I’ve replaced the battery in that sucker more than a few times
Edit: its an old HP powerwise for the record, I think its 2 pins for serial, 6 for contact closure.
Ah okay, it was APC that had the UPS with the “serial” port.
The dumb “on battery” cable, what a joke that was