Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

Integration einer externen Wallbox

Georg Ledermann edited this page Jul 16, 2024 · 2 revisions

Bestehende Installation erweitern

Seit Version v0.15 unterstützt SOLECTRUS die Visualisierung des Stromverbrauchs einer externen Wallbox. Dazu wird der Stromverbrauch der Wallbox aus dem Hausverbrauch herausgerechnet und separat dargestellt. Dies ist eine Besonderheit gegenüber der bislang unterstützten internen SENEC-Wallbox, deren Verbrauch nicht im Hausverbrauch enthalten ist.

Die Anbindung erfolgt per MQTT-Collector.

Die folgende Anleitung erklärt, wie die Wallbox in eine bestehende Installation von SOLECTRUS integriert werden kann und ist eine Zusammenfassung der Ergebnisse aus der Beta-Testphase. Sie setzt voraus, dass SOLECTRUS bereits installiert und in Betrieb ist. Für eine Erstinstallation ist es hingegen besser, den Konfigurator zu verwenden.

0. MQTT-Broker vorbereiten

Stelle sicher, dass der Stromverbrauch der Wallbox per MQTT verfügbar ist. Da das total individuell ist, kann hier keine konkrete Anleitung gegeben werden. Üblicherweise ist ioBroker, evcc oder ähnliches zu verwenden.

1. MQTT-Collector konfigurieren

In der .env muss irgendwo diese Zeile stehen:

MQTT_TOPIC_WALLBOX_CHARGE_POWER=somewhere/WALLBOX/POWER

Wesentlich ist, das korrekte Topic anzugeben, unter dem der Stromverbrauch der Wallbox abgelegt wird. Die Angabe hier ist nur ein Beispiel. Was genau das einzutragen, ist bei jedem individuell verschieden.

Weil diese Anleitung sich auf bestehende Installationen bezieht, entspricht diese Schreibweise der alten Konfiguration, also nicht der neuen Sensor-Konfiguration, die mit Version 0.15 eingeführt wurde.

In der docker-compose.yml muss unter services.mqtt-collector.environment folgende Zeile stehen:

- MQTT_TOPIC_WALLBOX_CHARGE_POWER

Damit wird dem MQTT-Collector-Container die Variable bekannt gemacht.

Falls du etwas geändert hast, müssen die Container von SOLECTRUS anschließend neu erstellt werden:

docker compose pull
docker compose up -d

Nun bitte die Logs des MQTT-Collector-Containers beobachten. Da sollte jetzt auch der Stromverbrauch der Wallbox auftauchen. Wenn das nicht der Fall sein sollte, bitte nicht weiter machen, sondern erst die Ursache klären und beheben.

Der MQTT-Collector schreibt den Wert in das gleiche Measurement der InfluxDB, wie alle anderen Werte. Bitte merke dir, welches Measurement das ist - siehe Variable INFLUX_MEASUREMENT bzw. INFLUX_MEASUREMENT_PV. Ich gehe im Folgenden davon aus, dass es my-pv-measurement heißt. Bei dir könnte es anders sein.

Bevor es weitergeht, solltest du nach Möglichkeit prüfen, ob der neue Messwert wirklich in InfluxDB ankommt (Login im Admin-UI) und im erwarteten Measurement/Field steht.

2. SENEC-Collector anpassen (nur bei SENEC-Verwendung)

Falls du auch den SENEC-Collector benutzt, dann muss dieser so eingestellt werden, dass er das Feld wallbox_charge_power nicht an InfluxDB übermittelt. Andernfalls wird der vom MQTT-Collector gemeldete Messwert immer wieder mit 0 überschrieben.

Ergänze dazu in der .env diese Zeile:

SENEC_IGNORE=wallbox_charge_power

Abschließend in der docker-compose.yml unter services.senec-collector.environment folgende Zeile ergänzen:

- SENEC_IGNORE

Damit wird dem SENEC-Collector-Container die neue Variable bekannt gemacht.

Jetzt müssen die Container von SOLECTRUS neu erstellt werden:

docker compose pull
docker compose up -d

Nun bitte die Logs des SENEC-Collector-Containers beobachten. Da sollte jetzt ein Hinweis erscheinen, dass das Feld ignoriert wird. Wenn das nicht der Fall sein sollte, bitte nicht weiter machen, sondern erst die Ursache klären und beheben.

3. SOLECTRUS updaten

Stelle sicher, dass in der docker-compose.yml diese Zeile steht:

image: ghcr.io/solectrus/solectrus:latest

Ergänze in der .env:

INFLUX_EXCLUDE_FROM_HOUSE_POWER=WALLBOX_POWER

Mit dieser Variable wird festgelegt, dass das Dashboard in der InfluxDB den Stromverbrauch der Wallbox vom Hausverbrauch abziehen soll.

Falls du Wärmepumpe und externe Wallbox hast und beide Werte abziehen willst, dann geht das mit Angabe beider Variablen, getrennt durch Komma. Also etwa so:

INFLUX_EXCLUDE_FROM_HOUSE_POWER=WALLBOX_POWER,HEATPUMP_POWER

In der docker-compose.yml unter services.app.environment folgende Zeile ergänzen:

- INFLUX_EXCLUDE_FROM_HOUSE_POWER

Damit wird dem App-Container die neue Variable bekannt gemacht.

Anschließend SOLECTRUS neu starten:

docker compose pull
docker compose up -d

Jetzt unbedingt die Logs des App-Containers beobachten. Da findet sich beim Start ein paar Warnungen über fehlende Sensoren, die aber ignoriert werden können. Ansonsten sollte SOLECTRUS wie gewohnt starten.

3. Fertig

Wenn alles richtig gemacht wurde, erscheint im SOLECTRUS-Dashboard der Stromverbrauch der Wallbox und der Hausverbrauch reduziert sich entsprechend.