Files
Stream_PHX_A7/Gateways/FE/projects/.resources/8c716f7dace99fea3bd9a29494b43f858c3e52767cea01295f62948ccee8d592

76 lines
2.7 KiB
Plaintext

from datetime import datetime
udtInstPath = "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01"
def getMeasurementPaths():
return ["%s/Outside Air Dewpoint"%udtInstPath,
"%s/Outside Air Temperature"%udtInstPath,
"%s/Outside Air Humidity"%udtInstPath]
def getRawDataMeasurement(startDate, endDate, customArgs= {}):
tagpaths = getMeasurementPaths()
hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={})
return hist
def getRawChillerDemand(startDate, endDate, location, customArgs= {}):
tagpaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getChillerTonnage(), location)
tagpaths.sort()
hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={})
return hist
def calculateValues(data):
"""
Calculate the Daily Average of each sensor's measurement
"""
data = system.dataset.toPyDataSet(data)
curHeaders = system.dataset.getColumnHeaders(data)
res = {"ResultTemp":None, "ResultHumidity":None}
dailyGroup= {}
allResultData = {}
allResultDS = {}
allAvgs = []
for row in data:
dayStr = system.date.format(row["t_stamp"],"yyyy-MM-dd")
dailyGroup.setdefault(dayStr, {})
dailyGroup[dayStr].setdefault("OATemp", [])
dailyGroup[dayStr].setdefault("OADew", [])
dailyGroup[dayStr].setdefault("OAHum", [])
dailyGroup[dayStr]["OADew"].append(row[curHeaders[1]])
dailyGroup[dayStr]["OATemp"].append(row[curHeaders[2]])
dailyGroup[dayStr]["OAHum"].append(row[curHeaders[3]])
sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d'))
temperatureRows= []
humidityRows= []
for date_str in sortedDateKeys:
try:
dpAvg = sum(dailyGroup[date_str]["OADew"])/len(dailyGroup[date_str]["OADew"])
tempAvg = sum(dailyGroup[date_str]["OATemp"])/len(dailyGroup[date_str]["OATemp"])
humAvg = sum(dailyGroup[date_str]["OAHum"])/len(dailyGroup[date_str]["OAHum"])
except:
dpAvg = 0
tempAvg = 0
humAvg = 0
temperatureRows.append([system.date.parse(date_str, "yyyy-MM-dd"), dpAvg, tempAvg])
humidityRows.append([system.date.parse(date_str, "yyyy-MM-dd"), humAvg])
res["ResultTemp"] = system.dataset.toDataSet(["Date","Dewpoint","Temperature"], temperatureRows)
res["ResultHumidity"] = system.dataset.toDataSet(["Date","Humidity"], humidityRows)
return res
def DoAll(startDate,endDate):
return calculateValues(getRawDataMeasurement(startDate,endDate))
def DoChillerDemand(startDate, endDate, interval= 60, locations=None):
histDS = reports.MBR.cooling.getRawChillerDemand(startDate, endDate, locations, customArgs= {})
histDS = reports.MBR.common.util.averageIntervalData(histDS, interval)
histDS = reports.MBR.common.util.generateSumCol(histDS, sumColName="Sum Tonnage")
return {"histDS":histDS}