Hey everyone,
I've been using Honeybee to validate my model for the EUI and thermal comfort. I had to validate the model for adaptive thermal comfort with natural ventilation run using CO2 sensors. I realised the best way to do that would be using the EMS.
I've come across a few discussions talking about the same issue along with some executed EMS codes. I believe I would need to use the IDF editor to run this code. I'm new to EMS, could someone direct me to a detailed explanation of how to use this?
As I need to set up sensors for multiple zones, I'm very confused about how to go about it.
I would appreciate any help I could get :)
Update 01:
I was able to figure out the EMS script for CO2 sensor control. As I am writing the script using IDF editor, I don't have the option to loop all the windows together leading me to include all the windows in the script.
Here is where the problem arises.
I encounter errors when I try to run the _idf file on honeybee. Invalid names for Actuators as below. This is only a small part of the error.
* Severe ** Invalid Actuated Component Control Type =NATVENT OPENING EFFECTIVENESS
** ~~~ ** Entered in EnergyManagementSystem:Actuator=OPENFACTOR03
** ~~~ ** Control Type not found
** ~~~ ** Use Output:EnergyManagementSystem object to create .edd file for valid component control types.
** Severe ** Invalid Actuated Component Type =ZONEVENTILATION:WINDANDSTACKOPENAREA
** ~~~ ** Entered in EnergyManagementSystem:Actuator=OPENFACTOR04
** ~~~ ** Component Type not found
** ~~~ ** Use Output:EnergyManagementSystem object to create .edd file for valid component types.
** Severe ** Invalid Actuated Component Unique Name =WINDOW_3_8434952D_OPENING
** ~~~ ** Entered in EnergyManagementSystem:Actuator=OPENFACTOR04
** ~~~ ** Component Unique key name not found
** ~~~ ** Use Output:EnergyManagementSystem object to create .edd file for valid component names.
** Severe ** Invalid Actuated Component Control Type =NATVENT OPENING EFFECTIVENESS
** ~~~ ** Entered in EnergyManagementSystem:Actuator=OPENFACTOR04
** ~~~ ** Control Type not found
** ~~~ ** Use Output:EnergyManagementSystem object to create .edd file for valid component control types.
** Severe ** Invalid Actuated Component Type =ZONEVENTILATION:WINDANDSTACKOPENAREA
** ~~~ ** Entered in EnergyManagementSystem:Actuator=OPENFACTOR05
** ~~~ ** Component Type not found
Below is the script that I'm using for the CO2 sensors.
!-
=========== ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:SENSOR ===========
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor01, !- Name
AtticBedroom-cutout_86b9b809, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor02, !- Name
AtticBedroom_70ce5c16, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor03, !- Name
FirstfloorBathroom_a771ece1, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor04, !- Name
FirstfloorFoyer_9660626f,!- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor05, !- Name
FirstfloorlivingandKitchen_dbab5ab2, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor06, !- Name
SecondFloorBalcony_ecf1a222, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor07, !- Name
SecondFloorBedroom_294a0009, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor08, !- Name
SecondFloorLiving_f9420f55, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Sensor,
EMS_CO2_Sensor09, !- Name
SecondFloorStudy_3a2a22ad, !- Output:Variable or Output:Meter Index Key Name
Zone Air CO2 Concentration; !- Output:Variable or Output:Meter Name
!- =========== ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:ACTUATOR ===========
EnergyManagementSystem:Actuator,
OpenFactor01, !- Name
Window_4_41d06319_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor02, !- Name
Window_8_2ef770f0_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor03, !- Name
Window_9_55eee64c_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor04, !- Name
Window_3_8434952d_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor05, !- Name
Window_2_0e3f0653_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor06, !- Name
Window_1_001eb33a_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor07, !- Name
Window_6_82509380_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor08, !- Name
Window_7_04f3642d_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor09, !- Name
Window_5_08bd986a_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor10, !- Name
Window_11_5d1d3891_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
EnergyManagementSystem:Actuator,
OpenFactor11, !- Name
Window_10_e72cd52b_Opening, !- Actuated Component Unique Name
ZoneVentilation:WindandStackOpenArea, !- Actuated Component Type
NatVent Opening Effectiveness; !- Actuated Component Control Type
!- =========== ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:PROGRAMCALLINGMANAGER ===========
EnergyManagementSystem:ProgramCallingManager,
CO2 Control01, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor01; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control02, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor02; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control03, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor03; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control04, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor04; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control05, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor05; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control06, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor06; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control07, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor07; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control08, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor08; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control09, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor09; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control10, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor10; !- Program Name 1
EnergyManagementSystem:ProgramCallingManager,
CO2 Control11, !- Name
BeginTimestepBeforePredictor, !- EnergyPlus Model Calling Point
CO2_Sensor11; !- Program Name 1
!- =========== ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:PROGRAM ===========
EnergyManagementSystem:Program,
CO2_Sensor01, !- Name
IF EMS_CO2_Sensor02 > 800, !- Program Line 1
SET OpenFactor01 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor01 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor02, !- Name
IF EMS_CO2_Sensor01 > 800, !- Program Line 1
SET OpenFactor02 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor02 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor03, !- Name
IF EMS_CO2_Sensor03 > 800, !- Program Line 1
SET OpenFactor03 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor03 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor04, !- Name
IF EMS_CO2_Sensor04 > 800, !- Program Line 1
SET OpenFactor04 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor04 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor05, !- Name
IF EMS_CO2_Sensor05 > 800, !- Program Line 1
SET OpenFactor05 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor05 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor06, !- Name
IF EMS_CO2_Sensor05 > 800, !- Program Line 1
SET OpenFactor06 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor06 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor07, !- Name
IF EMS_CO2_Sensor05 > 800, !- Program Line 1
SET OpenFactor07 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor07 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor08, !- Name
IF EMS_CO2_Sensor06 > 800, !- Program Line 1
SET OpenFactor08 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor08 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor09, !- Name
IF EMS_CO2_Sensor07 > 800, !- Program Line 1
SET OpenFactor09 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor09 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor10, !- Name
IF EMS_CO2_Sensor08 > 800, !- Program Line 1
SET OpenFactor10 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor10 = 0.0, !- A5
ENDIF ; !- A6
EnergyManagementSystem:Program,
CO2_Sensor11, !- Name
IF EMS_CO2_Sensor09 > 800, !- Program Line 1
SET OpenFactor11 = 1.0, !- Program Line 2
ELSE, !- A4
SET OpenFactor11 = 0.0, !- A5
ENDIF ; !- A6
As I'm new to using EMS codes, I'm unsure what Actuator control type I would need to use in this case as I don't have an AirflowNetwork in the script.
I would appreciate it if anyone could help me out with this.
Warm regards,
Adarsh