# use subsample while debugging
#circuit_dict_list = circuit_dict_list[:20]

# choose method of labeling data
method = 'meter'
#method = 'pin'

# choose date range
import datetime as dt
date_start = dt.datetime(2012, 1, 1)
date_end   = dt.datetime(2012, 2, 1)

# get list of pins corresponding to meters in meter_list
import offline_gateway as og
circuit_dict_list = og.get_circuit_dict_list()

# place time series for credit of each pin in a dictionary
d = {}
for i, c in enumerate(circuit_dict_list):

    if not filter_by_meter_list or c['meter_name'] in meter_list:

        # generate appropriate dictionary key
        if method == 'meter':
            label = c['meter_name'] + '-' + c['ip_address'][-2:]
        if method == 'pin':
            label = c['pin']

        # query database and append to dictionary
        print 'querying for', i, 'th circuit =', label
Also includes linear fit to gauge if energy use is increasing over time.

'''

import sqlalchemy as sa
import matplotlib.pyplot as plt
import datetime as dt

date_start = dt.datetime(2011, 9, 1)
date_end = dt.datetime(2012, 2, 1)

if __name__ == '__main__':

    import offline_gateway as og
    cdl = og.get_circuit_dict_list(mains=True)
    #cdl = cdl[:1]

    for i, c in enumerate(cdl):

        filename = 'pcde-' + c['meter_name'] + '-' + c['ip_address'][-3:] + '.pdf'
        print 'querying for ' + filename

        daily_energy = og.get_daily_energy_for_circuit_id(c['circuit_id'], date_start, date_end)

        if daily_energy == None:
            continue

        # plot each circuit daily energy values for all time
        f, ax = plt.subplots(2, 1, sharex=True)
Example #3
0
from issue #18

for a given date range and circuit, output

number of expected observations
number of actual observation
ratio of actual to expected observations
number of days with correct midnight samples
number of days with corrupted midnight samples
ratio of corrupted midnight samples to total midnight samples

'''

# get list of pins corresponding to meters in meter_list
import offline_gateway as og
circuit_dict_list = og.get_circuit_dict_list()

# use subsample while debugging
#circuit_dict_list = circuit_dict_list[:1]
#circuit_dict_list = [{'circuit_id':294}]

# choose date range
import datetime as dt
date_start = dt.datetime(2012, 1, 1)
date_end = dt.datetime(2012, 2, 1)

bd = {}
for i, c in enumerate(circuit_dict_list):

    # query database
    print 'querying for', i, 'th circuit =', c['circuit_id']
# use subsample while debugging
#circuit_dict_list = circuit_dict_list[:20]

# choose method of labeling data
method = 'meter'
#method = 'pin'

# choose date range
import datetime as dt
date_start = dt.datetime(2011, 6, 1)
date_end   = dt.datetime(2012, 2, 1)

# get list of pins corresponding to meters in meter_list
import offline_gateway as og
circuit_dict_list = og.get_circuit_dict_list(mains=False)

# restrict list if debugging
#debug = True
debug = False
if debug:
    circuit_dict_list = circuit_dict_list[:2]

# place time series for credit of each pin in a dictionary
d = {}
for i, c in enumerate(circuit_dict_list):

    if not filter_by_meter_list or c['meter_name'] in meter_list:

        # generate appropriate dictionary key
        if method == 'meter':
# use subsample while debugging
#circuit_dict_list = circuit_dict_list[:20]

# choose method of labeling data
method = 'meter'
#method = 'pin'

# choose date range
import datetime as dt
date_start = dt.datetime(2011, 6, 1)
date_end = dt.datetime(2012, 2, 1)

# get list of pins corresponding to meters in meter_list
import offline_gateway as og
circuit_dict_list = og.get_circuit_dict_list(mains=False)

# restrict list if debugging
#debug = True
debug = False
if debug:
    circuit_dict_list = circuit_dict_list[:2]

# place time series for credit of each pin in a dictionary
d = {}
for i, c in enumerate(circuit_dict_list):

    if not filter_by_meter_list or c['meter_name'] in meter_list:

        # generate appropriate dictionary key
        if method == 'meter':