Git Product home page Git Product logo

FlexMeasures Logo Light FlexMeasures Logo Dark

License lint-and-test Pypi Version Code style: black Documentation Status Coverage CII Best Practices

FlexMeasures is an intelligent EMS (energy management system) to optimize behind-the-meter energy flexibility. Build your smart energy apps & services with FlexMeasures as backend for real-time orchestration!

In a nutshell, FlexMeasures turns data into optimized schedules for flexible assets like batteries and heat pumps, or for flexible industry processes:

The most simple view of FlexMeasures, turning data into schedules

Here is why using FlexMeasures is a great idea:

  • Developing energy flexibility apps & services (e.g. to enable demand response) is crucial, but expensive.
  • FlexMeasures reduces development costs with real-time data intelligence & integrations, uncertainty models and developer support such as API/UI and plugins.

High-level overview of FlexMeasures as an EMS for energy flexibility apps, using plugins to fit a given use case

So why optimise the schedules of flexible assets? Because planning ahead allows flexible assets to serve the whole system with their flexibility, e.g. by shifting energy consumption to other times. For the asset owners, this creates CO₂ savings but also monetary value (e.g. through self-consumption, dynamic tariffs and grid incentives). FlexMeasures thrives to be applicable in cases with multiple sources of value ("value stacking") and multiple types of assets (e.g. home/office/factory).

As possible users, we see energy service companies (ESCOs) who want to build real-time apps & services around energy flexibility for their customers, or medium/large industrials who are looking for support in their internal digital tooling. However, even small companies and hobby projects might find FlexMeasures useful!

How does FlexMeasures enable rapid development of energy flexibility apps?

FlexMeasures is designed to help with three basic needs of developers in the energy flexibility domain:

I need help with integrating real-time data and continuously computing new data

FlexMeasures is designed to make decisions based on data in an automated way. Data pipelining and dedicated machine learning tooling is crucial.

  • API/CLI functionality to read in time series data
  • Extensions for integrating 3rd party data, e.g. from ENTSO-E or OpenWeatherMap
  • Forecasting for the upcoming hours
  • Schedule optimization for flexible assets

It's hard to correctly model data with different sources, resolutions, horizons and even uncertainties

Much developer time is spent correcting data and treating it correctly, so that you know you are computing on the right knowledge.

FlexMeasures is built on the timely-beliefs framework, so we model this real-world aspect accurately:

  • Expected data properties are explicit (e.g. unit, time resolution)
  • Incoming data is converted to fitting unit and time resolution automatically
  • FlexMeasures also stores who thought that something happened (or that it will happen), and when they thought so
  • Uncertainty can be modelled (useful for forecasting)

I want to build new features quickly, not spend days solving basic problems

Building customer-facing apps & services is where developers make impact. We make their work easy.

  • FlexMeasures has well-documented API endpoints and CLI commands to interact with its model and data
  • You can extend it easily with your own logic by writing plugins
  • A backend UI shows you your assets in maps and your data in plots. There is also support for plots to be available per API, for integration in your own frontend
  • Multi-tenancy ― model multiple accounts on one server. Data is only seen/editable by authorized users in the right account

Getting started

Head over to our documentation, e.g. the getting started guide or the 5-minute tutorial. Or find more information on FlexMeasures.io.

See also Seita's Github profile, e.g. for FlexMeasures plugin examples.

Development & community

FlexMeasures was initiated by Seita BV in The Netherlands in order to make sure that smart backend software is available to all parties working with energy flexibility, no matter where they are working on their local energy transition.

We made FlexMeasures freely available under the Apache2.0 licence and it is now an incubation project at the Linux Energy Foundation.

Within the FlexMeasures project, we welcome contributions. You can also learn more about our governance.

You can connect with the community here on GitHub (e.g. by creating an issue), on the mailing list, on the FlexMeasures channel within the LF Energy Slack or by contacting the current maintainers.

FlexMeasures's Projects

.github icon .github

Description of the FlexMeasures organization

default icon default

The home of the default HACS repositories.

flexmeasures icon flexmeasures

The intelligent & developer-friendly EMS to support real-time energy flexibility apps, rapidly and scalable.

flexmeasures-client icon flexmeasures-client

The FlexMeasures Client provides a python package to connect to a FlexMeasures server to manage flexible assets.

tsc icon tsc

Technical Steering Committee resources for the FlexMeasures project

website icon website

Github pages content for flexmeasures.io

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.