* Add json config * Adjust code to new config --------- Co-authored-by: Chris <git@nootch.de>
2.2 KiB
% SPDX-License-Identifier: Apache-2.0
Getting Started
Installation
Good installation guide: https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/
The project requires Python 3.10 or newer.
Quick Start Guide
On Linux (Ubuntu/Debian):
sudo apt install make
On MacOS (requires Homebrew):
brew install make
The server can then be started with make run. A full overview of the main shortcuts is given by make help.
Detailed Instructions
All necessary dependencies can be installed via pip. Clone the repository and install the required packages with:
git clone https://github.com/Akkudoktor-EOS/EOS
cd EOS
Next, create a virtual environment. This serves to store the Python dependencies, which we will install later using pip:
virtualenv .venv
Finally, install the Python dependencies for EOS:
.venv/bin/pip install -r requirements.txt
To always use the Python version from the virtual environment, you should activate it before working in EOS:
source .venv/bin/activate
(for Bash users, the default under Linux) or
. .venv/bin/activate
Usage
Configuration
This project uses a config.json file to manage configuration settings.
Default Configuration
A default configuration file default.config.json is provided. This file contains all the necessary configuration keys with their default values.
Custom Configuration
Users can specify a custom configuration directory by setting the environment variable EOS_DIR.
- If the directory specified by
EOS_DIRcontains an existingconfig.jsonfile, the application will use this configuration file. - If the
config.jsonfile does not exist in the specified directory, thedefault.config.jsonfile will be copied to the directory asconfig.json.
Configuration Updates
If the configuration keys in the config.json file are missing or different from those in default.config.json, they will be automatically updated to match the default settings, ensuring that all required keys are present.
Run server
To use the system, run flask_server.py, which starts the server:
./flask_server.py