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