Installation
Note: Strom requires Python 3.12.8. Earlier or later versions are not supported. If you use mise, the correct Python is provisioned automatically.
- Clone the repository:
git clone https://github.com/Bloodwing1/Strom.git cd Strom - Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` - Install the package. All runtime dependencies are included:
pip install .For development (tests, lint, type-check):
pip install -e ".[dev]" -
Create a
configfolder in the project root. This is where all your personal settings live — API keys, plug credentials and (optionally) house parameters. - Place your API keys in two files inside the
configfolder:weather_api_key.txt— your OpenWeatherMap API keyprice_api_key.txt— your ENTSO-E API key
- Place your smart plug credentials in a
tapologin.envfile in theconfigfolder. All three lines are required:EMAIL=myemail@hotmail.com PASSWORD=myPassword12 DEVICEIP=192.168.1.42 - Optionally, add your custom house heating parameters to a
house_config.jsonfile in theconfigfolder. See Configuration for the full format and the defaults used when the file is missing.
That’s it. Run strom to start your first control cycle — see Usage.
Where Strom looks for the config folder
By default Strom looks for a config/ folder in your current directory or any parent of it. You can also point it elsewhere with the --config-dir flag or the STROM_CONFIG_DIR environment variable. Details on the Configuration page.