Welcome to eprllib’s documentation! — eprllib: use EnergyPlus as an environment for DRL control

Skip to main content
`Ctrl`+`K`

# Welcome to eprllib’s documentation!

The development of deep reinforcement learning (DRL) for optimal building control requires accurate models for correct learning of control policies for various devices.

eprllib has been developed to facilitate the implementation of DRL in models generated with EnergyPlus. For this purpose, RLlib is used as a framework for DRL.

## Key Features

- Integration of EnergyPlus and RLlib: This package facilitates setting up a Reinforcement Learning environment using EnergyPlus as the base, allowing for experimentation with energy control policies in buildings.

- Simplified Configuration: To use this environment, you simply need to provide a configuration in the form of a dictionary that includes state variables, metrics, actuators (which will also serve as agents in the environment), and other optional features.

- Flexibility and Compatibility: EnergyPlusRL easily integrates with RLlib, a popular framework for Reinforcement Learning, enabling smooth setup and training of control policies for actionable elements in buildings.

Contents:

- Overview
  - Installation
  - Usage
  - Example configuration
- Getting Started with eprllib
- Key Concepts
- EnergyPlus as an Environment for DRL
- Reward functions
- Action space and action functions
- Dinamic episode properties
- Conventional Agents
- User Guides
- Examples
- API Reference
  - eprllib.ActionFunctions
    - Action Functions
    - eprllib.ActionFunctions.ActionFunctions
    - eprllib.ActionFunctions.DualSetPointThermostat
  - eprllib.Agents
    - Agents
    - eprllib.Agents.AgentSpec
    - eprllib.Agents.ConventionalAgent
    - eprllib.Agents.OnOffAirConditionerControl
    - eprllib.Agents.WindowOpeningControl
    - eprllib.Agents.WindowShadeControl
  - eprllib.Env
    - Environments
    - eprllib.Env.EnvConfig
    - eprllib.Env.MultiAgent
  - eprllib.EpisodeFunctions
    - Episode Functions
    - eprllib.EpisodeFunctions.EpisodeFunctions
    - eprllib.EpisodeFunctions.GeneralBuilding
    - eprllib.EpisodeFunctions.RandomWeather
  - eprllib.PostProcess
    - Post Process Functions
    - eprllib.PostProcess.Conventional
    - eprllib.PostProcess.Evaluation
    - eprllib.PostProcess.Plots
  - eprllib.RewardFunctions
    - Reward Functions
    - eprllib.RewardFunctions.EnergyTemperature
    - eprllib.RewardFunctions.Nygard1990
    - eprllib.RewardFunctions.RewardFunctions
    - eprllib.RewardFunctions.henderson_2024