Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

mechyai's profile - activity

2022-08-17 22:02:19 -0500 commented question Connecting Energyplus simulation with OpenAI Gym Environment through Python API

This function https://github.com/mechyai/RL-EmsPy/blob/01984a9bc37f35991073e17cf715687896d6ea8d/emspy/emspy.py#L505-L614

2022-08-17 22:01:19 -0500 commented question Connecting Energyplus simulation with OpenAI Gym Environment through Python API

I had trouble with this too, but never took the time to try and figure it out - I'm not sure it's possible since you hav

2022-03-14 17:18:52 -0500 commented answer Error: 'float' object has no attribute 'apply'

@Aaron Boranian my EmsPy repo is in active development and sufficiently working, but I have 5-month backlog of commits b

2022-03-14 17:18:26 -0500 commented answer Error: 'float' object has no attribute 'apply'

@Aaron Boranian my EmsPy repo is in active development and sufficiently working, but I have 5-month backlog of commits b

2022-03-14 17:15:26 -0500 commented question Runtime API - multiple runs

Are you running these simulations in parallel? I am doing RL work too, one simulation at a time on my CPU. And I would

2022-03-14 17:10:14 -0500 answered a question Reinforcement Learning Workflow with EnergyPlus

For my own research, I have created a Python framework using the E+ EMS Python API to help manage creating a RL environe

2022-02-06 21:21:05 -0500 commented answer Error: 'float' object has no attribute 'apply'

@rraustad, thanks for the tip! I will look into this change

2022-02-06 21:19:37 -0500 commented answer Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

Maybe a list of more pricing data resources could be started in this thread. This is useful for important historical pri

2022-02-06 21:18:05 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 No problem! Good luck with the rest of your project

2022-02-04 14:08:41 -0500 marked best answer Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

Hello,

I am trying to do research for high-level HVAC control centered around time-of-use (ToU) or real-time energy pricing for indirect demand response. However, I cannot find any hypothetical or historical ToU data to use with my EnergyPlus model. I am hoping to use real-time or day-ahead pricing at a resolution of every hour to every 5 minutes - much finer than just on-peak & off-peak pricing blocks of the day.

Does anyone know where I can find ToU tarriff data?

However, it also seems pricing data would be highly correlated to weather data, so unless I can find ToU data paired with a weather file it will likely not be applicable to my research.

The only solution may be to generate my own arbitrary/hypothetical ToU pricing function based around my weather file of choice and other correlated and random factors (ie. summarize the day's weather and random factors to generate a daily pricing scheme). Any advice for this route?

I am using Python EMS for my EnergyPlus research, so I can be very flexible in how I implement and calculate energy tarriffs.

Thank you!

2022-02-04 14:08:39 -0500 commented answer Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

Maybe a list of more pricing data resources could be started in this thread.

2022-02-04 14:08:03 -0500 answered a question Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

I wanted to add to this: The OpenEI Utility Rate Database is helpful for finding real ToU blocks, ie. ratios of pricin

2022-02-04 12:44:30 -0500 commented answer Error: 'float' object has no attribute 'apply'

@Aaron Boranian my EmsPy repo is in active development and sufficiently working, but I have 5-month backlog of commits b

2022-02-04 11:20:59 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 That link from the similar question explains how the handle ID of actuators is a little off from the documentatio

2022-02-04 11:15:45 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 If you don't have an .edd output you can produce it by adding this debug statement to your IDF. See the "Field: E

2022-02-04 11:10:54 -0500 marked best answer Python EMS actuators

Hello,

I am familiarizing myself and playing around with the Python EMS API and using E+ as a library. I am comfortable with the workflow and API itself - I am using this for RL algorithms. I have successfully been able to play around with calling various sensor values using DataExchange and .rdd file with Output:Variable's.

However, I have been having trouble understanding how to implement actuators. Getting an actuator's handle is a bit more complicated. My .idf does not contain any EMS actuators so I am trying to define an arbitrary HVAC actuator object(s) myself, however, I do not understand how to do this well enough - I do not know how to find/implement the various required actuator fields (I have not found documentation explaining the 'syntax' of IDFs, it's still a bit ambiguous how the naming convention and fields work). Likewise, I am confused by the arguments required for getting an actuator's handle for the API: component type (category), control type (name), and actuator key (instance).

Any help would be appreciated.

2022-02-04 11:10:03 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 here is a link to a similar question I asked on this topic. First you need to see if what you are trying to actua

2022-02-03 21:57:29 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 Great. You need to use set_actuator_value function to change values for a given timestep / calling point. You inp

2022-02-01 21:15:10 -0500 marked best answer Daylight Saving Sync Issues with Schedule:File for Demand Response Data

Hello,

I am working on a demand response project involving merging historical real-time & day-ahead ERCOT electrical pricing data with my EnergyPlus simulation, using Schedule:Files. I am using EMS Python at runtime, so times across data must be synced.

I run into issues getting the data and simulation times to align during Daylight savings (DST), from March to November.

All my historical data accounts for DST(excluding an hour of data in March, and including an extra hour in November) and I want the building schedules (occupation, HVAC operation, etc.) of my model to follow DLS. But I am really stuck on how to figure this out.

I presume that EnergyPlus is in standard time local to my weather file location ([1] can someone confirm this?), and that schedules are supposedly shifted an hour for DST, not the time itself.

From investigation, comparing my simulation runtime outputs to my historical data, I have discovered that EnergyPlus with Daylight Savings (I am using RunPeriodControl:DaylightSavingsTime object)

  • (a) In March, E+ skips 1st hour of schedule data (including my Schedule:Files), thus REMOVING 1-hr of historical schedule data from my simulation
  • (b) In November, E+ doubles the last hour of schedule data, thus ADDING 1-hr of copied data to my simulation.
  • (c) both (a) & (c) ignore the timing conventions of 2am -> 3am for Spring Forward, and 2am -> 1am for Fall Backward.
  • (d) both (a) & (c) augment my historical data, which I cannot have

[2] What can I do to sync my historical data with E+, and how can I do this without losing data?

Help with question 1 & 2 would be greatly appreciated. Thanks

2022-01-31 19:53:25 -0500 commented answer Daylight Saving Sync Issues with Schedule:File for Demand Response Data

@shorowit, thank you! I hope they make it more usable, as it will improve the ability to integrate historical data. I n

2022-01-30 12:27:57 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 see @jmarrec great notebook at "Run EnergyPlus in API mode" to see examples of how to use E+ as a library/API

2022-01-30 12:25:10 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 using E+ as a library in Python with the EMS Python API should make sense once you understand how to pass callbac

2022-01-30 12:23:46 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92, also I believe if using Python as a plugin you have to bottle your ENTIRE Python workflow into the single plugin

2022-01-30 12:18:06 -0500 commented answer Changing schedule based on Artificial Neural Network using values from energy plus

@prp92 I am not sure as I have only used used EnergyPlus as a "library" with the Python EMS API, not Python as a plugin

2022-01-30 00:18:11 -0500 asked a question Daylight Saving Sync Issues with Schedule:File for Demand Response Data

Daylight Saving Sync Issues with Schedule:File for Demand Response Data Hello, I am working on a demand response projec

2022-01-30 00:18:04 -0500 asked a question Daylight Saving Sync Issues with Schedule:File for Demand Response Data

Daylight Saving Sync Issues with Schedule:File for Demand Response Data Hello, I am working on a demand response projec

2022-01-16 19:11:40 -0500 received badge  Teacher (source)
2022-01-16 19:08:17 -0500 marked best answer Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

Hello,

I am using EnergyPlus 9.5 as a library with Python EMS 0.2.

I am having a problem where if I have a meter set at a reporting frequency beyond my simulation timestep, say hourly or daily etc., whenever I read the meter during runtime with EMS I am only getting the current timestep's sum for that meter, not the reporting period accumulation.

This was discovered because I have a solar energy generation output variable and hourly meter at 10 min timesteps, and they both return the same timestep data during runtime. Even though, the meter data still outputs hourly cumulative results as expected once the simulation is complete.

Any help with this would be appreciated, thanks!

2022-01-16 19:08:11 -0500 edited answer Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

PV Meter vs. PV Variable - sampling the same values each timestep. Meter does not accumulate within its hour sampling pe

2022-01-16 19:06:29 -0500 answered a question Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

(PV Meter vs. PV Variable - sampling the same values each timestep. Meter does not accumulate within its hour sampling p

2022-01-16 19:05:07 -0500 commented question Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

Aaron, the pic is posted below. I don't think I can use trend variables as I am using E+ as a library, but I can just as

2022-01-16 18:54:51 -0500 answered a question Changing schedule based on Artificial Neural Network using values from energy plus

I would check out the new EMS Python API and see if it suits your needs. It provides the EMS feature of EnergyPlus with

2022-01-16 18:43:30 -0500 commented question OpenStudio has crushed!

what does the results tab show?

2022-01-11 19:58:18 -0500 edited question Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency Hello, I am using EnergyPlus 9.

2022-01-09 21:49:22 -0500 asked a question Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency

Meter's in EMS sampling as Output Variables, no accumulation within reporting frequency Hello, I am using EnergyPlus 9.

2022-01-07 22:03:51 -0500 commented question Hourly Custom Meter Error: No file found at file path

I've had the same problem, tried every type of path naming - nothing worked.

2021-11-15 23:00:33 -0500 edited question Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus Hello, I am trying to do research for hig

2021-10-26 21:50:30 -0500 asked a question Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus

Time-of-Use (ToU) Tarriff Data for Demand Response HVAC Control in EnergyPlus Hello, I am trying to do research for hig

2021-09-09 09:49:14 -0500 commented question Python Library for EnergyPlus Runtime Language (ERL)

@Debayan93 The Python EMS API is now available, https://energyplus.readthedocs.io/en/stable/api.html, version 0.2. I am

2021-08-30 12:05:59 -0500 answered a question How to make custom E+ SQL output for DView

A workaround I found for creating custom data for SQL output for DView is to use EMS and actuate an arbitrary Schedule:C

2021-08-22 22:55:45 -0500 commented answer EMS People Actuator not working

@bonnema based on some quick tests, I saw that the valid actuation range is [0,1], everything greater defaults to 1. Als

2021-08-22 17:40:08 -0500 marked best answer EMS People Actuator not working

I have tried various methods to control the people count in a zone with Python EMS API 0.2 and have not had any success. There are no E+ errors, but no control is exhibited. It still follows the 'Number of People Schedule Name' schedule field of the People object. (People object documentation in 1.14.1 Input Output Reference)

I am using the Small Office DOE Prototype building which was 5 zones total; 4 perimeter zone and 1 central core zone. I will quickly walk through the documentation and my process to explain.

Using the .edd file, I am able to look up the 'EnergyPlusSystem:Actuator' elements available for my model, as seen below. These were generated from the single default 'People' object in my IDF that includes all zones via the WHOLEBUILDING 'ZoneList' field that includes all zones.

image description

From the available people actuators above: "People" is the actuator name, "Number of People" is the control type, units are in people, and the unique identifier (ex: CORE_ZN ZN OFFICE WHOLEBUILDING - SM OFFICE PEOPLE) is the name of the people input object (People actuation documentation in 5.4.1 Application Guide for EMS).

Except, these people objects do not exist in my model, only the default whole building people object that generated these elements in the .edd does.

So, I went about creating another People object only for the CORE_ZN, just for testing. Thus, I removed the CORE_ZN from the WHOLEBUILDING People Object's 'ZoneList' and created a new People object just for the CORE_ZN, named the unique identifier given in the .edd - CORE_ZN ZN OFFICE WHOLEBUILDING - SM OFFICE PEOPLE.

image description

At this point, all required objects are created and linked together without any errors. However, EMS does NOT give me control and still follows the schedules in the 'People' object. I cannot get rid of any of these fields as they are all required.

Any ideas? Thanks