This repository holds the code for the work-in-progress Paper FIWARE-based Architecture for Smart Local Energy Communities published at the ISIE 2023 conference. Please notice that the implementation is considered as work-in-progress and is not stable or ready for production.
The docker directory holds all relevant files to build, run, and configure the containerized infrastructure. The implementation of the co-simulation scenarios can be found in the src folder.
To get started using running this project you need a couple of tools:
After installing both tools, run the following command to set up your Python environment:
just installThen, select one of the four simulation scenario by changing the src/scenario.py file.
There are four possible scenarios:
WITH_OPTI_NO_EM: With the optimizer enabled and no Smart Meter dataNO_OPTI_NO_EM: With the optimizer disabled and with Smart Meter dataWITH_OPTI_WITH_EM: With the optimizer enabled and no Smart Meter dataNO_OPTI_WITH_EM: With the optimizer disabled and Smart Meter data
Finally to run the simulation run the following just command:
just simIf the simulation was successful, the results are stored in src/graphs
There are three main simulator deployed:
- Photovoltaic Simulator: this simulator us pvlib
- Warm Water Tank Simulator: this is a simplified model of a Warm Water Tank and very much work-in-progress
- Usage Profiles: the warm water and electricity demands have been simulated with the LoadProfileGenerator
As this project uses FIWARE as IoT Platform, it is straight forward to integrate a time series data base such as CrateDB.
The pluming to this is already implemented in this project.
The best way to start is by following the official FIWARE Tutorial.
An example Grafana Dashboard can be found in docker/grafana-dashboard.json.