Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Documentation Dependency Status Code Climate Coverage Status License Switch Language

What is ecoControl?

ecoControl is a prototype that demonstrates how heterogeneous energy systems can be optimized in residential buildings. For this reason, ecoControl provides basic settings, a unifying programming interface as well as suitable forecasts. It makes it possible to develop and execute optimization algorithms which can be based on those forecasts. ecoControl currently supports the following energy systems: cogeneration units, peak load boilers and heat storages. Since it is released under the MIT license, it can easily be extended to support more energy systems by anyone who can write Python code.

Getting Started

ecoControl Autoinstaller for Debian / Ubuntu

If you are running Debian 7.6 or Ubuntu 14.04, you can execute the following line in your terminal. This will run the autoinstaller which will install all requirements and ecoControl automatically. The user must have sudo rights, but should not be root.

$ curl -sL | bash

How to Manually Install

Install pip, npm and bower:

$ sudo apt-get update
$ sudo apt-get install python-pip npm
$ sudo npm install -g bower

Install PostgreSQL 9.3 or later:

$ sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

If this command fails, you may want to check how PostgreSQL can be installed on your system.

Download and unzip ecoControl:

$ wget -O
$ unzip
$ cd ecoControl-master/

Install all Python dependencies and download all Javascript dependencies:

$ pip install -r requirements.txt
$ bower install

Set up database and tables for ecoControl:

$ sudo -u postgres psql -c "CREATE ROLE ecocontrol LOGIN PASSWORD 'sec-i';"
$ sudo -u postgres createdb --owner=ecocontrol ecocontrol
$ python syncdb

You should change the default password 'sec-i' for security purposes. Don't forget to also change the password in the file.

Start a lightweight development web server on the local machine:

$ python runserver

Open http://localhost:8000/ in your browser and start ecoControl.

If you want to deploy ecoControl and use it in production, please read the development section in the documentation.


A documentation is available at:

Join the Community

If you are interested in supporting this project, feel free to join the Smart Energy Control Initiative.


ecoControl was developed by Eva-Maria Herbst, Fabian Maschler, Fabio Niephaus, Max Reimann and Julia Steier during a bachelor's project at Hasso Plattner Institute in Potsdam. They were supported by Carsten Witt as well as by Tim Felgentreff, Jens Lincke and Marcel Taeumel from the Software Architecture Group led by Prof. Hirschfeld.


ecoControl is open-source and licensed under the MIT license.


ecoControl optimizes the use of heterogeneous energy systems in residential buildings.







No packages published