def notify(keys, app, event, msg, url): global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push(app, event, msg, url, batch_mode=False) pprint(res)
def main(keys): global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("test app", 'test event', 'test msg <a href="http://www.google.com/">google</a>', 'http://example.com', batch_mode=False, html=True) pprint(res)
def main(keys): global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("test app", 'test event', 'test msg', 'http://example.com', batch_mode=False) pprint(res)
def main(keys): global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push(options.app_name, options.evn_title, options.evn_desc, options.evn_url, options.evn_pri, batch_mode=False) if options.debug: pprint(res)
def main(keys): print ("In main(), loop") # Read settings do_read_settings() print ("Settings ok") # Setup logging logger = logging.getLogger('washpower') hdlr = logging.FileHandler('/var/tmp/washpower.log') formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setFormatter(formatter) logger.addHandler(hdlr) logger.setLevel(logging.INFO) logger.info('Start log') print ("Log started") # Variables runs = 0 running = 0 notrunning = 0 washerrunning = 0 # Eternal loop while(1): # Get data from Emoncms # TODO Find a better way to get data (locally) # Get value from Emoncms #response = urllib2.urlopen('http://192.168.1.6/emoncms/feed/value.json?id=23&apikey=1b3bdd0f474738012cb85b79f1b7e104') response = urllib2.urlopen('http://192.168.1.6/emoncms/feed/value.json?id=23&apikey='+emonapi) html = response.read() power = ''.join(e for e in html if e.isalnum()) ipower=int(power) #print ("Current power: " + str(ipower)) # For debug, store values constantly # Theese values can be used to analyze the current consumption # #logger.info(power) #logtext = "running: " + str(running) + "---notrunning: " + str(notrunning) #logger.info(logtext) # For debug, read "power" from a local file #f = open('test', 'r') #power = int(f.read()) #print str(power) #ipower=int(power) # Power is (much) higher than idle current? (Which in this case is 11). # But we use a higher value, sometimes the washer is using a little more # power when idle. if ipower > 50: running+=1 notrunning=0 #print "running:"+str(running) print ("Current power: " + power + " (above limit)") if (running >= 3 and washerrunning == 0): # The power is high for three runs in a row logger.info("Washer is running") print "Washer is running" # Send NMA global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("Emoncms alarm", 'Washer', 'Washer is running', '', batch_mode=False) pprint(res) washerrunning = 1 else: #print "Washer idle" if (washerrunning == 1): # Washer has been running but power is below limit notrunning+=1 if (notrunning >=6): # Power has been below limit for three runs # so the washer is done washerrunning = 0 # Reset running counter running = 0 logger.info("Washer is done") print "Washer is done" # Send NMA #global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey",'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("Emoncms alarm", 'Washer', 'Washer is done', '', batch_mode=False) pprint(res) # Wait 2 minutes time.sleep(120)
def main(keys): print("In main(), loop") # Read settings do_read_settings() print("Settings ok") # Setup logging logger = logging.getLogger('washpower') hdlr = logging.FileHandler('/var/tmp/washpower.log') formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setFormatter(formatter) logger.addHandler(hdlr) logger.setLevel(logging.INFO) logger.info('Start log') print("Log started") # Variables runs = 0 running = 0 notrunning = 0 washerrunning = 0 # Eternal loop while (1): # Get data from Emoncms # TODO Find a better way to get data (locally) # Get value from Emoncms #response = urllib2.urlopen('http://192.168.1.6/emoncms/feed/value.json?id=23&apikey=1b3bdd0f474738012cb85b79f1b7e104') response = urllib2.urlopen( 'http://192.168.1.6/emoncms/feed/value.json?id=23&apikey=' + emonapi) html = response.read() power = ''.join(e for e in html if e.isalnum()) ipower = int(power) #print ("Current power: " + str(ipower)) # For debug, store values constantly # Theese values can be used to analyze the current consumption # #logger.info(power) #logtext = "running: " + str(running) + "---notrunning: " + str(notrunning) #logger.info(logtext) # For debug, read "power" from a local file #f = open('test', 'r') #power = int(f.read()) #print str(power) #ipower=int(power) # Power is (much) higher than idle current? (Which in this case is 11). # But we use a higher value, sometimes the washer is using a little more # power when idle. if ipower > 50: running += 1 notrunning = 0 #print "running:"+str(running) print("Current power: " + power + " (above limit)") if (running >= 3 and washerrunning == 0): # The power is high for three runs in a row logger.info("Washer is running") print "Washer is running" # Send NMA global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey", 'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("Emoncms alarm", 'Washer', 'Washer is running', '', batch_mode=False) pprint(res) washerrunning = 1 else: #print "Washer idle" if (washerrunning == 1): # Washer has been running but power is below limit notrunning += 1 if (notrunning >= 6): # Power has been below limit for three runs # so the washer is done washerrunning = 0 # Reset running counter running = 0 logger.info("Washer is done") print "Washer is done" # Send NMA #global p pkey = None p = PyNMA() if os.path.isfile("mydeveloperkey"): dkey = open("mydeveloperkey", 'r').readline().strip() p.developerkey(dkey) p.addkey(keys) res = p.push("Emoncms alarm", 'Washer', 'Washer is done', '', batch_mode=False) pprint(res) # Wait 2 minutes time.sleep(120)