def runTest(self): print "Virtual.runTest>" db = Database("baclog", 5432) db.getObjects() av1 = db.instance[(9001, 2, 0)] ## hard coded AV1 print av1 db.enablePoints([av1]) t = db.now() db.scheduleObject(av1, t + 1, 30, 10) db.close()
def runTest(self): print "Virtual.runTest>" db=Database("baclog",5432) db.getObjects() av1=db.instance[(9001,2,0)] ## hard coded AV1 print av1 db.enablePoints([av1]) t=db.now() db.scheduleObject(av1, t+1 , 30, 10) db.close()
def runPughHall(self): print "Experiment.runPughHall>" ## main objects db = Database() objects = db.getObjects() building = buildings.PughHall() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled rooms = objects.getTag('room', ['104', '105']) print rooms db.enablePoints(rooms) ## Schedule object. # t=db.now() # db.scheduleObject(o20, t+1 , 2, 1) # db.scheduleObject(o20, t+4 , 1, 1) # db.scheduleObject(o20, t+7 , 1, 1) # db.scheduleObject(o20, t+6 , 3, 1) # # db.scheduleObject(o21, t+2 , 5, 1) db.close()
def runTest(self): print "Experiment.runTest>" ## main objects db = Database() objects = db.getObjects() building = buildings.Test() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled o19 = objects.getTag('point', 19).single() o20 = objects.getTag('point', 20).single() o21 = objects.getTag('point', 21).single() test = [o19, o20, o21] db.enablePoints(test) ## Schedule object. t = db.now() # db.scheduleObject(o19, t+1, 3, 51) # db.scheduleObject(o20, t+1 , 2, 1) # db.scheduleObject(o20, t+4 , 1, 1) # db.scheduleObject(o20, t+7 , 1, 1) # db.scheduleObject(o20, t+6 , 3, 1) # db.scheduleObject(o21, t + 1, 10, 1) db.scheduleObject(o21, t + 3, 5, None) db.close()
def runPughHall(self): print "Experiment.runPughHall>" ## main objects db=Database() objects=db.getObjects() building=buildings.PughHall() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled rooms=objects.getTag('room',['104','105']) print rooms db.enablePoints(rooms) ## Schedule object. # t=db.now() # db.scheduleObject(o20, t+1 , 2, 1) # db.scheduleObject(o20, t+4 , 1, 1) # db.scheduleObject(o20, t+7 , 1, 1) # db.scheduleObject(o20, t+6 , 3, 1) # # db.scheduleObject(o21, t+2 , 5, 1) db.close()
def runTest(self): print "Experiment.runTest>" ## main objects db=Database() objects=db.getObjects() building=buildings.Test() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled o19=objects.getTag('point',19).single() o20=objects.getTag('point',20).single() o21=objects.getTag('point',21).single() test=[o19,o20,o21] db.enablePoints(test) ## Schedule object. t=db.now() # db.scheduleObject(o19, t+1, 3, 51) # db.scheduleObject(o20, t+1 , 2, 1) # db.scheduleObject(o20, t+4 , 1, 1) # db.scheduleObject(o20, t+7 , 1, 1) # db.scheduleObject(o20, t+6 , 3, 1) # db.scheduleObject(o21, t+1 , 10, 1) db.scheduleObject(o21, t+3 , 5, None) db.close()
def run(self): print "Tag.run>" ## main objects db=Database(database='mtim',port=5432) ## Series 1 for d in [1,2,3,4]: objects=db.getObjects(where="Devices.deviceID=%s" % d) building=buildings.PughHall() building.tag(objects) building.check(objects) ## Setup Metadata db.writeTags(objects) building.points(objects) db.writePoints(objects) ## Series 2 for d in [5,6,7,8]: objects=db.getObjects(where="Devices.deviceID=%s" % d) building=buildings.PughHall() building.tag(objects) building.check(objects) ## Setup Metadata db.writeTags(objects) ## Join on nn db.execute("DELETE FROM PointObjectMap") db.execute( """ INSERT INTO PointObjectMap (pointID,objectID,name) SELECT Points.pointID,Objects.objectID,Points.value FROM Objects JOIN Tags ON (Objects.objectID=Tags.objectID AND tag='nn') JOIN Points ON (Tags.value=Points.value AND Points.tag='nn') """ ) db.close()
def run(self): print "Tag.run>" ## main objects db = Database(database='mtim', port=5432) ## Series 1 for d in [1, 2, 3, 4]: objects = db.getObjects(where="Devices.deviceID=%s" % d) building = buildings.PughHall() building.tag(objects) building.check(objects) ## Setup Metadata db.writeTags(objects) building.points(objects) db.writePoints(objects) ## Series 2 for d in [5, 6, 7, 8]: objects = db.getObjects(where="Devices.deviceID=%s" % d) building = buildings.PughHall() building.tag(objects) building.check(objects) ## Setup Metadata db.writeTags(objects) ## Join on nn db.execute("DELETE FROM PointObjectMap") db.execute(""" INSERT INTO PointObjectMap (pointID,objectID,name) SELECT Points.pointID,Objects.objectID,Points.value FROM Objects JOIN Tags ON (Objects.objectID=Tags.objectID AND tag='nn') JOIN Points ON (Tags.value=Points.value AND Points.tag='nn') """) db.close()
def enablePughHall(self): print "Experiment.enablePughHall>" ## main objects db = Database() objects = db.getObjects() building = buildings.PughHall() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled rooms = objects.getTag('room', ['104', '105']) print rooms db.enablePoints(rooms) db.close()
def enablePughHall(self): print "Experiment.enablePughHall>" ## main objects db=Database() objects=db.getObjects() building=buildings.PughHall() building.tag(objects) #building.check(objects) ## Identify tags and set watch to enabled rooms=objects.getTag('room',['104','105']) print rooms db.enablePoints(rooms) db.close()
def run(self): print "Analysis.run>" ## main objects db=Database() graph=Graph() ## populate meta information #devices=data.getDevices() objects=db.getObjects() building=buildings.PughHall() building.tag(objects) #building.check(objects) ## Compute streams data=Data('data') vav={} ahu={} total={} plot=Plot("plot") ## Connections source=Connection('source') # data connection dest={} ## VAV connections output=Connection("output") ## Connect source.addIn(data) ## Build network ahus=[1,3] for ah in ahus: zone=objects.getTag('zone',ah) ## All zone objects (VAV and AHU) data.addOut(zone) vavs=zone.getValues('vav') total[ah]=Total("total%d" % ah,vavs) dest[ah]=Connection("dest%d" % ah) dest[ah].addOut(total[ah]) ## zone totalizer a=AHU("ahu%d" % ah, ah,objects.getTag('ahu',ah)) ahu[ah]=a source.addOut(a) for v in vavs: zv=VAV(('zone%d-VAV%s') % (ah,v), zone.getTag('vav',v), objects.getTag('ahu',ah)) ## Zone stream vav[v]=zv source.addOut(zv) dest[ah].addIn(zv) ## Per ahu plots output.addIn(total[ah]) ## add trace points output.addIn(ahu[1]) output.addIn(vav[114]) ## connect plot (last) output.addOut(plot) if trace: print "Analysis.run>", repr(source) print "Analysis.run>", repr(dest) print "Analysis.run>", repr(total) print "Analysis.run>", repr(plot) ## Process DataStream #limit="WHERE time >= '2011-09-27 20:00' AND time <= '2011-09-27 23:00'" #limit="WHERE time >= '2011-09-27 20:00' AND time <= '2011-09-28 07:00'" #limit="WHERE time >= '2011-09-27' AND time <= '2011-09-29'" limit=None ## Debug monitor=InstanceList() #monitor.add(objects.getTags({'descriptor':'SAIR-TE'})) #monitor.add(objects.getTags({'descriptor':'RAIR-H'})) #monitor=monitor.getTag('ahu',1) #monitor.add(objects.getTags({'vav':114,'descriptor':'CTL TEMP'})) #monitor.add(objects.getTags({'vav':114,'descriptor':'FLOW'})) monitor.add(objects.getTags({'vav':114,'descriptor':'HTG LOOPOUT'})) #monitor.add(objects.getTags({'vav':114})) ## Stream compute i=0; for time,device,otype,oinstance,value in db.getData(limit): v=Value(db.getInstance(device,otype,oinstance),value,time,0) ## Build value data.send(v) ## input data ## Debug if v.var in monitor: print "DATA:", time, v if i%100000==0: print "TICK:", i,time i+=1 ## Plot #limit=None #limit=['total1-qsum','total3-qsum'] limit=['sat','sa'] graph.add(plot,limit) graph.run()