Konfiguration des SENEC-Chargers
Der SENEC-Charger wird üblicherweise in die Gesamtkonfiguration von SOLECTRUS integriert, d.h. die bestehenden Dateien compose.yaml und .env sind zu erweitern.
compose.yaml
Abschnitt betitelt „compose.yaml“In der compose.yaml wird ein neuer Service namens senec-charger hinzugefügt. Dieser sollte so aussehen:
services: # ... senec-charger: image: ghcr.io/solectrus/senec-charger:latest environment: - TZ - SENEC_HOST - SENEC_SCHEMA - CHARGER_INTERVAL - CHARGER_PRICE_MAX - CHARGER_PRICE_TIME_RANGE - CHARGER_FORECAST_THRESHOLD - CHARGER_DRY_RUN - INFLUX_HOST - INFLUX_SCHEMA - INFLUX_PORT - INFLUX_TOKEN=${INFLUX_TOKEN_READ} - INFLUX_ORG - INFLUX_BUCKET - INFLUX_MEASUREMENT_PRICES - INFLUX_MEASUREMENT_FORECAST logging: driver: 'json-file' options: max-size: 10m max-file: '3' restart: unless-stopped depends_on: influxdb: condition: service_healthy links: - influxdb labels: - com.centurylinklabs.watchtower.scope=solectrus # ...Umgebungsvariablen (.env)
Abschnitt betitelt „Umgebungsvariablen (.env)“Zeitzone gemäß Liste
TZ=Europe/RomeSENEC_HOST
Abschnitt betitelt „SENEC_HOST“Hostname des SENEC-Stromspeichers. Dies ist üblicherweise eine IP-Adresse, kann aber auch eine lokale Domain sein. Es darf kein http:// oder https:// enthalten sein!
SENEC_HOST=192.168.1.42SENEC_SCHEMA
Abschnitt betitelt „SENEC_SCHEMA“Protokoll für die Verbindung zum SENEC-Stromspeicher.
SENEC_SCHEMA=httpCHARGER_INTERVAL
Abschnitt betitelt „CHARGER_INTERVAL“Intervall, in dem der Charger die Strompreise prüft und Ladeentscheidungen trifft, in Sekunden.
CHARGER_INTERVAL=1800CHARGER_PRICE_MAX
Abschnitt betitelt „CHARGER_PRICE_MAX“Maximaler Durchschnittspreis (in Prozent bezogen auf den Durchschnittspreis der nächsten 24 Stunden), unterhalb dessen der Speicher geladen werden soll.
CHARGER_PRICE_MAX=60CHARGER_PRICE_TIME_RANGE
Abschnitt betitelt „CHARGER_PRICE_TIME_RANGE“Ungefähre Dauer (in Stunden), die der Speicher für eine volle Beladung benötigt. Das hängt vor allem von der Kapazität des Speichers und der maximalen Ladeleistung ab.
Für diese Zeitspanne wird der erwartete Preis berechnet und mit den Preisen danach verglichen.
CHARGER_PRICE_TIME_RANGE=3CHARGER_FORECAST_THRESHOLD
Abschnitt betitelt „CHARGER_FORECAST_THRESHOLD“Obere Grenze für den erwarteten PV-Ertrag (in kWh) in den nächsten 24 Stunden, unterhalb derer das Laden aus dem Netz erfolgen soll.
CHARGER_FORECAST_THRESHOLD=25CHARGER_DRY_RUN
Abschnitt betitelt „CHARGER_DRY_RUN“Trockenlauf-Modus: Wenn aktiviert, werden alle Berechnungen durchgeführt und protokolliert, aber der Ladevorgang wird nicht tatsächlich gestartet. Das ist nützlich zum Testen der Konfiguration.
CHARGER_DRY_RUN=trueINFLUX_HOST
Abschnitt betitelt „INFLUX_HOST“Hostname des InfluxDB-Servers. Im Normalfall, wenn InfluxDB im gleichen Docker-Netzwerk läuft, ist das der Name des Docker-Services (z.B. influxdb). Es kann aber auch ein externer InfluxDB-Server sein, z.B. influxdb.example.com.
INFLUX_HOST=influxdbINFLUX_SCHEMA
Abschnitt betitelt „INFLUX_SCHEMA“Schema für die Verbindung zu InfluxDB. Bei Verwendung einer externen InfluxDB, die über TLS abgesichert ist, muss dieser Wert auf https gesetzt werden.
INFLUX_SCHEMA=httpsINFLUX_PORT
Abschnitt betitelt „INFLUX_PORT“Port für die Verbindung zu InfluxDB. Bei Verwendung einer externen, per TLS abgesicherten InfluxDB kann z.B. 443 eingestellt werden.
INFLUX_PORT=443INFLUX_TOKEN
Abschnitt betitelt „INFLUX_TOKEN“Token für den Zugriff auf InfluxDB. Dieser Token muss die Berechtigung haben, Daten aus dem angegebenen Bucket zu lesen.
Das Token kann manuell in InfluxDB erstellt werden, alternativ kann aber auch das INFLUX_ADMIN_TOKEN verwendet werden.
INFLUX_TOKEN=my-super-secret-admin-tokenINFLUX_ORG
Abschnitt betitelt „INFLUX_ORG“Organisation in InfluxDB, aus der die Messwerte gelesen werden sollen.
INFLUX_ORG=solectrusINFLUX_BUCKET
Abschnitt betitelt „INFLUX_BUCKET“Bucket in InfluxDB, aus dem die Messwerte gelesen werden sollen.
INFLUX_BUCKET=solectrusINFLUX_MEASUREMENT_PRICES
Abschnitt betitelt „INFLUX_MEASUREMENT_PRICES“Name des Measurements in InfluxDB, aus dem die Strompreise gelesen werden sollen.
INFLUX_MEASUREMENT_PRICES=pricesINFLUX_MEASUREMENT_FORECAST
Abschnitt betitelt „INFLUX_MEASUREMENT_FORECAST“Name des Measurements in InfluxDB, aus dem die Wettervorhersage gelesen werden soll.
INFLUX_MEASUREMENT_FORECAST=forecast