def toggle_sensor(relayid = None): conn = sqlite3.connect('termo.db') relaystate = conn.execute('SELECT state FROM relays WHERE relayid = ?', [relayid]).fetchone()[0] if relaystate: newstate = 0 else: newstate = 1 conf = termoconf(conn) daenet = daenetip(conf.boardhostname, conf.appmode) if conf.appmode != 'dev': daenet.setrelay(relayid,newstate) conn.execute('UPDATE relays SET state = ?',[newstate]) conn.commit() conn.close() sensorid = request.GET.get('sensorid','') return sensor(sensorid)
def sensor(sensorid = None): conn = sqlite3.connect('termo.db') conn.row_factory = sqlite3.Row sensordata = get_sensor(sensorid,conn) sensors = get_sensors(conn) #sensorgraph = '/static/img/sensor'+str(sensordata['sensorid'])+'.png' conf = termoconf(conn) outsidetemp = getoutsidetemp(conf.arsourl,conf.arsocity) daenet = daenetip(conf.boardhostname, conf.appmode) # When developing read relay state from DB if conf.appmode == "dev": relaystate = sensordata['relaystate'] else: relaystate = daenet.getrelay(sensordata['relayid']) endtime = datetime.now() starttime = (datetime.now() - timedelta(hours=12)) sensorgraph = '/graph?sensorid={0}&start={1}&end={2}'.format(sensordata[0], starttime.strftime('%Y%m%d%H%M'),endtime.strftime('%Y%m%d%H%M')) conn.close() return template('sensor_template',sensor=sensordata,sensorgraph=sensorgraph,sensors=sensors, outsidetemp=outsidetemp,relaystate=relaystate,starttime=starttime,endtime=endtime,activepage='overview')
format(ret[1], ret[0], sensorid, sensorname, startTime, endTime)) else: logging.debug('Graph created successfully!') FORMAT='%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(format=FORMAT,level=logging.DEBUG) # Change working directory to script path scriptPath = os.path.dirname(os.path.realpath(__file__)) os.chdir(scriptPath) conn = sqlite3.connect('termo.db') conf = termoconf(conn) daenet = daenetip(conf.boardhostname,conf.appmode) try: for sensor in conn.execute('SELECT sensorid,name,threshold,relayid,automatic FROM sensors WHERE enabled = 1'): sensorid = sensor[0] sensorname = sensor[1] threshold = sensor[2] relayid = sensor[3] automatic = sensor[4] logging.debug('Retrieving temperature from module '+conf.boardhostname) temperature = daenet.gettemp(sensorid) logging.debug('Retrieved temparature: {0}'.format(temperature)) logging.debug('Writing temperature to database ...') conn.execute('UPDATE sensors SET temperature = ?, updatetime=datetime(current_timestamp, \'localtime\') '+
#!/usr/bin/python import sys from daenetip import * if (len(sys.argv) != 2): print "termotest <ip>" sys.exit() d = daenetip(sys.argv[1]) print "Temperature is:",d.gettemp(0),"C"