Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

EnergyPlus Agent

This agent allows a user to run building model simulations with EnergyPlus and to send/receive messages back and forth between VOLTTRON and the simulated building. For more information about EnergyPlus, please refer to https://www.energyplus.net/sites/default/files/docs/site_v8.4.0/GettingStarted/GettingStarted/index.html. Technical documentation about the simulation framework can be found at https://volttron.readthedocs.io/en/develop/developing-volttron/integrating-simulations/index.html

EnergyPlus installation

For installing setup in Ubuntu based systems,

  1. Install java JDK package

    sudo apt update
    sudo apt install default-jdk
    
  2. Download and install EnergyPlus (ver 8.4.0)

    wget https://github.com/NatLabRockies/EnergyPlus/releases/download/v8.4.0-Update1/EnergyPlus-8.4.0-09f5359d8a-Linux-x86_64.sh
    chmod +x EnergyPlus-8.4.0-09f5359d8a-Linux-x86_64.sh
    sudo ./EnergyPlus-8.4.0-09f5359d8a-Linux-x86_64.sh 
    
  3. You can verify the installation with.

    energyplus --version
    
  4. You should see an output with a version number of 8.4.0

    EnergyPlus, Version 8.4.0-c87e61b44b
    

EnergyPlus Agent Configuration

Simulating a building with the EnergyPlus Agent requires three files:

  • Energy Plus Input Data File (IDF): an ASCII file containing the data describing the building and HVAC system to be simulated.
  • Energy Plus Weather File (EPW): a standardized container for TMY (typical meteorological year) weather data.
  • A configuration file that defines the available points from the IDF and maps these to VOLTTRON topics.

The EnergyPlus agent can be run with any IDF file, so long as it is compatible with the installed version of EnergyPlus. Using a different EPW file allows the building to be simulated in a new location.

Several models, from the DOE Prototype Building Models are included in the agent with pre-defined configurations. These models may be used by specifying the name of the model in an abreviated configuration file:

{
    "cosimulation_advance": "applications/ilc/advance",
    "properties": {
      "model": "small_office",
      "size": 40960,
      "startmonth": 7,
      "startday": 3,
      "endmonth": 8,
      "endday": 31,
      "timestep": 60,
      "cosimulation_sync": false,
      "real_time_periodic": false,
      "co_sim_timestep": 5,
      "real_time_flag": false,
      "base_topic": "Campus/SMALL_OFFICE"
    }
}

The following model names are included:

  • building1
  • large_office
  • medium_office
  • small_office
  • warehouse

Other IDF files may be utilized by specifying the path to IDF file in the agent configuration's "model" key in place of a short name. It should be noted, however, that building a configuration file for the IDF may require good knowledge of Energy Plus as the agent configuration file will need to additionally inputs and outputs dictionaries. Examples of complete configuration files includeing input and output dictionaries can be found in the models directory of source of this package. For instance: Building1 Config.

  1. Install volttron-energyplus package. The VIP identity can mimic that of the platform driver (as shown below) or can be a unique identity for the agent. Importantly, though agents which interact with it must use the same VIP identity. If a real platform driver is not used on this platform, it is recommended to use the "platform.driver" identity as this avoids needing to modify other agents which are designed to interact with a real driver.

    vctl install volttron-energyplus --vip-identity platform.driver --tag eplus
    
  2. Store the configuration file in the VOLTTRON configuration store:

    vctl config store platform.actuator volttron-energyplus/ep_building1.yml volttron-energyplus/ep_building1.yml
    
  3. Start the agent:

    vctl start --tag eplus
    

Development

Please see the following for contributing guidelines contributing.

Please see the following helpful guide about developing modular VOLTTRON agents

Metadata

Release files for volttron-energyplus 2.0.0rc0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for volttron-energyplus 2.0.0rc0
File Size Uploaded
volttron_energyplus-2.0.0rc0.tar.gz 435.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for volttron-energyplus 2.0.0rc0
File Interpreter ABI Platform
volttron_energyplus-2.0.0rc0-py3-none-any.whl Python 3 none any Details

Total release size: 895.5 kB

Release files / volttron_energyplus-2.0.0rc0.tar.gz

Download URL volttron_energyplus-2.0.0rc0.tar.gz
Size 435.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c3e46a3aebe0caa6ae7d10c339d53fc2096adfbf63491e95ef6dd964168a1c44
BLAKE2b-256 checksum
How to use checksums
516a3825cd4730581a89319b2f1daf38a6805ca12ef150230cea94760105cdf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.10.21 Linux/6.8.0-1064-azure

Release files / volttron_energyplus-2.0.0rc0-py3-none-any.whl

Download URL volttron_energyplus-2.0.0rc0-py3-none-any.whl
Size 460.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae16d2b7921396203e7465f572e8c500c24d8999942f827fcc208aaf847fbba0
BLAKE2b-256 checksum
How to use checksums
718d78a511a840bb149311153b0b599779e26e9bc0f25e01d2788a958ac1a81a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.10.21 Linux/6.8.0-1064-azure

Release history Release notifications | RSS feed

This release

2.0.0rc0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page