View code on Github


Table of Contents

What does FlexMeasures do?

FlexMeasures is an energy management system (EMS), but a specialized one. You can see it as a data-driven decision-support system for energy flexibility.
The question FlexMeasures helps to solves is: What are the best times to run my flexible assets? For instance, when to (dis)charge my EV batteries? When should we run our heat pumps to warm up the office?
Here is the simple version ― sensor data goes in, optimized schedules come out:

Why do you do this?

See this mission statement (from the original creators): We have to go green. Flexible demand has to be matched with green energy. Open innovation can get us to the speed we need for the global transition.

How does FlexMeasures add value?

In the end, energy flexibility is about saving energy costs and CO₂. This is why we do this in the first place.
Taking a more closer look, we believe that lowering the cost of software development can help a big deal. More organisations will be willing to make use of energy flexibility, if the initial costs of such smart systems are low enough. And software development (not even the machine learning parts) makes up a bigger part of the costs than people realize.
We want developers to love building novel apps and services with FlexMeasures, and for them to focus on the context-specific dimensions: The configuration of how they want FlexMeasures to optimize outcomes, and how this gets presented to users/operators.
Let's take a closer look at FlexMeasures' three core value drivers:

1. Real-time data intelligence and integration, with advice for the rest of the day. For example, forecasts and schedules are made available via API.
2. Energy sensor and environment data have multiple sources and their forecasts are uncertain. FlexMeasures uses the timely-beliefs library to model this well.
3. Developer support ― building customer-facing apps & services is where energy flexibility hits the road. FlexMeasures reduces developer workload with a well-documented API, data visualization and multi-tenancy, and it supports plugins to customize and extend the platform to your needs.
Here is a more complete picture of how FlexMeasures fits into an advanced and configurable data-schedules loop:

Why is FlexMeasures open source, and why is it part of the Linux Energy Foundation?

We saw two reasons to open source the code of FlexMeasures:

  1. Nowadays, open source is a great fit for the speed of innovation which we need, and also the spread of innovation. The energy transition has to go blazingly fast, everywhere. These days, open source projects are often able to innovate faster than closed source counterparts (once they've picked up momentum).
  2. From our many years of experience in designing smart energy solutions, we've come to realize that energy solutions often have multiple stakeholders (e.g. asset owner, user, network operator, energy service company). The transparency offered by open source, and the lack of lock-in, makes collaboration easier and agreements faster.

The Linux Energy Foundation is a great place for the FlexMeasures project to be part of the growing community of people who understand the above source 

How do I use FlexMeasures / get started?

We make FlexMeasures, so that developers are as productive with energy optimization as possible. As we are developers ourselves, we know that it takes a couple smaller steps to engage with new technology.

Your journey, from dipping your toes in the water towards being a happy FlexMeasures power user, could look like this:

  1. Quickstart ― Find an optimized schedule for your flexible asset, like a battery, with standard FlexMeasures tooling. This is basically what the from-scratch tutorial above does. All you need are 10 minutes and a CSV file with prices to optimise against.

  2. Automate ― get the prices from an open API, for instance ENTSO-E (using a plugin like flexmeasures-entsoe), and run the scheduler regularly in a cron job.

  3. Integrate ― Load the schedules via FlexMeasures’ API, so you can directly control your assets and/or show them within your own front-end.

  4. Customize ― Load other data (e.g. your solar production or weather forecasts via flexmeasures-openweathermap. Adapt the algorithms, e.g. do your own forecasting or tweak the standard scheduling algorithm so it optimizes what you care about. Or write a plugin for accessing a new kind of market. The opportunities are endless!


Can you give some real-world examples where FlexMeasures is used today?

FlexMeasures is being used in a few industry projects (water sanitation, sludge burning), where we for instance help to run centrifuges to run during the greenest hours of the day.

It is also used in projects with smaller assets, around the smart home setting (a vehicle-to-grid living lab and battery optimization). Here, FlexMeasures helps to buy cheap, and sell at high prices, for an optimal financial result.

Much work currently goes into the integration of heat pumps.

Of course, we might be missing some use cases. We'd love to hear from you.

How can FlexMeasures become a puzzle piece in large-scale solutions?

The "data-driven" part is where we start! From our experience, data pipelines and dashboarding around energy-consuming assets now often exists.

FlexMeasures works well as the single EMS, but also as an added smart back-end. Integrating the data often means to feed only the relevant parts to FlexMeasures (only relevant sensors, only the resolution needed for decision-making in schedules, e.g. 5 minutes).

Once the right algorithms are connected, FlexMeasures provides optimized schedules via API. Its UI also shows sensor data and schedules and provides the ability for users/operators to annotate them.

The schedules an thus be integrated into larger solutions, into user-facing apps etc. Just as the context requires.