Skip to content

TechLabs-Ruhr/solar-score

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SolarScore

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.

Requirements

OS

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.

Source

Please clone this repository using "https://github.com/TechLabs-Dortmund/solar-score.git" onto your computer.

Python

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

Node.js

Install node.js.

MapQuest API-key

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>"

How to Setup

In order to setup the project, please proceed with the following steps.

Frontend (3000)

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

Backend (8000)

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

How to Run

Frontend

Always start the frontend first using the following command in the interface.website directory.

  npm start

Backend

Afterwards you can start the backend from the interface folder as well.

  python manage.py runserver

Troubleshooting

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

Examples / Functions

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.

Roadmap

  • Optimize model predictions by further learning
  • Feedback loop for user data (Import)
  • Export of forecast data

Authors

About

This project was realized during winterterm 2021/2022

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published