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

Revision history [back]

click to hide/show revision 1
initial version

CO2 sensors for natural ventilation

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 :)

Warm regards, Adarsh

CO2 sensors for natural ventilation

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 :)

Warm regards, Adarsh

CO2 sensors for natural ventilation

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