All pastes #2021040 Raw Edit

mainloop.py

public python v1 · immutable
#2021040 ·published 2010-12-16 08:11 UTC
rendered paste body
import timeowServer = '10.0.0.40'owPort = 4020def convert(n):  try:    return int(n)  except ValueError:    return float(n)def heatOn():  s = ownet.Sensor(sw_workshop, owServer, owPort)  s.PIO_A = '1'def heatOff():  s = ownet.Sensor(sw_workshop, owServer, owPort)  s.PIO_A = '0' def checkTemp(t):  if t >= (setpoint + deadband):    heatOff()  elif t < (setpoint - deadband):    heatOn()while True: readtime = strftime("%Y-%m-%d %H:%M:%S") for row in db().select(db.settings.ALL):   deadband = convert(row.deadband)   status = row.status   setpoint = convert(row.setpoint) for row in db().select(db.devices.ALL):   if row.alias == 'sw_workshop':     sw_workshop = row.address   elif row.alias == 'temp_workshop':     zt_workshop = row.address   elif row.alias == 'temp_outside':     zt_oat = row.address s = ownet.Sensor(zt_workshop, owServer, owPort) ws_temp = s.temperature s = ownet.Sensor(zt_oat, owServer, owPort) oat_temp = s.temperature db.templog.insert(time=readtime, temp=ws_temp, setpoint=setpoint, oa_templog=oat_temp) print setpoint print readtime print ws_temp print oat_temp checkinTime = time.time() db(db.settings).update(checkin=checkinTime) checkTemp(ws_temp) db.commit() commandArg = "rrdtool update /home/steve/owfs/ws_templog.rrd N:%s" % ws_temp os.system(commandArg) commandArg = "rrdtool update /home/steve/owfs/ws_setpoint.rrd N:%s" % setpoint os.system(commandArg)    commandArg = "rrdtool update /home/steve/owfs/oa_templog.rrd N:%s" % oat_temp os.system(commandArg) commandArg = 'rrdtool graph /home/steve/owfs/web/temperature.png DEF\:temperature=/home/steve/owfs/ws_templog.rrd\:temperature\:AVERAGE LINE1\:temperature#FF0000\:"Shop Temp" DEF\:setpoint=/home/steve/owfs/ws_setpoint.rrd\:setpoint\:LAST LINE1\:setpoint#009900\:"Setpoint" DEF\:outside=/home/steve/owfs/oa_templog.rrd\:outside\:LAST LINE1\:outside#0000CC\:"Outside Temp" --width="800" --height="300" --vertical-label="Degrees Celsius" VDEF\:current-temp=temperature,LAST COMMENT\:"\\n" GPRINT\:current-temp\:"Shop\: %8.2lf C" COMMENT\:"\\n" VDEF\:current-setpoint=setpoint,LAST GPRINT\:current-setpoint\:"Setpoint\: %8.2lf C" COMMENT\:"\\n" VDEF\:current-outside=outside,LAST GPRINT\:current-outside\:"Outside\: %8.2lf C"' os.system(commandArg)  time.sleep(60)