Beta-Test: Anbindung von externer Wallbox #2865
Replies: 9 comments 18 replies
-
Leider scheitere ich bereits bei der Installation des MQTT Collectors. Wie bekomme ich ihn als Docker-Instanz auf der Synology installiert? Kann ich die Daten einfach in das bereits bestehende Solectrus docker-compose File einfügen und die bereits bestehende Solectrus .env ergänzen?
… Am 28.02.2024 um 15:58 schrieb Georg Ledermann ***@***.***>:
Analog zu #2861 <#2861> ist nun auch die Anbindung einer externen Wallbox möglich - also eine Wallbox, deren Verbrauch im Hausverbrauch enthalten ist und die man herausgerechnet haben möchte. Auch das würde ich gerne testen lassen, bevor ich ein neues offizielles Release erstelle. Ping @bennysweb <https://github.com/bennysweb>, @jbaesner <https://github.com/jbaesner> :-)
Bislang konnte SOLECTRUS nur interne Wallboxen anzeigen, die also auf den Hausverbrauch "oben drauf" kommen, beispielsweise die SENEC-Wallbox.
Jetzt ist folgendes möglich: Die Verbrauchswerte einer externen Wallbox kommen per MQTT in die InfluxDB von SOLECTRUS. Über eine zusätzliche Umgebungsvariable kann man festlegen, dass der Verbrauch vom Hausverbrauch abgezogen werden soll.
Voraussetzungen:
Funktionsfähige SOLECTRUS-Installation
Betrieb einer Wallbox
Möglichkeit, den Stromverbrauch der Wallbox per MQTT abzufragen
Grundverständnis von Docker, MQTT, InfluxDB
Hier nun die Anleitung:
0. MQTT-Broker vorbereiten
Stelle sicher, dass der Wallbox-Verbrauch per MQTT verfügbar ist. Da das total individuell ist, kann ich hier keine konkrete Anleitung geben. Irgendwas mit ioBroker, evcc & Co.
1. MQTT-Collector konfigurieren
In der .env muss irgendwo diese Zeile stehen:
MQTT_TOPIC_WALLBOX_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 da einzutragen, ist bei jedem individuell verschieden.
In der docker-compose.yml muss unter services.mqtt-collector.environment folgende Zeile stehen:
- MQTT_TOPIC_WALLBOX_POWER
Damit wird dem MQTT-Collector-Container die Variable bekannt gemacht.
Falls man etwas geändert hat, anschließend SOLECTRUS neu starten:
docker compose up -d
Nun die Logs des MQTT-Collector-Containers beobachten. Da sollte nun 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. Das wird zukünftig vermutlich konfigurierbar sein, aber derzeitig ist es so. 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. SOLECTRUS updaten auf Entwicklungs-Zweig PR-2836 <#2836>:
In der docker-compose.yml diese Zeile ...
image: ghcr.io/solectrus/solectrus:latest
... ändern auf:
image: ghcr.io/solectrus/solectrus:pr-2836
In der .env ergänzen:
INFLUX_EXCLUDE_FROM_HOUSE_POWER=WALLBOX_POWER
Mit dieser neu eingeführten 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 auch, und zwar 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 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
Das war's schon ;-) Wenn alles richtig gemacht wurde und das ganze MQTT-Gerödel funktioniert, erscheint im SOLECTRUS-Dashboard der Stromverbrauch der Wallbox und der Hausverbrauch reduziert sich entsprechend.
Bin gespannt auf die Rückmeldungen!
—
Reply to this email directly, view it on GitHub <#2865>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ASMN6JMMYUWANLRFAPNEKP3YV5A3BAVCNFSM6AAAAABD6F4XSKVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGI4DONRWGU>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
Aaah, ja, danke. Das hat schonmal geholfen. Der Collector läuft. Kann es sein, dass das Topic „MQTT_TOPIC_WALLBOX_CHARGE_POWER“ heißen muss, und nicht „MQTT_TOPIC_WALLBOX_POWER“?
… Am 29.02.2024 um 13:41 schrieb Georg Ledermann ***@***.***>:
Ja, genau so. Der MQTT-Collector muss zunächst in die docker-compose.yml integriert werden, Beispiel hier:
https://github.com/solectrus/hosting/blob/main/guide/mqtt-evcc/docker-compose.yml#L118-L158
Die bestehende .env wird dann ebenfalls erweitert, Beispiel hier:
https://github.com/solectrus/hosting/blob/main/guide/mqtt-evcc/.env#L73-L93
—
Reply to this email directly, view it on GitHub <#2865 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ASMN6JP7BK7QSHF64NEUV3DYV4QXNAVCNFSM6AAAAABD6F4XSKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DMMZQGMZTC>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
Okay, die Werte von der openWB werden erfolgreich empfangen und landen auch in der Datenbank. Super :-)
Weitere Frage: Muss man eventuell dem Senec-Collector sagen, dass er keine „0“-Werte mehr in die Datenbank schreiben soll?

Die Werte mit 4000 stammen von der Wallbox…
Das E-Auto wird in der App auch nur kurz angezeigt und verschwindet wieder, taucht wieder auf, usw...
… Am 29.02.2024 um 14:29 schrieb Georg Ledermann ***@***.***>:
Ja, du hast recht. Ich bin für das nächste SOLECTRUS-Update dabei, die Bezeichner zu vereinheitlichen. Ich habe oben die neuen Namen aufgeführt, die Collectors verwenden aber noch die alten. Sorry. Im MQTT-Collector muss es also MQTT_TOPIC_WALLBOX_CHARGE_POWER heißen. Ich ändere das in der obigen Anleitung ab.
Ansonsten noch: Da du die meisten Werte für SOLECTRUS über den SENEC-Collector bekommst, wird der MQTT-Collector nur für die Wallbox benötigt (und ggfs. Wärmepumpe, falls vorhanden). Somit solltest du darauf achten, nur die benötigten Topics aufzuführen, also vermutlich nur MQTT_TOPIC_WALLBOX_CHARGE_POWER.
—
Reply to this email directly, view it on GitHub <#2865 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ASMN6JJ2ZLPAU5U3QGNCGXLYV4WLFAVCNFSM6AAAAABD6F4XSKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DMMZQHA3TQ>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
Feature Request: SoC E-Auto |
Beta Was this translation helpful? Give feedback.
-
Hallo Georg, Werde ich gerne testen. Würde aber noch Impulse geben wollen. Sorry für die nun folgend lange Ausführung, denke es ist wichtig um meine Gedanken darzulegen. Impuls 1: Strom ging an welche Wallbox Sicherlich haben einige mehrere Wallboxen und würden evtl. Hier sehen wollen, wieviel ging an alle Autos und wieviel ging an ein bestimmtes Auto. Impuls 2: Sonne geladen oder zugekauft Mit folgender Herausforderung stehe ich sicher nicht alleine da. Da mir die Wallboxsteuerung „Solar optimiert“ von Senec nicht zusagt, habe ich EVCC am laufen. Solecturs lief bis vor ca. 1 Woche nur auf einem PI mit der Anbindung via MQTT Anbindung (EVCC). Somit habe ich die Ladedaten (Sonne laden) in Solectrus sehen können. Die Ladedaten ohne Sonne in der Senec App. Seit ca. einer Woche teste ich Proxmox und lasse dort Solctrus in einem Container mit der Senec Anbindung laufen. Nun habe ich also die Daten in ZWEI Solectrus Installationen, kann also jederzeit auf einem Blick die gewünschten Infos einholen. Die Frage aber: wieviel ging vollstäding in den Wagen kann ich nicht auf einem Blick festellen. Hierzu muss ich aber nun eine dritte Installation heranziehen. Unter Proxmox kein Thema. Deswegen meine Impulse. Viele Grüße |
Beta Was this translation helpful? Give feedback.
-
Kleine Ergänzung noch: LG |
Beta Was this translation helpful? Give feedback.
-
@ledermann, zwei Wallboxen parallel gehen damit noch nicht korrekt? |
Beta Was this translation helpful? Give feedback.
-
Halle allerseits. Da ja Solectrus und der Senec-collector mittlerweile aktualisiert worden sind frage ich mich ob die Installation der .develop bzw. die .pr-2836 Version noch nötig ist. Gruss |
Beta Was this translation helpful? Give feedback.
-
Dank der vielen Rückmeldungen denke ich, dass die Sache ausreichend stabil läuft. Ich habe somit den PR #2836 gerade nach Der Tag Das nächste offizielle größere Update (Version 0.15) befindet sich jetzt auf der Zielgeraden ;-) |
Beta Was this translation helpful? Give feedback.
-
Analog zu #2861 ist nun auch die Anbindung einer externen Wallbox möglich - also eine Wallbox, deren Verbrauch im Hausverbrauch enthalten ist und die man herausgerechnet haben möchte. Auch das würde ich gerne testen lassen, bevor ich ein neues offizielles Release erstelle. Ping @bennysweb, @jbaesner :-)
Bislang konnte SOLECTRUS nur interne Wallboxen anzeigen, die also auf den Hausverbrauch "oben drauf" kommen, beispielsweise die SENEC-Wallbox.
Jetzt ist folgendes möglich: Die Verbrauchswerte einer externen Wallbox kommen per MQTT in die InfluxDB von SOLECTRUS. Über eine zusätzliche Umgebungsvariable kann man festlegen, dass der Verbrauch vom Hausverbrauch abgezogen werden soll.
Voraussetzungen:
Hier nun die Anleitung:
0. MQTT-Broker vorbereiten
Stelle sicher, dass der Wallbox-Verbrauch per MQTT verfügbar ist. Da das total individuell ist, kann ich hier keine konkrete Anleitung geben. Irgendwas mit ioBroker, evcc & Co.
1. MQTT-Collector konfigurieren
In der
.env
muss irgendwo diese Zeile stehen: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.
In der
docker-compose.yml
muss unterservices.mqtt-collector.environment
folgende Zeile stehen: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:
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. Das wird zukünftig vermutlich konfigurierbar sein, aber derzeitig ist es so. Bitte merke dir, welches Measurement das ist - siehe Variable
INFLUX_MEASUREMENT
bzw.INFLUX_MEASUREMENT_PV
. Ich gehe im Folgenden davon aus, dass esmy-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
Falls du auch den SENEC-Collector benutzt (andernfalls gehe direkt zu Schritt 3), 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.Hierfür ist
ein Update des SENEC-Collectors auf die Entwickler-Versioneine zusätzliche Konfiguration erforderlich. Das geht wie folgt:In der `docker-compose.yml` diese Zeile ...
... ändern auf:
Ergänzung 29.04.2024: Die
develop
-Version ist nicht mehr nötig, seit Version 0.14.0 des SENEC-Collectors kann dieser alles, was nötig ist. Es ist also möglich (und empfehlenswert), den SENEC-Collector wieder auflatest
einzustellen. Das Folgende bezüglichSENEC_IGNORE
gilt natürlich weiterhin.Außerdem muss in der
.env
diese Zeile ergänzt werden:Abschließend in der
docker-compose.yml
unterservices.senec-collector.environment
folgende Zeile ergänzen:Damit wird dem SENEC-Collector-Container die neue Variable bekannt gemacht.
Jetzt müssen die Container von SOLECTRUS neu erstellt werden:
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 auf Entwicklungs-Zweig PR-2836:
In der docker-compose.yml diese Zeile ...
... ändern auf:
Update 30.05.2024: Der PR #2836 wurde mitterweile abgeschlossen und gemerged. Der Code befindet sich also im regulären Entwicklerungszweig
develop
. Das Docker-Image lautet also:In der .env ergänzen:
Mit dieser neu eingeführten 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 auch, und zwar so:
In der
docker-compose.yml
unterservices.app.environment
folgende Zeile ergänzen:Damit wird dem App-Container die neue Variable bekannt gemacht.
Anschließend SOLECTRUS neu starten:
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
Das war's schon ;-) Wenn alles richtig gemacht wurde und das ganze MQTT-Gerödel funktioniert, erscheint im SOLECTRUS-Dashboard der Stromverbrauch der Wallbox und der Hausverbrauch reduziert sich entsprechend.
Bin gespannt auf die Rückmeldungen!
Beta Was this translation helpful? Give feedback.
All reactions