import dataclient m = dataclient.MDALClient("corbusier.cs.berkeley.edu:8088") def get_max_temp_day(start_day, end_day, site, agg='MAX', offset=0): request = { "Variables": { "weather": { "Definition": """SELECT ?t ?t_uuid FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Weather_Temperature_Sensor . ?t bf:uuid ?t_uuid };""" % site, } } } request['Composition'] = ['weather'] request['Aggregation'] = {'weather': [agg]} request['Time'] = { 'Start': start_day, 'End': end_day, 'Window': '24h', 'Aligned': True } esp_weather = m.query(request) df = esp_weather.df mean = df.mean(axis=1) sorted_days = mean.sort_values(ascending=False) print(offset) return sorted_days.index[offset]
def get_weather_power_tstat(self, site, start, end, data_type=['weather', 'power']): """ Get weather and power data. Parameters ---------- site : str Site name. start : str Start date. end : str End date. data_type : str Type of data needed (all, weather, power, temperature, hsp, csp) """ m = dataclient.MDALClient("corbusier.cs.berkeley.edu:8088") request = { "Variables": { "greenbutton": { "Definition": """SELECT ?meter ?meter_uuid FROM %s WHERE { ?meter rdf:type brick:Green_Button_Meter . ?meter bf:uuid ?meter_uuid };""" % site, }, "weather": { "Definition": """SELECT ?t ?t_uuid FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Weather_Temperature_Sensor . ?t bf:uuid ?t_uuid };""" % site, }, "tstat_state": { "Definition": """SELECT ?t ?t_uuid ?tstat FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Thermostat_Status . ?t bf:uuid ?t_uuid ?t bf:isPointOf ?tstat . ?tstat rdf:type brick:Thermostat };""" % site, }, "tstat_hsp": { "Definition": """SELECT ?t ?t_uuid ?tstat FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Supply_Air_Temperature_Heating_Setpoint . ?t bf:uuid ?t_uuid . ?t bf:isPointOf ?tstat . ?tstat rdf:type brick:Thermostat };""" % site, }, "tstat_csp": { "Definition": """SELECT ?t ?t_uuid ?tstat FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Supply_Air_Temperature_Cooling_Setpoint . ?t bf:uuid ?t_uuid . ?t bf:isPointOf ?tstat . ?tstat rdf:type brick:Thermostat };""" % site, }, "tstat_temp": { "Definition": """SELECT ?t ?t_uuid ?tstat FROM %s WHERE { ?t rdf:type/rdfs:subClassOf* brick:Temperature_Sensor . ?t bf:uuid ?t_uuid . ?t bf:isPointOf ?tstat . ?tstat rdf:type brick:Thermostat };""" % site, }, }, } # outside air temp request['Composition'] = ['weather'] request['Aggregation'] = {'weather': ['MEAN']} request['Time'] = { 'Start': start, 'End': end, 'Window': '15m', 'Aligned': True } resp_weather = m.query(request) self.weather_data = resp_weather.df # power request['Composition'] = ['greenbutton'] request['Aggregation'] = {'greenbutton': ['MEAN']} resp_power = m.query(request) self.power_data = resp_power.df # tstat temperature request['Composition'] = ['tstat_temp', 'tstat_hsp', 'tstat_csp'] request['Aggregation'] = {'tstat_temp': ['MEAN']} resp_temp = m.query(request) self.temp_data = resp_temp # tstat heat setpoint request['Composition'] = ['tstat_hsp'] request['Aggregation'] = {'tstat_hsp': ['MAX']} resp_hsp = m.query(request) self.hsp_data = resp_hsp # tstat cool setpoint request['Composition'] = ['tstat_csp'] request['Aggregation'] = {'tstat_csp': ['MAX']} resp_csp = m.query(request) self.csp_data = resp_csp mapping = { 'weather': resp_weather, 'power': resp_power, 'temperature': resp_temp, 'hsp': resp_hsp, 'csp': resp_csp } first = True for dat in data_type: if first: try: self.data = mapping[dat].df first = False except: raise SystemError( 'Undefined data_type (Make sure all characters are lowercase)' ) else: try: self.data = self.data.join(mapping[dat].df) except: raise SystemError( 'Undefined data_type (Make sure all characters are lowercase)' ) return mapping
def __init__(self): import dataclient self.m = dataclient.MDALClient("corbusier.cs.berkeley.edu:8088")
def __init__(self): """ Constructor. """ import dataclient self.m = dataclient.MDALClient("corbusier.cs.berkeley.edu:8088")