Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
apcaccess (APCupsd) to Pachube python script
# Script to poll the UPS (via apcupsd) and publish interesting facts to
# pachube. You'll need to alter FEED_ID and insert your API key
# Published under GPL3+ by Andrew Elwell <>
import subprocess # we scrape apcaccess output
import requests # CBA writing a pachube library
import json
interesting = ('linev', 'loadpct', 'battv', 'bcharge')
payload = []
# go and grab
res = subprocess.check_output("/sbin/apcaccess")
for line in res.split('\n'):
(key,spl,val) = line.partition(': ')
key = key.rstrip().lower()
if key in interesting: # just save what we want
val = val.strip()
val = val.split(' ',1)[0] # ignore anything after 1st space
payload.append({'id':key, 'current_value':val})
# set up pachube connection
#jsonify it
stream = json.dumps({"version":"1.0.0","datastreams": payload})
r = requests.put("", headers = {"X-PachubeApiKey": API_KEY}, data=stream)

This comment has been minimized.

Copy link

@flyte flyte commented May 17, 2017

Just spotted this on a Google search and thought you might find a pure-Python version of apcaccess useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.