Konfiguration des SENEC-Chargers
Der SENEC-Charger wird über Umgebungsvariablen konfiguriert.
Umgebungsvariablen
Abschnitt betitelt „Umgebungsvariablen“SENEC_HOST
Abschnitt betitelt „SENEC_HOST“Hostname des SENEC-Stromspeichers, üblicherweise eine IP-Adresse im lokalen Netz. Eine lokale Domain geht ebenso.
Hier gehört nur der Host hin, kein http:// oder https:// und keine Portnummer. Das Protokoll steht getrennt in SENEC_SCHEMA. Ergibt beides zusammen keine gültige URL, bricht der Charger beim Start ab.
SENEC_HOST=192.168.1.42SENEC_SCHEMA
Abschnitt betitelt „SENEC_SCHEMA“Protokoll für die Verbindung zum Stromspeicher, http oder https. Standardwert ist https, denn ein SENEC.Home V3 antwortet ab Werk verschlüsselt.
Ein anderer Wert als http oder https ergibt keine gültige URL, der Charger bricht dann beim Start ab.
SENEC_SCHEMA=httpCHARGER_INTERVAL
Abschnitt betitelt „CHARGER_INTERVAL“Abstand zwischen zwei Prüfungen in Sekunden, eine positive Ganzzahl. Standardwert ist 3600, also eine Stunde.
Bei jeder Prüfung liest der Charger Preise und Prognose aus der InfluxDB und entscheidet über eine Beladung. Ein kürzeres Intervall bringt wenig, denn die Preise stehen für 24 Stunden im Voraus fest. Eine 0 oder ein nicht-numerischer Wert lässt den Charger beim Start abbrechen.
CHARGER_INTERVAL=1800CHARGER_PRICE_MAX
Abschnitt betitelt „CHARGER_PRICE_MAX“Preisgrenze in Prozent, bezogen auf den Durchschnittspreis der nächsten 24 Stunden. Erlaubt ist eine Ganzzahl größer als 0 und kleiner als 100, alles andere lässt den Charger beim Start abbrechen. Standardwert ist 70.
Der Charger sucht das günstigste zusammenhängende Zeitfenster der nächsten 24 Stunden (siehe CHARGER_PRICE_TIME_RANGE) und vergleicht dessen Durchschnittspreis mit dem Durchschnitt der gesamten 24 Stunden. Bei 70 gilt der Strom als günstig, sobald das Fenster höchstens 70 % dieses Durchschnitts kostet. Beginnt das Fenster gerade, lädt der Charger. Liegt es später, wartet er darauf. Je kleiner der Wert, desto seltener wird geladen.
CHARGER_PRICE_MAX=60CHARGER_PRICE_TIME_RANGE
Abschnitt betitelt „CHARGER_PRICE_TIME_RANGE“Länge des Zeitfensters in Stunden, eine positive Ganzzahl. Standardwert ist 4. Gemeint ist die Zeit, die der Speicher ungefähr für eine volle Beladung braucht, abhängig von seiner Kapazität und der Ladeleistung.
Der Charger legt ein gleitendes Fenster dieser Länge über die nächsten 24 Stunden und sucht darin das günstigste zusammenhängende Zeitfenster. Ein zu langes Fenster verwässert den Preisvorteil, ein zu kurzes endet, bevor der Speicher voll ist. Eine 0 oder ein nicht-numerischer Wert lässt den Charger beim Start abbrechen.
CHARGER_PRICE_TIME_RANGE=3CHARGER_FORECAST_THRESHOLD
Abschnitt betitelt „CHARGER_FORECAST_THRESHOLD“Grenze für den erwarteten PV-Ertrag der nächsten 24 Stunden in kWh, eine positive Ganzzahl. Standardwert ist 20.
Liegt die Prognose über diesem Wert, lädt der Charger nicht aus dem Netz, denn der Speicher füllt sich ohnehin aus der PV-Anlage. Der Wert gehört damit zur Größe der Anlage: Zu hoch gesetzt, verhindert er die Netzbeladung fast immer. Eine 0 oder ein nicht-numerischer Wert lässt den Charger beim Start abbrechen.
CHARGER_FORECAST_THRESHOLD=25CHARGER_DRY_RUN
Abschnitt betitelt „CHARGER_DRY_RUN“Trockenlauf. Erlaubt sind true und false, jeder andere Wert gilt als false. Standardwert ist false.
Bei true rechnet und protokolliert der Charger wie sonst auch, rührt den Speicher aber nicht an: Er startet keine Beladung und gibt keine Entladung frei. So lässt sich die Konfiguration beobachten, bevor sie scharf geschaltet wird.
CHARGER_DRY_RUN=trueINFLUX_HOST
Abschnitt betitelt „INFLUX_HOST“Hostname des InfluxDB-Servers. Läuft InfluxDB im selben Docker-Netzwerk, ist das der Name des Docker-Services, also influxdb. Es kann aber auch ein externer Server sein, etwa influxdb.example.com.
INFLUX_HOST=influxdbINFLUX_SCHEMA
Abschnitt betitelt „INFLUX_SCHEMA“Schema für die Verbindung zu InfluxDB, http oder https. Standardwert ist http. Bei einer externen InfluxDB mit TLS gehört hier https hin.
INFLUX_SCHEMA=httpsINFLUX_PORT
Abschnitt betitelt „INFLUX_PORT“Port für die Verbindung zu InfluxDB, eine Ganzzahl. Standardwert ist 8086. Bei einer externen, per TLS abgesicherten InfluxDB ist es oft 443.
INFLUX_PORT=443INFLUX_TOKEN
Abschnitt betitelt „INFLUX_TOKEN“Token, mit dem sich der Charger bei InfluxDB anmeldet. Er muss dort existieren und das Recht haben, den angegebenen Bucket zu lesen. Mehr braucht der Charger nicht: Er fragt Preise und Prognose ab und schreibt nie etwas zurück.
Passt der Token nicht, weist InfluxDB die Abfragen ab. Der Charger findet dann weder Preise noch Prognose und belädt den Speicher nicht.
INFLUX_TOKEN=my-super-secret-read-tokenINFLUX_ORG
Abschnitt betitelt „INFLUX_ORG“Organisation in InfluxDB, unter der die Messwerte liegen. Eine Organisation ist der Mandant, dem Benutzer, Buckets und Tokens gehören. InfluxDB legt sie beim ersten Start an. In einer SOLECTRUS-Installation heißt sie solectrus.
Der Name muss zu der Organisation passen, die in InfluxDB tatsächlich existiert. Ein anderer Wert lässt den Charger ins Leere lesen.
INFLUX_ORG=solectrusINFLUX_BUCKET
Abschnitt betitelt „INFLUX_BUCKET“Bucket in InfluxDB, aus dem der Charger Preise und Prognose liest. Ein Bucket ist das, was anderswo die Datenbank wäre: ein benannter Speicher mit eigener Aufbewahrungsdauer. Auch ihn legt InfluxDB beim ersten Start an. Eine SOLECTRUS-Installation kommt mit einem einzigen aus, er heißt solectrus.
Der Name muss zu dem Bucket passen, in den Tibber- und Forecast-Collector schreiben. Gibt es ihn nicht, lehnt InfluxDB die Abfragen ab.
INFLUX_BUCKET=solectrusINFLUX_MEASUREMENT_PRICES
Abschnitt betitelt „INFLUX_MEASUREMENT_PRICES“Measurement in InfluxDB, aus dem der Charger die Strompreise liest. Standardwert ist Prices.
Es muss dasselbe Measurement sein, in das der Tibber-Collector die Preise schreibt, dort heißt die Variable INFLUX_MEASUREMENT. Der Charger liest daraus das Feld amount. Passt der Name nicht, findet er keine Preise und belädt den Speicher nie.
INFLUX_MEASUREMENT_PRICES=PricesINFLUX_MEASUREMENT_FORECAST
Abschnitt betitelt „INFLUX_MEASUREMENT_FORECAST“Measurement in InfluxDB, aus dem der Charger die PV-Prognose liest. Standardwert ist Forecast.
Es muss dasselbe Measurement sein, in das der Forecast-Collector die Prognose schreibt. Der Charger liest daraus das Feld watt und rechnet daraus den erwarteten Ertrag der nächsten 24 Stunden in kWh aus. Passt der Name nicht, sieht der Charger einen Ertrag von 0 kWh und lädt bei günstigem Strom auch dann, wenn die Sonne scheint.
INFLUX_MEASUREMENT_FORECAST=ForecastZeitzone gemäß Liste. Standardwert ist UTC.
Sie betrifft die Zeitstempel im Protokoll des Chargers, also auch die Uhrzeiten der geprüften Preisfenster. Auf die Entscheidung selbst wirkt sie sich nicht aus.
TZ=Europe/Berlin