Skip to content

Energy Management System (EMS)

12 object types from idfpy.models.ems · EnergyPlus 26.2

Object Summary
EnergyManagementSystem:Actuator Hardware portion of EMS used to set up actuators in the model
EnergyManagementSystem:ConstructionIndexVariable Declares EMS variable that identifies a construction
EnergyManagementSystem:CurveOrTableIndexVariable Declares EMS variable that identifies a curve or table
EnergyManagementSystem:GlobalVariable Declares Erl variable as having global scope No spaces allowed in names used for Erl variables
EnergyManagementSystem:InternalVariable Declares EMS variable as an internal data variable
EnergyManagementSystem:MeteredOutputVariable This object sets up an EnergyPlus output variable from an Erl variable
EnergyManagementSystem:OutputVariable This object sets up an EnergyPlus output variable from an Erl variable
EnergyManagementSystem:Program This input defines an Erl program Each field after the name is a line of EMS Runtime Language
EnergyManagementSystem:ProgramCallingManager Input EMS program.
EnergyManagementSystem:Sensor Declares EMS variable as a sensor a list of output variables and meters that can be reported are available …
EnergyManagementSystem:Subroutine This input defines an Erl program subroutine Each field after the name is a line of EMS Runtime Language
EnergyManagementSystem:TrendVariable This object sets up an EMS trend variable from an Erl variable A trend variable logs values across timesteps

EnergyManagementSystem:Actuator

from idfpy.models import EnergyManagementSystemActuator

Hardware portion of EMS used to set up actuators in the model

Field Type Default Details
name
Name required
string This name becomes a variable for use in Erl programs no spaces or other special characters (minus, plus, slashes, etc) allowed in name
actuated_component_unique_name
Actuated Component Unique Name required
string
actuated_component_type
Actuated Component Type required
string
actuated_component_control_type
Actuated Component Control Type required
string

EnergyManagementSystem:ConstructionIndexVariable

from idfpy.models import EnergyManagementSystemConstructionIndexVariable

Declares EMS variable that identifies a construction

Field Type Default Details
name
Name required
string This name becomes a variable for use in Erl programs no spaces allowed in name
construction_object_name
Construction Object Name required
reference Names a Construction, Construction:AirBoundary, Construction:CfactorUndergroundWall, Construction:FfactorGroundFloor, Construction:WindowDataFile, Construction:WindowEquivalentLayer

EnergyManagementSystem:CurveOrTableIndexVariable

from idfpy.models import EnergyManagementSystemCurveOrTableIndexVariable

Declares EMS variable that identifies a curve or table

Field Type Default Details
name
Name required
string This name becomes a variable for use in Erl programs no spaces allowed in name
curve_or_table_object_name
Curve or Table Object Name required
reference Names a Curve:Bicubic, Curve:Biquadratic, Curve:ChillerPartLoadWithLift, Curve:Cubic, Curve:CubicLinear, Curve:DoubleExponentialDecay, Curve:Exponent, Curve:ExponentialDecay, Curve:ExponentialSkewNormal, Curve:FanPressureRise, Curve:Functional:PressureDrop, Curve:Linear and 10 more

EnergyManagementSystem:GlobalVariable

from idfpy.models import EnergyManagementSystemGlobalVariable extensible

Declares Erl variable as having global scope No spaces allowed in names used for Erl variables

Field Type Default Details
variables list Each item: erl_variable_name

EnergyManagementSystem:InternalVariable

from idfpy.models import EnergyManagementSystemInternalVariable

Declares EMS variable as an internal data variable

Field Type Default Details
name
Name required
string This name becomes a variable for use in Erl programs no spaces allowed in name
internal_data_index_key_name
Internal Data Index Key Name
string
internal_data_type
Internal Data Type required
string

EnergyManagementSystem:MeteredOutputVariable

from idfpy.models import EnergyManagementSystemMeteredOutputVariable

This object sets up an EnergyPlus output variable from an Erl variable

Field Type Default Details
name
Name required
string
ems_variable_name
EMS Variable Name required
string must be an acceptable EMS variable, no spaces
update_frequency
Update Frequency required
choice One of SystemTimestep, ZoneTimestep
ems_program_or_subroutine_name
EMS Program or Subroutine Name
string optional for global scope variables, required for local scope variables
resource_type
Resource Type required
choice choose the type of fuel, water, electricity, pollution or heat rate that should be metered.
One of Coal, CondensateWaterCollected, Diesel, DistrictCooling, DistrictHeatingSteam, DistrictHeatingWater, Electricity, ElectricityProducedOnSite, EnergyTransfer, FuelOilNo1, FuelOilNo2, Gasoline, MainsWaterSupply, NaturalGas, OnSiteWaterProduced, OtherFuel1, OtherFuel2, Propane, RainWaterCollected, SolarAirHeating, SolarWaterHeating, WaterUse, WellWaterDrawn
group_type
Group Type required
choice choose a general classification, building (internal services), HVAC (air systems), or plant (hydronic systems), or system
One of Building, HVAC, Plant, System
end_use_category
End-Use Category required
choice choose how the metered output should be classified for end-use category
One of Baseboard, Boilers, Chillers, Cooling, CoolingCoils, ExteriorEquipment, ExteriorLights, Fans, HeatRecovery, HeatRecoveryForCooling, HeatRecoveryForHeating, HeatRejection, Heating, HeatingCoils, Humidifier, InteriorEquipment, InteriorLights, OnSiteGeneration, Pumps, Refrigeration, WaterSystems
end_use_subcategory
End-Use Subcategory
string Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table. enter a user-defined subcategory for this metered output
units
Units
string optional but will result in dimensionless units for blank EnergyPlus units are standard SI units

EnergyManagementSystem:OutputVariable

from idfpy.models import EnergyManagementSystemOutputVariable

This object sets up an EnergyPlus output variable from an Erl variable

Field Type Default Details
name
Name required
string
ems_variable_name
EMS Variable Name required
string must be an acceptable EMS variable
type_of_data_in_variable
Type of Data in Variable required
choice One of Averaged, Summed
update_frequency
Update Frequency required
choice One of SystemTimestep, ZoneTimestep
ems_program_or_subroutine_name
EMS Program or Subroutine Name
string optional for global scope variables, required for local scope variables
units
Units
string optional but will result in dimensionless units for blank EnergyPlus units are standard SI units

EnergyManagementSystem:Program

from idfpy.models import EnergyManagementSystemProgram extensible

This input defines an Erl program Each field after the name is a line of EMS Runtime Language

Field Type Default Details
name
Name required
string no spaces allowed in name
lines required list Each item: program_line
Referenced by 1 object types

EnergyManagementSystem:ProgramCallingManager

EnergyManagementSystem:ProgramCallingManager

from idfpy.models import EnergyManagementSystemProgramCallingManager extensible

Input EMS program. a program needs a name a description of when it should be called and then lines of program code for EMS Runtime language

Field Type Default Details
name
Name required
string no spaces allowed in name
energyplus_model_calling_point
EnergyPlus Model Calling Point
choice One of AfterComponentInputReadIn, AfterNewEnvironmentWarmUpIsComplete, AfterPredictorAfterHVACManagers, AfterPredictorBeforeHVACManagers, BeginNewEnvironment, BeginTimestepBeforePredictor, BeginZoneTimestepAfterInitHeatBalance, BeginZoneTimestepBeforeInitHeatBalance, BeginZoneTimestepBeforeSetCurrentWeather, EndOfSystemSizing, EndOfSystemTimestepAfterHVACReporting, EndOfSystemTimestepBeforeHVACReporting, EndOfZoneSizing, EndOfZoneTimestepAfterZoneReporting, EndOfZoneTimestepBeforeZoneReporting, InsideHVACSystemIterationLoop, UnitarySystemSizing, UserDefinedComponentModel
programs list Each item: program_name
Referenced by 5 object types

AirTerminal:SingleDuct:UserDefined, Coil:UserDefined, PlantComponent:UserDefined, PlantEquipmentOperation:UserDefined, ZoneHVAC:ForcedAir:UserDefined

EnergyManagementSystem:Sensor

from idfpy.models import EnergyManagementSystemSensor

Declares EMS variable as a sensor a list of output variables and meters that can be reported are available after a run on the report (.rdd) or meter dictionary file (.mdd) if the Output:VariableDictionary has been requested.

Field Type Default Details
name
Name required
string This name becomes a variable for use in Erl programs no spaces allowed in name
output_variable_or_output_meter_index_key_name
Output:Variable or Output:Meter Index Key Name
string
output_variable_or_output_meter_name
Output:Variable or Output:Meter Name required
string

EnergyManagementSystem:Subroutine

from idfpy.models import EnergyManagementSystemSubroutine extensible

This input defines an Erl program subroutine Each field after the name is a line of EMS Runtime Language

Field Type Default Details
name
Name required
string no spaces allowed in name
lines list Each item: program_line
Referenced by 1 object types

EnergyManagementSystem:ProgramCallingManager

EnergyManagementSystem:TrendVariable

from idfpy.models import EnergyManagementSystemTrendVariable

This object sets up an EMS trend variable from an Erl variable A trend variable logs values across timesteps

Field Type Default Details
name
Name required
string no spaces allowed in name
ems_variable_name
EMS Variable Name required
string must be a global scope EMS variable
number_of_timesteps_to_be_logged
Number of Timesteps to be Logged required
integer Range: ≥ 1