DEMKit, short for Decentralized Energy Management toolKit, is the software tool developed at the University of Twente for research on smart grid technologies. It is our "Swiss army knife" of choice to tackle the challenges that the transition to renewable energy brings to our energy supply chain. The focus of our research is on decentralized management of multi-energy energy systems (electricity, heat, hydrogen, etc.) using a model predictive control system. By doing so in a decentralized fashion, the control systems are able to optimize local energy usage towards autarky and thereby reducing the stress on the energy distribution networks.

DEMKit provices a cyber-physical systems oriented framework in which abstract device models and optimization algorithms are provided to support innovative smart and sustainable energy solutions. Simultaneously, DEMKit also provides a platform in which these solutions can be tested through extensive simulations, hardware-in-the-loop simulations, and eventually real world deployment in demonstration projects. To acomplish this, DEMKit has a strong focus on system integration for multi-energy systems. DEMKit is written in Python to speed-up the prototyping process and allow researchers with various backgrounds to join our efforts in developing energy management systems of the future.

Cyber-physical systems approach

Core to the architecture of DEMKit is the modular and cyber-physical systems design paradigm. All system components are modelled individually, whether they represent devices, infrastructure or pieces of code. These components interact and influence each other through predefined interfaces for the different classes. Furthermore, abstraction is used to provide elementary components that form a solid base to model new energy systems and their acompanying control and optimization strategies. E.g. a buffer model can be used as battery, heat store or hydrogen tank, whilst the same controller can be used through the use of abstract interfaces. The abstract device models allow us to create and optimize the control of energy systems with, amongst others, the following devices:

Cyber-Physical model of a scenarion in DEMKit.

Multiple control and optimization algorithms

For each of the abstract device classes, different control and optimization components exist. A full reference implementation of Profile Steering, which embraces the TRIANA methodology, is available to perform model predictive control for multi-energy systems. But alternatives, such as robust valley filling approaches or double-sided auctions, are also available. The modular approach of DEMKit allows researchers to easily add new control mechanisms and compare the performance of these by swapping physical or cyber components within a scenario (a composition of different devices).

Scalable simulations

The various configuration options allow for discrete time simulations in various time granularities and levels of logging the results. All details of a single house can be efficiently simulated in discrete steps of seconds, with valuable information of each single aspect. On the other hand, a high level optimized energy profiles for a complete year, in fifteen minute intervals, can be obtained for a small neighbourhood within a couple of hours. By exploiting parallelism and communication among processes or computers, DEMKit is also able to optimize the operations of a small village of over 10,000 houses. The integration of input data generated with the open-source Artifical Load Profile Generator allows for convenient generation of realistic use cases.

Example of simulation results in Grafana.

Streamlined demonstration

Another important aspect of DEMKit is the focus on using the same software for both simulation and demonstration using real hardware. By replacing models with drivers that connect to the real devices, hardware-in-the-loop co-simulation can be performed with DEMKit. By replacing all device models by drivers, a complete demonstrator can be ran, where results can be fed back into simulation studies. This way, most of the codebase is directly re-usable, resulting in a seamless development process from concept to real world testing. Succesful examples are a fruitful demonstration of smart charging together with Dutch DSO Coteq, DEMKit powering our smart demonstration house, and a live setup in a smart house with a virtual battery.  

User interface in a pilot site.

Open source

Through the last years we experienced the value of bringing researchers from various backgrounds together to solve the challenges that lay ahead of us. Therefore, DEMKit is available free of charge under the Apache Licence, version 2.0. The code can be cloned from

More information and projects

More technical details on DEMKit can be found in the following PhD thesis: G. Hoogsteen (2017). A Cyber-Physical Systems Perspective on Decentralized Energy Management.

DEMKit is currently used in the following projects:

DEMKit has been used before in the following projects: