A basic GUI client that displays UPS status from NUT or Apcupsd. Written in Python/Tk and compatible with all versions from Python 2.5 on Windows 95 to Python 3.12 on Linux.
Git/Gitweb: https://git.nullroute.lt/hacks/upsmonitor.git
GitHub: grawity/upsmonitor
Upsmonitor reads a .upslist.conf file either from its own directory or from your home directory (that is, either ~/.upslist.conf or ~/.config/upslist.conf – at the moment it does not use AppData on Windows). The file should contain a list of UPS entries, one per line, in the following format:
@hostname Apcupsd protocol upsname@hostname NUT protocol upsname@http://hostname Mikrotik RouterOS 7 REST API protocol
The second column is displayed as the UPS title. Currently the syntax does not allow specifying custom TCP ports, nor requesting TLS. For RouterOS a username:password can be included in the URL; the default is to use upsmonitor as both username and password.
All other configuration is done either through command-line options or through environment variables. An UPS address can also be specified via command line; in that case the upslist.conf is ignored.