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

Controlling energy use for heating/cooling by local production

asked 2022-05-09 05:35:34 -0500

Carlos Santos's avatar

In the case of a simulation in OpenStudio of a dwelling with local PV electricity production, is there a way to define the use of the HVAC system, not only by a set of temperatures, but also by the local electricity production? For example, during noon (where PV production is higher), in the winter, using the HVAC to a higher setpoint temperature in order to "save" some energy in the buildings thermal mass and increase PV self consumption.

Any help on this issue would be much appreciated.

(Note: I have thought of using Thermostat Schedules and, for the example that I gave, simply increase the set temperature for noon time in the winter, but one flaw of this method is the risk of putting the set point temperature high in days where PV production is lower (for example, cloudy days), thus using grid elecricity to warm the house and failing to increase PV self consumption, which is one of the main objectives)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-05-09 10:14:25 -0500

There are two basic solutions:

  1. Pre-process the weather file to identify the periods of high solar resource and appropriate time of day (sun angle), then use this information to create the HVAC setpoint schedule.

  2. Use the EnergyPlus Energy Management System (EMS) scripting language, i.e., an EMS program to adjust the HVAC setpoint schedule on the fly. For example, you could use an EMS sensor on the Generator Produced DC Electricity Energy and then use an EMS actuator to adjust the Schedule Value of your HVAC setpoint schedule. Note that depending on the EMS Calling Point of your program and what you are trying to actuate, there may be a 1-timestep lag between sensing the PV production and changing the HVAC setpoint. Note that the documentation has examples of different EMS applications, like this one for computing a setpoint schedule based on hour of day and day of week.

edit flag offensive delete link more



I recommend option 2. Similarly you can also use Python EMS, which we've found to be pretty straight forward (assuming you know Python). If you don't know Python, then the EMS language is fairly straight forward especially if you follow one of the examples. You can also write EMS in OpenStudio Measures if you wish to keep everything in the OpenStudio universe.

There are some examples of EMS-based OS Measures here .

Craig Simmons's avatar Craig Simmons  ( 2022-05-11 04:51:24 -0500 )edit

I do see the value in going foward with option 2, but since I have very little experience in programming (I use OpenStudio Application), do you think I can get to said objective only by following the examples in the documentation? Do you have any tips for a person in my situtation (like first getting familiar with the E+ text editor or just going straight at it and trying to adapt an existing example to my case)? Thank you very much for your answers.

Carlos Santos's avatar Carlos Santos  ( 2022-05-11 06:58:23 -0500 )edit

If you are primarily an OpenStudio user then I don't think there is a lot of reason to use the E+ text editor. The E+ text (IDF file) and the OS text (OSM file) are similar enough that using a robust generic text editor (Notepad++, Visual Studio Code) will be more efficient. I think focusing on learning to use EMS would be more directly applicable and the combination of EnergyPlus example files (that come with the standalone EnergyPlus installation) and Measures in the link I provided are a good starting point. Also learning to alter existing OS Measures is a useful skill.

Craig Simmons's avatar Craig Simmons  ( 2022-05-11 11:02:35 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Question Tools

1 follower


Asked: 2022-05-09 05:35:34 -0500

Seen: 77 times

Last updated: May 13