def start(self):

		buildingsManager = BuildingsManager()

		days = []
		startDate = datetime.strptime(self.startDate, '%Y-%m-%d')
		for i in range(0, self.numberOfDays):
			days.append( (startDate + timedelta(days=i)).strftime("%Y-%m-%d"))


		for room in buildingsManager.getRooms(self.buildingName)["rooms"]:

			roomName = room["roomName"]

			if self.roomFilter:
				if not roomName in self.roomFilter:
					continue

			simulationResult = {}
			for day in days:

				roomSimulator = RoomSimulator(buildingName = self.buildingName, roomName = roomName, currentDate = day)
				simulationResult[day] = roomSimulator.start()

			if not os.path.exists("tools/simulation/results/"): os.makedirs("tools/simulation/results/")
			out_file = open("tools/simulation/results/" + roomName + ".json","w")
			out_file.write(json.dumps(simulationResult, separators=(',', ':')))
			out_file.close()
Exemple #2
0
def roomSimulation(username=None, buildingName=None, roomName=None):
    if request.method == "POST":

        sessionKey = validateInput(request.form["sessionKey"])
        userUuid = validateInput(request.form["userUuid"])
        occupancyTimeRangeFrom = validateInput(request.form["occupancyTimeRangeFrom"])
        occupancyTimeRangeTo = validateInput(request.form["occupancyTimeRangeTo"])
        roomTemperature = validateInput(request.form["roomTemperature"])
        externalTemperature = validateInput(request.form["externalTemperature"])
        weather = validateInput(request.form["weather"])

        try:
            session = SessionManager()
            session.checkSessionValidity(sessionKey, userUuid)
            buildingsManager = BuildingsManager()
            buildingsManager.checkUserBinding(buildingName, username)
            roomSimulator = RoomSimulator(
                buildingName=buildingName,
                roomName=roomName,
                occupancyTimeRangeFrom=occupancyTimeRangeFrom,
                occupancyTimeRangeTo=occupancyTimeRangeTo,
                roomTemperature=roomTemperature,
                externalTemperature=externalTemperature,
                weather=weather,
            )

            return returnResult(roomSimulator.start())
        except Exception as e:
            return returnError(e)
Exemple #3
0
	def test4(self):
		from app.backend.controller.roomSimulator import RoomSimulator		

		roomSimulator = RoomSimulator(occupancyTimeRangeFrom = "4:00AM", occupancyTimeRangeTo = "6:00PM", buildingName = "CSE", roomName = "3208", roomTemperature = "78F", externalTemperature = "75F", weather = "Sunny")
		roomSimulator.start()