Skip to content

About

Wallbox-Steuerung per Modbus mit Lastbegrenzung im 15-Minuten-Mittel, Ladeverläufen und Ladezeit-Automatik. Mit Installer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DaheimLader

DaheimLader

Steuerung und Auswertung für die Wallbox daheim – über Modbus TCP, mit Weboberfläche und REST-API. Zusammen mit TeslaMate und dem Tesla-Dashboard ergibt sich ein vollständiges Bild vom Hausanschluss bis in den Akku.

Doku mit Screenshots: https://www.ruthner.at/daheimlader/

Hauptseite

Was er kann

  • Live-Werte der Wallbox: Leistung, Ströme und Spannungen je Phase, Session, Zähler
  • Ladesteuerung: Ladestrom 6–16 A, Pause, Automatik „bis HH:MM auf X %“ (startet so spät wie möglich, rechnet mit der gelernten Ladekurve)
  • Lastbegrenzung: hält den Netzbezug im 15-Minuten-Mittel unter einer Grenze (5–9,8 kW) – wichtig, wo der Netzbetreiber nach Leistung abrechnet. Kurze Spitzen (Herd, Mikrowelle) werden im Rest der Viertelstunde ausgeglichen; optional Rücksicht auf eine Wärmepumpe
  • Ladeverläufe: jede Ladung als Kurve (Hausanschluss, Wallbox, Sollstrom, Grund der Regelung), 90 Tage
  • Leitungsverlust zwischen Hausanschluss und Wallbox (mit Shelly 3EM), Kalibrierung per Knopfdruck
  • mit TeslaMate: Abgleich Wallbox ↔ Auto, Wirkungsgrad, nutzbare Akkukapazität, Ladekurve, Statistik

Hardware

Teil Pflicht? Wozu
Wallbox mit Modbus TCP ja Registerliste siehe unten (Ladestrom-Vorgabe in Register 91)
Shelly 3EM (Gen1) am Hausanschluss für Lastbegrenzung und Leitungsverlust Netzbezug und Spannungen
zweiter Shelly 3EM an der Wärmepumpe nein Lastbegrenzung drosselt, solange sie läuft
TeslaMate (PostgreSQL + MQTT) nein Ladekurve, Kapazität, Statistik, Ladeziel/Restzeit

Registerliste (Holding Register, Unit 255)

Register Inhalt Typ
0 Ladezustand (1 Standby, 2 verbunden, 4 lädt, 6 Session beendet) Uint16
2 Steckerzustand Uint16
6, 8, 10 Strom L1–L3 Uint16 ÷ 10 A
12–13 Leistung Uint32 W
28–29 Zähler gesamt Uint32 ÷ 10 kWh
32 maximaler Strom der Wallbox Uint16 ÷ 10 A
72 Energie der Session Uint16 ÷ 10 kWh
78–79 Dauer der Session Uint32 s
91 Ladestrom-Vorgabe (lesen/schreiben), 0 = Pause Uint16 ÷ 10 A
109, 111, 113 Spannung L1–L3 Uint16 ÷ 10 V

Getestet mit der DaheimLader-Wallbox (nach ihr ist das Projekt benannt; sie meldet sich intern als „M3W_DHL“). Andere Wallboxen brauchen eine angepasste Registerliste in main.py (Abschnitt „Register map“).

Installation

git clone https://github.com/wolfiru/daheimlader.git
cd daheimlader
sudo ./install.sh

Der Installer legt ein Python-venv unter /opt/daheimlader an, einen eigenen Systembenutzer und den systemd-Dienst, und fragt ab: Wallbox (wird sofort gelesen), Shelly, TeslaMate (legt auf Wunsch eine Nur-Lese-Rolle an), MQTT, Strompreis (Durchschnitt inkl. Netzgebühren – oder aus den Teilen ausrechnen), Standort. Ist auf demselben Rechner das Tesla-Dashboard installiert, trägt er sich dort gleich ein.

Einstellungen: /opt/daheimlader/daheimlader.env (nur für den Dienst lesbar). Ändern: erneut sudo ./install.sh, aktualisieren: git pull && sudo ./install.sh --update.

Bedienung

  • Weboberfläche: http://<rechner>:7070/ · Statistik: /statistik · technische Doku: /static/doku.html
  • Logs: journalctl -u daheimlader -f
  • Testbetrieb ohne Schreiben an die Wallbox: DAHEIM_NUR_LESEN=1 in der .env
  • Regelung prüfen: python3 tests/sim.py und python3 tests/sim2.py (Herd, Mikrowelle, Wärmepumpe, PV, Wallbox-Verzug)

Hinweis

Der DaheimLader schreibt nur den Ladestrom (Register 91) und sendet keine Befehle an das Auto. Elektrische Arbeiten an Wallbox und Hausanschluss gehören in die Hände einer Elektrofachkraft.

Lizenz

MIT – siehe LICENSE.

About

Wallbox-Steuerung per Modbus mit Lastbegrenzung im 15-Minuten-Mittel, Ladeverläufen und Ladezeit-Automatik. Mit Installer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages