Zum Inhalt springen

Ausführung des CSV-Importers

Der CSV-Importer nutzt die gleiche .env-Datei wie die bestehende SOLECTRUS-Installation.

Der CSV-Importer wird nicht in die compose.yaml eingetragen, da er nur einmalig ausgeführt wird. Stattdessen wird er direkt per docker run gestartet.

Die CSV-Dateien müssen in einem Ordner csv im aktuellen Verzeichnis abgelegt werden. Anschließend wird der Import mit folgendem Befehl gestartet:

Terminal-Fenster
docker run -it --rm \
--env-file .env \
--mount type=bind,source="$PWD/csv",target=/data,readonly \
--network=solectrus_default \
ghcr.io/solectrus/csv-importer

Der Prozess ist idempotent und kann gefahrlos mehrfach ausgeführt werden. Der Importer erkennt eigenständig, ob es sich um Daten von SENEC, Sungrow oder SolarEdge handelt.

Da durch den Import Messwerte aus der Vergangenheit hinzugefügt werden, sind zwei zusätzliche Schritte erforderlich:

Terminal-Fenster
docker exec -it solectrus-redis-1 redis-cli FLUSHALL

In SOLECTRUS selbst unter “Einstellungen” muss die Funktion “Tageswerte zurücksetzen” ausgeführt werden.

Durch obigen Befehl werden alle in der .env-Datei definierten Umgebungsvariablen an den Container übergeben. Folgende Variablen sind für den CSV-Importer relevant:

VariableBeschreibungStandard
INFLUX_HOSTHostname (z.B. influxdb)-
INFLUX_SCHEMAProtokoll (http oder https)http
INFLUX_PORTPort8086
INFLUX_TOKEN_WRITEToken mit Schreibrechten (alternativ INFLUX_TOKEN)-
INFLUX_ORGOrganisation-
INFLUX_BUCKETBucket-
VariableBeschreibung
INFLUX_SENSOR_INVERTER_POWERWechselrichterleistung
INFLUX_SENSOR_HOUSE_POWERHausverbrauch
INFLUX_SENSOR_GRID_POWER_PLUSNetzbezug
INFLUX_SENSOR_GRID_POWER_MINUSNetzeinspeisung
INFLUX_SENSOR_BATTERY_POWER_PLUSBatterieladung
INFLUX_SENSOR_BATTERY_POWER_MINUSBatterieentladung
INFLUX_SENSOR_BATTERY_SOCBatterieladestand

Pfad zum Import-Ordner, in dem die CSV-Dateien liegen.

Zeitzone gemäß Liste

Beispiel
TZ=Europe/Rome

Deaktivieren bestimmter Messwerte, die nicht an InfluxDB gesendet werden sollen. Dies kann nützlich sein, wenn einzelne Messwerte (z.B. der Wallbox) aus einer anderen Quelle entnommen werden sollen.

Komma-getrennte Liste von Feldern, keine Leerzeichen.

Beispiel
SENEC_IGNORE=wallbox_charge_power,grid_power_minus