In times of rising energy prices and the danger of climate change we want to achieve that solar plant owners get the most out of their solar plant.Based on the weather forecast for the next days SolarScore predicts the solar plant's power output so that the owner can plan when to for example charge her/his electric vehicle and it is avoided that energy is not used directly.
At the moment our project only works with Windows as the operating system.
Not all packages that are part of our template environment exist on Mac in the same version.
Further, the deep learning model trained on Mac and saved as model.pkl
cannot be easily loaded on Windows.
Please clone this repository using "https://github.com/TechLabs-Dortmund/solar-score.git" onto your computer.
Make sure to install the python package manager Anaconda.
Now you can create a new environment from environment.yml
lying in the interface
folder as described here
Install node.js.
With the help of MapQuest the coordinates are requested for a specific adress.
Please register at their webpage and copy your personal API key in an .env
file to the interface.data
folder:
api_key = "<that_is_an_api_key>"
In order to setup the project, please proceed with the following steps.
Start a node command prompt and run the following commands from the interface.website
folder:
npm install
npm run build
npm install --save ag-grid-community ag-grid-react
If you get the error message: JavaScript Heap Out of Memory
please use the next command before retry
set NODE_OPTIONS=--max_old_space_size=4096
Delete the migrations
folder (interface/users) and db.sqlite3
(interface) in order to create new versions in the next step.
Run the following commands from the interface
folder:
python manage.py makemigrations
python manage.py makemigrations users
python manage.py migrate --run-syncdb
You can create a user with special permissions.
He/she will get default properties for address
and p_max
fields.
python manage.py createsuperuser
Always start the frontend first using the following command in the interface.website
directory.
npm start
Afterwards you can start the backend from the interface
folder as well.
python manage.py runserver
If the website behaves strange it is always a good idea to close the tab and restart the server or just copy in http://127.0.0.1:8000/
in your search line again.
Your current session will be remembered and you can try again without losing time.
Example for strange behaviour: Not Found: /powerchart
If the plot is not displayed, you can try to create and use a superuser:
python manage.py createsuperuser
The data entered here can be used as login for the website.
Sometimes the requested address can be the problem. Then the weather data contains NaN-Values. The address must have a format like:
Auf der Reihe 2, 45884 Gelsenkirchen,Germany
Our project includes the following features:
- SignUp - Create your own user profile. Enter your name, mailadress, location, the power of your solar plant, a username and a secure password (at least 8 characters including a special character)
- LogIn - Enter your user data (mail and password) to log in.
- Dashboard - Visit your dashboard and create your personal prediction by clicking the button. You will receive a plot and a table with hourly data for your solar plant.
- Logout - Finished? Click here to signout.
- Optimize model predictions by further learning
- Feedback loop for user data (Import)
- Export of forecast data
- @Katharina, Web Development Track
- @Niklas, Data Science Track
- @Inka, Data Science Track
- @Denise, Data Science Track
- @Marian, Deep Learning Track