Ejemplo n.º 1
0
 def __init__(self):
     building_zone_names_stub = xsg.get_building_zone_names_stub()
     self.supported_buildings = xsg.get_buildings(building_zone_names_stub)
     self.supported_zones = {}
     for bldg in self.supported_buildings:
         self.supported_zones[bldg] = xsg.get_zones(
             building_zone_names_stub, bldg)
Ejemplo n.º 2
0
    def __init__(self):
        """ Constructor.

        Note
        ----
        For pymortar, set the evironment variables - $MORTAR_API_USERNAME & $MORTAR_API_PASSWORD.

        For Mac,
        1. vi ~/.bash_profile
        2. Add at the end of file,
            1. export $MORTAR_API_USERNAME=username
            2. export $MORTAR_API_PASSWORD=password
        3. source ~/.bash_profile

        """

        # Pymortar client
        self.pymortar_client = pymortar.Client()

        # List of zones in building
        building_names_stub = xbos_services_getter.get_building_zone_names_stub(
        )
        self.supported_buildings = xbos_services_getter.get_buildings(
            building_names_stub)

        self.pymortar_objects = {
            'MEAN': pymortar.MEAN,
            'MAX': pymortar.MAX,
            'MIN': pymortar.MIN,
            'COUNT': pymortar.COUNT,
            'SUM': pymortar.SUM,
            'RAW': pymortar.RAW
        }
Ejemplo n.º 3
0
Archivo: server.py Proyecto: kuzha/XBOS
 def __init__(self):
     self.temperature_bands_stub = xsg.get_temperature_band_stub(TEMPERATURE_BANDS_HOST_ADDRESS)
     self.occupancy_stub = xsg.get_occupancy_stub(OCCUPANCY_HOST_ADDRESS)
     building_zone_names_stub = xsg.get_building_zone_names_stub(BUILDING_ZONE_NAMES_HOST_ADDRESS)
     self.supported_buildings = xsg.get_buildings(building_zone_names_stub)
     self.supported_zones = {}
     for bldg in self.supported_buildings:
         self.supported_zones[bldg] = xsg.get_zones(building_zone_names_stub, bldg)
Ejemplo n.º 4
0
    def __init__(self):
        """ Constructor - store class variables. """

        # Request parameters
        self.building = None
        self.event_day = None
        self.model_name = None

        # List of buildings
        building_names_stub = xbos_services_getter.get_building_zone_names_stub(
        )
        self.supported_buildings = xbos_services_getter.get_buildings(
            building_names_stub)
Ejemplo n.º 5
0
    def __init__(self):
        """ Constructor. """

        self.model_folder = 'models/'
        self.model_info = None          # json file data

        self.building_name = None
        self.window = None
        self.end_time = None
        self.map_zone_state = {}

        self.zones = None
        self.curr_time_rounded = None   # Current time rounded down to 'window' min
        self.start_time = None          # Start time of first of num_timesteps required for prediction

        # List of zones in building
        self.building_zone_names_stub = xbos_services_getter.get_building_zone_names_stub()
        self.supported_buildings = xbos_services_getter.get_buildings(self.building_zone_names_stub)
Ejemplo n.º 6
0
from __future__ import print_function

import grpc
import sys
import pandas as pd
from pathlib import Path
sys.path.append(str(Path.cwd().parent))
import unittest
import xbos_services_getter as xbos
sys.path.append(str(Path.cwd().parent.parent.parent.joinpath("test")))
import test_utils

stub = xbos.get_temperature_band_stub()
building_zone_names_stub = xbos.get_building_zone_names_stub()
buildings = xbos.get_buildings(building_zone_names_stub)
zones = xbos.get_all_buildings_zones(building_zone_names_stub)


class TestComfortbandData(unittest.TestCase):
    def __init__(self, test_name):
        super(TestComfortbandData, self).__init__(test_name)

    def get_response(self,
                     building="ciee",
                     zone="HVAC_Zone_Eastzone",
                     window="1h",
                     start=-1,
                     end=-1):
        try:
            if start == -1 or end == -1:
                start, end = test_utils.generate_random_time_interval()
Ejemplo n.º 7
0
    weather_stations_time_params = pymortar.TimeParams(
        start=rfc3339(start),
        end=rfc3339(end),
    )

    request = pymortar.FetchRequest(
        sites=[building],
        views=[
            weather_stations_view
        ],
        dataFrames=[
            weather_stations_stream
        ],
        time=weather_stations_time_params
    )

    df = outside_temperature_data = pymortar_client.fetch(request)['weather_stations']

    return df


#This query doesn't return any data for "hayward-station-1", but returns data for all other buildings
end = datetime.datetime.now().replace(tzinfo=pytz.utc) - datetime.timedelta(weeks=52)
start = end - datetime.timedelta(days=10)

for building in xbos.get_buildings(xbos.get_building_zone_names_stub()):
    #Looping through all buildings and getting response
    df = get_outside_temp_data(building)
    if df is None:
        print(building) #The only building that doesn't return data is "hayward-station-1"
    
Ejemplo n.º 8
0
                                    ))

    temperature_data = pymortar_client.fetch(request)

    print(temperature_data["temperature"])

    return temperature_data


def generate_yaml_file(file_path, data):
    with open(file_path, 'w') as outfile:
        yaml.dump(data, outfile)


building_stub = xbos.get_building_zone_names_stub()
buildings = xbos.get_buildings(building_stub)
zones = xbos.get_all_buildings_zones(building_stub)
no_data = {}
no_view = {}

for building in buildings:
    for zone in zones[building]:
        window = "1h"

        resp = get_indoor_temp_data(building=building,
                                    zone=zone,
                                    window=window)

        if resp is None:
            if building in no_data:
                no_data[building].append(zone)