Konfiguration des SENEC-Collectors
Der SENEC-Collector 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-collector hinzugefügt. Dieser sollte so aussehen:
services: # ... senec-collector: image: ghcr.io/solectrus/senec-collector:latest environment: - TZ - SENEC_ADAPTER - SENEC_HOST - SENEC_SCHEMA - SENEC_INTERVAL - SENEC_LANGUAGE - SENEC_USERNAME - SENEC_PASSWORD - SENEC_TOTP_URI - INFLUX_HOST - INFLUX_SCHEMA - INFLUX_PORT - INFLUX_TOKEN=${INFLUX_TOKEN_WRITE} - INFLUX_ORG - INFLUX_BUCKET - INFLUX_MEASUREMENT=${INFLUX_MEASUREMENT_SENEC} 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)“SENEC_ADAPTER
Abschnitt betitelt „SENEC_ADAPTER“Betriebsmodus des Collectors. Bestimmt, ob die Daten lokal vom SENEC-Gerät oder aus der SENEC-Cloud abgerufen werden.
SENEC_ADAPTER=cloudSENEC_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.178.29SENEC_SCHEMA
Abschnitt betitelt „SENEC_SCHEMA“Das zu verwendende Protokoll für die Verbindung zum SENEC-Stromspeicher.
SENEC_SCHEMA=httpSENEC_LANGUAGE
Abschnitt betitelt „SENEC_LANGUAGE“Die Sprache, die für Status-Texte verwendet werden soll.
SENEC_LANGUAGE=deSENEC_USERNAME
Abschnitt betitelt „SENEC_USERNAME“E-Mail-Adresse für die Anmeldung bei mein-senec.de.
SENEC_USERNAME=mail@example.comSENEC_PASSWORD
Abschnitt betitelt „SENEC_PASSWORD“Passwort für die Anmeldung bei mein-senec.de.
SENEC_PASSWORD=my-secret-passwordSENEC_TOTP_URI
Abschnitt betitelt „SENEC_TOTP_URI“URI für die Multi-Faktor-Authentifizierung (MFA) bei mein-senec.de (sofern aktiviert). Anzugeben ist der vollständige String, sinnvollerweise mit Anführungszeichen.
Hat man den initialen QR-Code von SENEC vorliegen oder verwendet den Google Authenticator, so lässt sich die URI mit dem QR Code Secret Decoder ermitteln.
SENEC_TOTP_URI="otpauth://totp/SENEC:mail%40example.com?secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&digits=6&algorithm=SHA1&issuer=SENEC&period=30"SENEC_SYSTEM_ID
Abschnitt betitelt „SENEC_SYSTEM_ID“Die System-ID des SENEC-Geräts. Kann leer bleiben, wenn es nur ein System gibt. Der Collector ermittelt dann die verfügbaren IDs, listet sie im Protokoll auf und verwendet die erste.
Um eine andere als die erste ID zu verwenden, sollte die Angabe zunächst leer bleiben, der Collector gestartet und die ID aus dem Protokoll entnommen werden. Die gewünschte ID kann dann in die Umgebungsvariablen eingetragen werden und wird beim nächsten Start verwendet.
SENEC_SYSTEM_ID=12345SENEC_INTERVAL
Abschnitt betitelt „SENEC_INTERVAL“Das Intervall in Sekunden für die Häufigkeit der Datenabfrage.
SENEC_INTERVAL=10SENEC_IGNORE
Abschnitt betitelt „SENEC_IGNORE“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.
SENEC_IGNORE=wallbox_charge_power,grid_power_minusINFLUX_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 in den angegebenen Bucket zu schreiben.
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, in der die Messwerte gespeichert werden sollen.
INFLUX_ORG=solectrusINFLUX_BUCKET
Abschnitt betitelt „INFLUX_BUCKET“Bucket in InfluxDB, in der die Messwerte gespeichert werden sollen.
INFLUX_BUCKET=solectrusINFLUX_MEASUREMENT
Abschnitt betitelt „INFLUX_MEASUREMENT“Name des Measurements in InfluxDB, das die Messwerte aufnehmen soll.
INFLUX_MEASUREMENT=power_storageZeitzone gemäß Liste
TZ=Europe/Rome