An energy management system (EMS) is a dedicated computer that can be programmed to control all of a building’s energy-related systems, including heating, cooling, ventilation, hot water, interior lighting, exterior lighting, on-site power generation, and mechanized systems for shading devices, window actuators, and double facade elements. Recently a new module for simulating an EMS was added to the EnergyPlus whole-building energy simulation program. An essential part of the EMS module is the EnergyPlus Runtime Language (ERL), which is a simple programming language that is used to specify the EMS control algorithms. The new EMS controls and the flexibility of ERL allow EnergyPlus to simulate many novel control strategies that are not possible with the previous generation of building energy simulation programs. This paper surveys the standard controls in EnergyPlus, presents the new EMS features, describes the implementation of the module, and explores some of the possible applications for the new EMS capabilities in EnergyPlus.