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

Revision history [back]

If you want to have the same temperatures set by hour, and the day of the year is not important, then you can set the Through: input field of the Schedule:Compact objects to the end of the year (see below).

Schedule:Compact,
  Heating Setpoint,
  Any Number,
  Through: 12/31,
  For: Alldays,
  Until: 7:00, 17.00,
  Until: 23:00, 20.00,
  Until: 24:00, 17.00;

This way, all days the whole year will follow the same schedule values -- you don't need to define them individually if they follow the same schedule value trends. The same idea also applies to your EMS programs -- if you only need to override setpoints based on hour of the day, then you don't need to include DayOfYear in your EMS program logic (see below).

EnergyManagementSystem:Program,
  RHuescaCfaCATIII2018OUTCTEACSTProg,
  <ForAllOccupiedZones>
  IF (CurrentTime < 7),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 27,
  ELSEIF (CurrentTime < 15),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 50,
  ELSEIF (CurrentTime < 23),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 25,
  ELSEIF (CurrentTime < 24),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 27,
  ENDIF;

If you want to have thermostat control based on operative temperature, I would make sure that you have DesignBuilder's calculation options set correctly for Temperature control. If you are using Simple HVAC then you only set a normal and setback temperature value for thermostats in the Activity tab-- a schedule is only used for the operation of HVAC equipment. For Detailed HVAC, you would select heating/cooling thermostat setpoint schedules for a zone in the HVAC diagram interface. If this all is set correctly, then I would double-check that EMS is overriding the same schedule name that you assigned to the heating/cooling thermostats in the zones.

Side question: If you're only overriding schedule values based on time, and not zone air temperatures or other items that EnergyPlus is calculating each timestep, then I don't think you need EMS at all -- you just need schedules. Unless I'm missing something here ...

If you want to have the same temperatures set by hour, and the day of the year is not important, then you can set the Through: input field of the Schedule:Compact objects to the end of the year (see below).

Schedule:Compact,
  Heating Setpoint,
  Any Number,
  Through: 12/31,
  For: Alldays,
  Until: 7:00, 17.00,
  Until: 23:00, 20.00,
  Until: 24:00, 17.00;

This way, all days the whole year will follow the same schedule values -- you don't need to define them individually if they follow the same schedule value trends. The same idea also applies to your EMS programs -- if you only need to override setpoints based on hour of the day, then you don't need to include DayOfYear in your EMS program logic (see below).

EnergyManagementSystem:Program,
  RHuescaCfaCATIII2018OUTCTEACSTProg,
  <ForAllOccupiedZones>
  IF (CurrentTime < 7),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 27,
  ELSEIF (CurrentTime < 15),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 50,
  ELSEIF (CurrentTime < 23),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 25,
  ELSEIF (CurrentTime < 24),
   Set R_Huesca_Cfa_CATIII_2018_OUT_CTE_<LoopZoneVariableName>_FORSCRIPT_ACST = 27,
  ENDIF;

If you want to have thermostat control based on operative temperature, I would make sure that you have DesignBuilder's calculation options set correctly for Temperature control. If you are using Simple HVAC then you only set a normal and setback temperature value for thermostats in the Activity tab-- a schedule is only used for the operation of HVAC equipment. For Detailed HVAC, you would select heating/cooling thermostat setpoint schedules for a zone in the HVAC diagram interface. If this all is set correctly, then I would double-check that EMS is overriding the same schedule name that you assigned to the heating/cooling thermostats in the zones.

Side question: If you're only overriding schedule values based on time, and not zone air temperatures or other items that EnergyPlus is calculating each timestep, then I don't think you need EMS at all -- you just need schedules. Unless I'm missing something here ...

UPDATE FOLLOWING COMMENT BELOW

If you want to update a schedule every day in DesignBuilder, and are limited by the number of lines you can define in its Schedule:Compact window, then you may want to examine defining this schedule in a CSV file. EnergyPlus can load external files to use as schedules through the Schedule:File object. While DesignBuilder cannot currently load full IDFs, it can load include "partial IDFs" to combine with the DesignBuilder model. So, if here is the process that I would recommend trying:

  1. Create the Schedule:File object in a partial IDF that reads in the external CSV file defining schedule values. The partial IDF needs to be saved in C:\Users\[Your Name]\AppData\Local\DesignBuilder\EnergyPlus, and the external CSV file likely needs to be in the same folder as well.
  2. Include that partial IDF into the DesignBuilder model
  3. Assign any schedule name to the thermostats in the DesignBuilder model (let's say T_stat_schedule, for example)
  4. Use EMS to read the Schedule:File values from the external CSV as a sensor
  5. Use EMS to use the schedule value actuator to reset the current thermostat schedule value (T_stat_schedule) to the Schedule:File value read by the EMS sensor