upsc - example lightweight UPS client
upsc -l | -L [host]
upsc ups [variable]
upsc -c ups
upsc is provided as a quick way to poll the status of a UPS server. It can be used inside shell scripts and other programs that need UPS data but don’t want to include the full interface.
To list all variables on an UPS named "myups" on a host called "mybox", with upsd(8) running on port 1234:
$ upsc myups@mybox:1234 battery.charge: 100.0 battery.voltage: 13.9 battery.voltage.nominal: 13.6 . . .
To list the UPSes configured on this system, along with their descriptions:
$ upsc -L apc: Back-UPS 500 ppro2: Patriot Pro II
To retrieve the status for all UPSes connected to mybox, using Bourne-shell syntax:
$ for UPS in `upsc -l mybox:1234`; do
upsc $UPS ups.status done
To list clients connected on "myups":
$ upsc -c myups 127.0.0.1 ::1 192.168.1.2
If you run this program inside a shell script or similar to get the list of devices and variables, you should only consider using output from stdout, not stderr.
upsc will either print a list of UPS names, a list of all supported variables and their values on the UPS, or an error message. If you receive an error, make sure you have specified a valid UPS on the command line, that upsd(8) is really running on the other host and that no firewalls are blocking you.
Earlier versions of this program used the upsfetch library and UDP sockets to talk to upsd. This version of upsc uses the new upsclient library, which only talks TCP. This is why upsct no longer exists.
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
|01/25/2023||Network UPS Tools 2.8.0|