E3DC-Control zur Regelung von E3/DC-Hauskraftwerken im Docker-Container
10K+
E3DC-Control zur Steuerung eines E3/DC-Hauskraftwerks
Dieses Docker-Image enthält das von Eberhard Mayer entwickelte Programm E3DC-Control (vielen Dank an den Autor!), welches eine schonende Ladung der Batterie und Umgehung der Abregelung zur Mittagszeit ermöglicht. Das Original als Source-Code samt einer Anleitung lässt sich hier finden: https://github.com/Eba-M/E3DC-Control.
Im Photovoltaikforum gibt es einen langen Thread mit vielen Infos: https://www.photovoltaikforum.com/thread/125497-e3dc-%C3%BCberschusssteuerung-per-rscp-und-raspberry-pi
Der Benutzer ArnoD aus dem Photovoltaikforum hat hier eine besser lesbare Beschreibung der zahlreichen Einstellungsparameter hinterlegt: https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern.
Schnellstart-Anleitung für das Docker-Image
Voraussetzung: Am E3/DC-Hauskraftwerk muss RSCP aktiviert und ein RSCP-Passwort (1. Feld) gesetzt sein! Das Gerät muss im Netzwerk erreichbar sein.
Nun sollte der Container laufen und sich das darin befindliche E3DC-Control mit dem Hauskraftwerk verbinden. Am Gerät selbst kann man dies am im Display unten eingeblendeten gelben Hinweisbalken erkennen.
Hinweis: Wenn der Container auf einem Raspberry Pi mit SD-Karte läuft, so sollte das Logging zur Schonung der SD-Karte entweder abgeschaltet sein (debug = false, enthält sowieso nur eher uninteressante Debug-Infos) oder auf eine zuvor gemountete externe Festplatte gemappt werden.
Dazu vor Container-Start Festplatte mounten und Verzeichnis anlegen:
- sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
- sudo blkid
- sudo mkdir /mnt/hdd01
- sudo mount /dev/sda1 /mnt/hdd01
- mkdir /mnt/hdd01/e3dc-control-logs
Logausgaben von E3DC-Control im Container ansehen
In Container verbinden: docker exec -it e3dc-control bash
In den laufenden Screen für E3DC-Control verbinden: screen -r
Screen wieder verlassen (bei weiterer Ausführung von E3DC-Control): Strg + A, D
Docker-Container verlassen: exit
Beispiel-Konfigurationsdatei e3dc.config.txt
Hinweis: Es ist zu empfehlen die Datei selbst direkt auf dem Raspberry Pi o.ä. unter Linux zu erstellen (z.B. mit nano) und keinesfalls dies hier als konkrete Dateivorlage zu kopieren, denn E3DC-Control ist etwas empfindlich was Dateikodierung und Zeichensätze etc. angeht. Auch Leerzeichen sollten (nur) an den richtigen Stellen stehen. Sonst startet das Programm gerne mal nicht und gibt nur kryptische Hinweise aus.
// Uhrzeiten sind in UTC anzugeben, d.h. im Sommer ist es zur angegebenen Uhrzeit tatsächlich 2 Stunden und im Winter eine Stunde später.
// Dezimalwerte sind mit . als Trennzeichen anzugeben. Uhrzeiten sind dezimal anzugeben (11:30 Uhr wird als 11.5 angegeben).
server_ip =
server_port = 5033
// Zugangsdaten Portal-Benutzer
e3dc_user =
e3dc_password =
// RSCP-Passwort am Gerät gesetzt (1. Feld)
aes_password =
wallbox = false
// Externe 2. PV-Anlage
ext1 = true
ext2 = false
// Leistungsmesser intern
wurzelzaehler = 0
// Netto-Speichergröße (90%)
speichergroesse = 11.7
wrleistung = 12000
// 16,65 * 0,7 = 11,655 - Sicherheit von 155 W
einspeiselimit = 11.5
// Ladekorridor definiert das Zuladen nach Erreichen des Morgensockels bis Wert ladeende
untererLadekorridor = 500
obererLadekorridor = 4500
// Ladeleistung wird innerhalb dieser Werte geregelt falls Abregelung wegen Überschreitung der 70%-Grenze droht.
minimumLadeleistung = 300
maximumLadeleistung = 6000
// Wert ladeschwelle muss immer < unload sein!
// Auf diesen Wert wird der Speicher morgens ab PV-Überschuss mit maximaler Ladeleistung geladen (vorausgesetzt der SoC ist niedriger).
ladeschwelle = 50
// Bei Erreichen der Uhrzeit winterminimum - (sommermaximum - winterminimum) beginnt der Regelzeitraum. Bis dahin wird der Speicher auf den
// Wert unload entladen um Speicherplatz zur Abregelungsverhinderung freizugeben (falls der SoC höher als unload ist).
unload = 50
// Wert ladeende2 sollte gleich oder höher sein als Wert ladeende.
// Der Batteriestand ladeende in Prozent soll zur Uhrzeit sommermaximum erreicht werden.
ladeende = 90
// Der Batteriestand ladeende2 in Prozent soll zur Uhrzeit sommerladeende erreicht werden.
ladeende2 = 95
// Fixe Uhrzeit, zu der in Dahlenburg die Sonne zum 21.12 eines Jahres direkt im Süden steht (11:15 Uhr UTC, 12:15 MEZ)
// Der Wert definiert zusammen mit sommermaximum die sich dynamisch ändernden Uhrzeiten von Ladestart und -ende im Laufe des Jahres. (UTC+1)
winterminimum = 11.25
// Zur Uhrzeit sommermaximum (definiert für 21.06., sonst dynamisch angepasst) soll der Ladestand den Wert ladeende erreicht haben. (UTC+2)
sommermaximum = 15.5
// Zur Uhrzeit sommerladeende soll der Ladestand den Wert ladeende2 erreicht haben. (UTC+2)
sommerladeende = 17
// An Wochenarbeitstagen von Uhrzeit hton bis Uhrzeit htoff gilt der Stromhochtarif, von htoff bis hton der Nachttarif (UTC-Angaben).
// Die Regelung greift erst für Speicher-SoC < htmin --> Sicherstellung, dass der Speicher möglichst im Hochtarif ausspeichert.
htmin = 50
htsockel = 10
hton = 5
htoff = 21
// Tarifsteuerung auch Samstags aktivieren oder nicht.
htsat = true
// Tarifsteuerung auch Sonntags aktivieren oder nicht.
htsun = true
// Logfile anlegen oder nicht. Loginhalt z.B.: U:0.6000 td:0.3500 yd:0.2000 WB0.0000
// Geretteter Überschuss bei angenommener Abregelung: U = 70% hart, td = aktuell 70% weich, yd = gestern 70% weich, WB = durch Wallbox
debug = false
// Dateien mit Namensbeginn log im Unterverzeichnis logs anlegen.
// Dieses Verzeichnis außerhalb des Docker-Containers sollte zur Schonung der SD-Karte auf eine USB-Festplatte des Raspis gemountet werden.
logfile = ./logs/log
Hinweis zur Version 2020.5.16.6: Da ist ein Tippfehler unterlaufen, eigentlich handelt es sich dabei um die E3DC-Control-Version 2020.5.16.0!
Content type
Image
Digest
sha256:870e7488a…
Size
228.2 MB
Last updated
about 2 years ago
docker pull stehada/e3dc-control