Optim Shine is a tool designed to optimize energy storage systems (ESS) for efficient energy management using the FelicitySolar Shine API. It retrieves weather data and energy prices to define an optimization strategy.
In the base strategy, each day the tool:
- Checks the weather.
- Judge if optimization is needed based on cloud level for plant location.
- Gets RCE energy prices.
- Sets charging strategy for energy storage systems.
- Clone the project
git clone git@github.com:Asiderr/optimshine.git
cd optimshine- Create a python virtual environment
python -m venv venv- Activate the virtual environment
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Create your own
.envconfiguration file based on tests/.testenv file.
- Required Variables:
- SHINE_USER: The username for accessing the SHINE system.
- SHINE_PASSWORD: The password for the SHINE user.
- Optional Variables:
- SHINE_PLANT: The plant identifier for the SHINE system. Not required if you have only one plant.
Use following command to run the program
python -m optimshine.optim_shineYou can also create your own linux service based on the following example: examples/optim-shine.service.example.
To test the project use a unittest module
python -m unittest discover
You can test single module using following command
python -m unittest -v tests.test_api_weather
To check test coverage use
coverage run --source=optimshine -m unittest discover
This project is licensed under the GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later).
You are free to use, modify, and redistribute this software under the terms of the license. See the COPYING file or visit https://www.gnu.org/licenses/lgpl-3.0.html for full details.