public
Created

apcaccess (APCupsd) to Pachube python script

  • Download Gist
apc2pacube.py
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#!/usr/bin/python
 
# 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 <Andrew.Elwell@gmail.com>
 
 
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
API_KEY = "YOUR API KEY"
 
#jsonify it
stream = json.dumps({"version":"1.0.0","datastreams": payload})
 
r = requests.put("http://api.pachube.com/v2/feeds/FEED_ID", headers = {"X-PachubeApiKey": API_KEY}, data=stream)

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.