# HG changeset patch # User Daniel O'Connor # Date 1530590188 -34200 # Node ID 1d08f777533f5ba16fa381511f47ba8f4216807b # Parent 156ab071a9de389a3019d4988e973d968ae9be59 Add installid parameter instead of hard coding it into a URL. diff -r 156ab071a9de -r 1d08f777533f agl.py --- a/agl.py Mon Sep 11 22:46:50 2017 +0930 +++ b/agl.py Tue Jul 03 13:26:28 2018 +0930 @@ -13,7 +13,7 @@ import tzlocal loginurl = 'https://command.aglsolar.com.au/api/v2/Account/LoginUser' -dataurl = 'https://command.aglsolar.com.au/api/v2/graph/b8e08afb-818f-4d2d-9d28-5afe8fc76a32' +dataurl = 'https://command.aglsolar.com.au/api/v2/graph/' # ?endDate=2017-08-23&granularity=Minute&metrics=read&startDate=2017-08-23&units=W' logouturl = 'https://command.aglsolar.com.au/api/v2/Account/Logout' @@ -66,6 +66,7 @@ dbh = sqlite3.connect(dbfn, detect_types = sqlite3.PARSE_DECLTYPES) cur = dbh.cursor() if args.update: + installid = conf.get('DEFAULT', 'installid') date = start while date < end: if conf.has_option('DEFAULT', 'token'): @@ -75,11 +76,11 @@ conf.set('DEFAULT', 'token', token) conf.write(file(confname, 'w')) - data = getdata(token, date, date) + data = getdata(token, installid, date, date) if data == None: #print('Getting new token') token = gettoken(username, password) - data = getdata(token, date, date) + data = getdata(token, installid, date, date) if data == None: print('Unable to fetch data') updatedb(cur, data) @@ -218,8 +219,10 @@ for idx in range(len(cols)): col = cols[idx] ydata = ary[:,idx + 1] + + ydata = [0 if v is None else v for v in ydata] if col in convs: - ydata = convs[col](ydata) + ydata = map(convs[col], ydata) if col in scale_limits: scale_min = scale_limits[col][0] scale_max = scale_limits[col][1] @@ -328,9 +331,9 @@ return None return json.decoder.JSONDecoder().decode(reply.content)['access_token'] -def getdata(token, startdate, enddate): +def getdata(token, installid, startdate, enddate): #print('getting ' + startdate.strftime('%Y-%m-%d')) - reply = requests.request('GET', dataurl, params = { + reply = requests.request('GET', dataurl + installid, params = { 'startDate' : startdate.strftime('%Y-%m-%d'), 'endDate' : enddate.strftime('%Y-%m-%d'), 'granularity' : 'Minute',