Skip to content

Commit

Permalink
(v3.2.4) - Autobalance building observation space Update (#392)
Browse files Browse the repository at this point in the history
* Added action variables in observation space - autobalance building

* Updated Sinergym version from 3.2.3 to 3.2.4

* Improved step 2 in including new buildings documentation
  • Loading branch information
AlejandroCN7 authored Feb 26, 2024
1 parent d10a089 commit 62cf184
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
8 changes: 5 additions & 3 deletions docs/source/pages/environments.rst
Original file line number Diff line number Diff line change
Expand Up @@ -448,8 +448,10 @@ To add new buildings for use with *Sinergym*, follow these steps:
If you are using an *IDF* file with an older version, it is advisable to update it with **IDFVersionUpdater** and then convert
it to *epJSON* format using **ConvertInputFormat**. Both tools are accessible in the EnergyPlus installation folder.

2. **Adjusting building objects** like ``RunPeriod`` and ``SimulationControl`` to meet user needs,
as these elements define how interaction episodes will be in *Sinergym*.
2. **Adjust building objects** such as ``RunPeriod`` and ``SimulationControl`` to suit user needs in Sinergym.
We suggest setting ``run_simulation_for_sizing_periods`` to ``No`` in ``SimulationControl``. ``RunPeriod``
sets the episode length, which can be configured in the building file or Sinergym settings (see :ref:`runperiod`).
These modifications can be made in the *IDF* prior to step 1 or directly in the *epJSON* file.

3. We need to **identify the components** of the building that we want to observe and control, respectively. This is the most
challenging part of the process. Typically, the user is already familiar with the building and therefore knows the *name*
Expand All @@ -460,7 +462,7 @@ To add new buildings for use with *Sinergym*, follow these steps:
to identify the possible observable variables.

The challenge lies in knowing the names but not the possible *Keys* (EnergyPlus does not initially provide this information).
These names can be used to define the environment (see step 3). If the *Key* is incorrect, *Sinergym* will notify of the
These names can be used to define the environment (see step 4). If the *Key* is incorrect, *Sinergym* will notify of the
error and provide a file called **data_available.txt** in the output, since it has already connected with the EnergyPlus API. This file will
contain all the **controllable schedulers** for the actions and all the **observable variables**, this time with their respective *Keys*,
enabling the correct definition of the environment.
Expand Down
14 changes: 13 additions & 1 deletion sinergym/data/default_configuration/autobalance_model.json
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,14 @@
"SecondFloor:Bedroom02_floor_0_0_0",
"SecondFloor:Bedroom03_floor_0_0_0"]
},
"Zone Radiant HVAC Operation Mode" : {
"variable_names" : "radiant_availavility",
"keys" : ["FirstFloor:LivingRoom radiant surface",
"FirstFloor:Kitchen radiant surface",
"SecondFloor:Bedroom01 radiant surface",
"SecondFloor:Bedroom02 radiant surface",
"SecondFloor:Bedroom03 radiant surface"]
},
"Boiler NaturalGas Rate" : {
"variable_names" : "boiler_rate",
"keys" : "Boiler"
Expand All @@ -166,6 +174,10 @@
"variable_names" : "boiler_load_ratio",
"keys" : "Boiler"
},
"Boiler Outlet Temperature" : {
"variable_names" : "boiler_temperature",
"keys" : "Boiler"
},
"Facility Total HVAC Electricity Demand Rate" : {
"variable_names" : "HVAC_electricity_demand_rate",
"keys" : "Whole Building"
Expand Down Expand Up @@ -211,7 +223,7 @@

"action_space_discrete" : "gym.spaces.MultiDiscrete(nvec=np.array([2, 2, 2, 2, 2, 21]))",

"only_discrete": true,
"only_discrete": false,

"reward" : "LinearReward",

Expand Down
2 changes: 1 addition & 1 deletion sinergym/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2.3
3.2.4

0 comments on commit 62cf184

Please sign in to comment.