Revision history  [back]

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

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

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