Installation¶
Pick the way you want to run the service. All three end up at the same place: a config/
directory holding configuration.yml and secrets.yml, which the
configuration guide walks you through filling in.
Requires Python 3.12 or 3.13.
pip install -U solaredge2mqtt
# Forecasting pulls in a machine learning stack, so it is optional
pip install -U "solaredge2mqtt[forecast]"
Start it once in the directory where the configuration should live:
The service writes example files into config/ and exits, asking you to edit them.
mkdir -p config cache
docker run -d --name solaredge2mqtt \
-v $(pwd)/config:/app/config \
-v $(pwd)/cache:/app/cache \
-e "TZ=Europe/Berlin" \
--restart unless-stopped \
ghcr.io/deroetzi/solaredge2mqtt:latest
The container writes example files into config/ and exits. Edit them, then
docker restart solaredge2mqtt.
More detail, including the permission handling for the mounted directory, is in Docker deployment.
curl -o docker-compose.yml \
https://raw.githubusercontent.com/DerOetzi/solaredge2mqtt/master/docker-compose.yml
mkdir -p config cache
docker compose up -d
The service writes example files into config/ and exits. Edit them, then
docker compose up -d again.
See Docker Compose, and Grafana if you want dashboards alongside it.
Downloading the examples yourself¶
The service copies these two files in on its first start, but you can fetch them up front:
mkdir -p config
curl -o config/configuration.yml \
https://raw.githubusercontent.com/DerOetzi/solaredge2mqtt/master/solaredge2mqtt/config/configuration.yml.example
curl -o config/secrets.yml \
https://raw.githubusercontent.com/DerOetzi/solaredge2mqtt/master/solaredge2mqtt/config/secrets.yml.example
chmod 600 config/secrets.yml
Protect the secrets file
secrets.yml holds your broker password and monitoring credentials in plain text. The
service creates it with 600 permissions; if you download it yourself, set them.
Which Python versions work¶
Python 3.12 and 3.13 are supported and tested. The published Docker images cover linux/amd64
and linux/arm64. 32-bit ARM images are no longer built, see
decision 0004 for the reasoning and a self-build
recipe.
Next steps¶
- Write your configuration.
- Run the service, in the foreground or as a system service.
- Work through the configuration reference for the features you want.