END_TIME - timestamp string in ISO8601 AM_DEVICE_NAME - AlertMe device name string, required if multiple MeterReaders devices exist PW_METER_ID - PlotWatt meter id int, required if multiple meters exist ''' # parse start and end times utc_format = '%Y-%m-%dT%H:%M:%SZ' try: start = datetime2.strptime(START_TIME, utc_format) end = datetime2.strptime(END_TIME, utc_format) except ValueError, e: print 'start or end time not in ', utc_format, 'format' return -1 # PlotWatt API pw = Plotwatt(PW_HOUSE_ID, PW_API_KEY) try: pw.list_meters() except urllib2.HTTPError, e: print 'bad PlotWatt credentials' return -1 if not PW_METER_ID: print 'PlotWatt meter not specified' pw_meter_list = pw.list_meters() if len(pw_meter_list) == 0: print 'No PlotWatt meters found. Creating meter' pw_meter_list = pw.create_meters(1) PW_METER_ID = pw_meter_list[0] print 'Using PlotWatt meter ', PW_METER_ID # AlertMe API
def setUp(self): self.pw = Plotwatt(2517, "3b0f9e9a9d98137c") # clear any old meters for meter_id in self.pw.list_meters() : self.pw.delete_meter(meter_id)