changeset 311:ec6451f15ae5

powereagle reader writes to influxdb Ignore-this: cbd088f968244a7e869868ff82b079f0
author drewp@bigasterisk.com
date Fri, 16 Sep 2016 01:28:48 -0700
parents 6ba2c88f9847
children 170dc9b1e789
files service/powerEagle/reader.py service/powerEagle/requirements.txt
diffstat 2 files changed, 16 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/service/powerEagle/reader.py	Fri Sep 16 01:27:28 2016 -0700
+++ b/service/powerEagle/reader.py	Fri Sep 16 01:28:48 2016 -0700
@@ -3,17 +3,15 @@
 import sys
 sys.path.append("/my/proj/homeauto/lib")
 from logsetup import log
-sys.path.append("/my/proj/room")
-from carbondata import CarbonClient
 from twisted.internet.defer import inlineCallbacks
 from twisted.internet import reactor
 from cyclone.httpclient import fetch
+from influxdb import InfluxDBClient
 
 from private_config import deviceIp, cloudId, installId, macId, periodSec
 
 auth = (cloudId + ':' + installId).encode('base64').strip()
-
-carbon = CarbonClient(serverHost='bang')
+influx = InfluxDBClient('bang', 9060, 'root', 'root', 'main')
 
 class Poller(object):
     def __init__(self, carbon):
@@ -42,10 +40,16 @@
                 raise ValueError
             if ret['summation_units'] != 'kWh':
                 raise ValueError
-            self.carbon.send('system.house.powerEagle.demand_w',
-                             float(ret['demand']) * 1000)
-            self.carbon.send('system.house.powerEagle.summation_delivered_kWh',
-                             float(ret['summation_delivered']))
+            influx.write_points([
+                dict(measurement='housePowerW',
+                     fields=dict(value=float(ret['demand']) * 1000),
+                     tags=dict(house='berkeley'),
+                     time=int(startTime)),
+                dict(measurement='housePowerSumDeliveredKwh',
+                     fields=dict(value=float(ret['summation_delivered'])),
+                     tags=dict(house='berkeley'),
+                     time=int(startTime)),
+                ], time_precision='s')
         except Exception as e:
             log.error("failed: %r", e)
             log.error(repr(ret))
@@ -56,6 +60,7 @@
 
 
 log.setLevel(logging.INFO)
-carbon = CarbonClient(serverHost='bang')
-p = Poller(carbon)
+influx = InfluxDBClient('bang', 9060, 'root', 'root', 'main')
+
+p = Poller(influx)
 reactor.run()
--- a/service/powerEagle/requirements.txt	Fri Sep 16 01:27:28 2016 -0700
+++ b/service/powerEagle/requirements.txt	Fri Sep 16 01:28:48 2016 -0700
@@ -1,3 +1,4 @@
 cyclone==1.1
 service-identity==14.0.0
 Twisted==15.5.0
+influxdb==3.0.0