Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
Archivo: test.py Proyecto: zoni/pynma
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)