Ich bin heute per Mastodon darauf aufmerksam geworden und habe etwas »gekämpft«, bis ich es bei mir auf dem TWS am Laufen hatte. Dazu kommt, dass ich evcc, MQTT und die MQTT-Integration in evcc (Datenaustausch mit dem TWS und Home Assistant) bereits in Containern betreibe. evcc unterstützt aber nur einen einzigen MQTT-Server! Die Lösung ist eine Bridge aus der evcc-Community, die die Daten vom eigenen MQTT empfängt, filtert und ans Projekt sendet.
Die folgende Anleitung zeigt die Einrichtung auf dem TWS im Portainer, wenn evcc und MQTT bereits eingerichtet sind. Wenn man weiß, wie's geht, ist es eine Sache von ein paar Minuten – vielleicht mag jemand von euch auch mitmachen.
Falls ihr evcc bisher ohne MQTT betreibt (auf dem TWS kaum vorstellbar), ist es noch einfacher und wird direkt auf der Projektseite beschrieben.
Inhalt
Warum mitmachen?
Das Projekt evcc-crowdscience.de sammelt reale Ladedaten von evcc-Instanzen für die Energiewende-Forschung. Bisherige Modelle basieren auf Annahmen – echte Nutzungsdaten aus der Community helfen, Ladeprofile, PV-Anteile und Ladeverhalten praxisnah zu erfassen.
Was wird übertragen?
- Ladeleistung
- PV-Erzeugung
- Batteriezustand
- Netzbezug / -einspeisung
Teilnahme ist freiwillig und jederzeit durch Löschen des Tokens beendbar, bzw. stoppen oder löschen des Containers.
Voraussetzungen
- TWS mit Portainer
- evcc als Docker-Container, MQTT konfiguriert
- Mosquitto als Docker-Container, allow_anonymous true oder bekannte Zugangsdaten
- SSH-Container um Dateien ins Docker-Volume zu schreiben
- Token von evcc-crowdscience.de generiert
Installation
Schritt 1 – Docker-Volume anlegen
In Portainer → Volumes → Add Volume:
- Name: evcc-crowdscience-bridge
SSH-Container stoppen → Duplicate/Edit → Volume hinzufügen:
Code: Alles auswählen
Volume: evcc-crowdscience-bridge
Container-Pfad: /mnt/evcc-crowdscience-bridgeSchritt 3 – Projekt per git klonen
Im SSH-Container:
Code: Alles auswählen
cd /mnt/evcc-crowdscience-bridge
git clone https://github.com/iseeberg79/evcc-crowdscience-bridge.git .Schritt 4 – Bridge-Container in Portainer anlegen
Containers → Add Container:
Code: Alles auswählen
Name: evcc-crowdscience-bridge
Image: python:3.11-alpine
Restart policy: Unless stoppedCode: Alles auswählen
Volume: evcc-crowdscience-bridge
Container-Pfad: /appCode: Alles auswählen
DEVICE_ID = <Token von evcc-crowdscience.de>
LOCAL_HOST = <IP des Mosquitto-Containers, z. B. 172.17.0.2>
LOCAL_USER = (leer lassen bei allow_anonymous)
LOCAL_PASSWORD = (leer lassen bei allow_anonymous)
STATS_INTERVAL = 0
LOCAL_FILTER_PATH = /app/filter-local.json
LOCAL_WHITELIST_PATH = /app/whitelist-local.jsonCode: Alles auswählen
sh -c "apk add --no-cache gcc musl-dev && pip install paho-mqtt==1.6.1 -q && python /app/bridge.py"In Portainer → Container → Logs. Erfolgreiches Startbild:
Code: Alles auswählen
Filter loaded: 14 config prefixes, 6 invalid substrings
Local filter loaded: +5 config prefixes, +0 invalid substrings (/app/filter-local.json)
Whitelist loaded: 20 patterns (/app/whitelist-local.json) – blacklist active additionally
Device ID: <dein-token>
Publishing to: evcc/<dein-token>/<suffix>
Connected to remote broker
Connected to local brokerWartung & Updates
Bridge aktualisieren
Im SSH-Container:
Code: Alles auswählen
cd /mnt/evcc-crowdscience-bridge
git pullDie Bridge lädt den Remote-Filter vom HTW-GitHub automatisch bei jedem Start – kein manueller Eingriff nötig.
Datenspende beenden
Container in Portainer stoppen oder Token in den evcc-Einstellungen löschen.
Fragen oder Probleme? Einfach hier im Thread melden.