DVhub: Hack the Grid
DVhub ist eine digitale Direktvermarktungsschnittstelle auf Basis der PLEXLOG Modbus-Register, zugeschnitten auf Victron ESS-Systeme mit LUOX Energy (ehem. Lumenaza) als Direktvermarkter. Source Available unter der Energy Community License (ECL-1.0).
Was DVhub heute ist
DVhub ist DV-Schnittstelle und Web-Leitstand in einer Anwendung: Dashboard für Live-Werte, Day-Ahead-Preise, Kostenübersicht und Steuerung. Dazu eine History-Seite für Tag/Woche/Monat/Jahr direkt aus der Telemetrie. Aktuell in Version 0.3.6.
Wie funktioniert DVhub?
DVhub nutzt die Modbus-Register-Adressen eines Plexlog und macht Ihre Anlage damit DV-Schnittstellen-tauglich – rein softwarebasiert. Die Live-Daten kommen direkt vom Victron-GX-System, und der Direktvermarkter kommuniziert über das bekannte PLEXLOG-Protokoll – ohne dass ein physischer Plexlog nötig ist.
Der Kommunikationsfluss
Direktvermarkter (LUOX Energy)
|
| OpenVPN-Tunnel (manuelles Setup)
| Portforwarding 502 → 1502
|
v
DVhub Software (Port 1502, Modbus-TCP)
|
| Modbus TCP oder MQTT
|
v
Victron GX-System (Ekrano-GX / Cerbo GX / Venus OS)
|
v
Victron Multiplus II / MPPT / Batterie / Fronius AC-PV
Was passiert konkret?
- Der Direktvermarkter sendet regelmäßig Modbus Read Requests (FC3/FC4) an Port 502 im VPN-Tunnel
- Portforwarding leitet auf DVhub Port 1502 weiter
- DVhub liest die aktuellen Messwerte vom Victron-System (Grid-Meter, PV-Leistung, Batterie-SoC)
- DVhub antwortet dem Direktvermarkter mit den Daten im PLEXLOG-Register-Format
- Bei DV-Signal (FC6/FC16 Write) setzt DVhub die Wirkleistungsbegrenzung am Victron ESS um (0 = Abregelung, 1 = Einspeisung erlaubt)
Wichtig: OpenVPN ist nicht eingebaut
DVhub selbst enthält keinen OpenVPN-Client. Der VPN-Tunnel zu LUOX und das Portforwarding von Port 502 auf Port 1502 müssen separat eingerichtet werden. Bei Unifi-Routern hilft das mitgelieferte Skript 20-dv-modbus.sh für die iptables-Regeln.
Kernfunktionen
| Funktion | Details |
|---|---|
| DV-Modbus-Server | Port wählbar (Standard 1502) mit FC3/FC4 Read und FC6/FC16 Write, PLEXLOG-kompatibel |
| DV-Signalerkennung | Lease-Logik mit sicherer Rückkehr in Freigabe |
| Wirkleistungsbegrenzung | 0 = Abregelung, 1 = Einspeisung erlaubt (binär) |
| Victron-Steuerung | Grid Setpoint, Charge Current und Min SOC |
| Negativpreis-Schutz | Automatische Reaktion auf EPEX-Preise |
| Day-Ahead-Preis-Engine | Heute-/Morgen-Daten mit Hover-Details und Chart-Auswahl |
| Kleine Börsenautomatik | Automatische Entladung in Hochpreisphasen, energiebasierte Slot-Allokation |
| Schedule-System | Defaults, manuelle Writes und Chart-zu-Schedule-Auswahl |
| PostgreSQL-Telemetrie | Persistenz, Rollups, VRM-Nachimport, Connection-Pooling |
| Kosten- und Preislogik | Netz, PV und Akku über userEnergyPricing, datumsbasierte Bezugspreise |
| DVhub Price API | Zentraler Preisfeed (api.dvhub.de) für alle 44 EPEX Day-Ahead Bidding Zones |
| Preiszonen-Selektor | Dynamischer Selektor mit Live-Abdeckungsinfo in Setup und Einstellungen |
| §14a EnWG Modul 3 | Konfigurierbare Preisfenster für steuerbare Verbrauchseinrichtungen |
Oberflächen
| Seite | URL | Funktion |
|---|---|---|
| Dashboard | / | DV-Status, Börsenpreis, Netzleistung, SOC, Kosten, Day-Ahead-Chart, Börsenautomatik, Steuerung, Events |
| Historie | /history.html | Tag/Woche/Monat/Jahr, Bezug, Einspeisung, Kosten, Erlöse, Netto, Marktwert-Vergleich |
| Einstellungen | /settings.html | Anlage, Steuerung, Preise, Health-Checks, Import/Export, Service-Status |
| Setup | /setup.html | First-Run-Assistent mit blockierender Validierung |
| Tools | /tools.html | Modbus Register Scan, Schedule JSON, VRM Import |
Integrationen
DVhub bietet HTTP GET API-Endpunkte für die Einbindung in viele bestehende Systeme. Fehlt eine Integration? Gerne melden!
| Integration | API-Endpunkt | Beschreibung |
|---|---|---|
| Home Assistant | GET /api/integration/home-assistant | JSON-Daten für HA-Sensoren |
| Loxone | GET /api/integration/loxone | Textformat für Loxone Miniserver |
| EOS (Akkudoktor) | GET /api/integration/eos | Messwerte + EPEX-Preise |
| EMHASS | GET /api/integration/emhass | Messwerte + Preisarrays |
| VRM | POST /api/history/backfill/vrm | Historische Daten nachladen |
Installation
Beta-Status
Dieses Produkt befindet sich im Beta-Status. Wir behalten uns das Recht vor, jederzeit eine Monetarisierung der Software vorzunehmen.
# Ein Befehl:
curl -fsSL https://raw.githubusercontent.com/chloepriceless/dvhub/main/install.sh | sudo bash
# Der Installer:
# - installiert Node.js
# - klont das Repo nach /opt/dvhub
# - richtet systemd-Service ein
# - startet den Setup-Assistenten
# Dann im Browser: http://<host>:8080/setup.html
LUOX-Anbindung in der Praxis
Für LUOX brauchst du:
- Meldung an LUOX, dass eine PLEXLOG-kompatible DV-Schnittstelle vorhanden ist
- OpenVPN-Tunnel zu LUOX einrichten (separates Setup)
- Portforwarding von Port 502 aus dem Tunnel auf den konfigurierten DVhub-Port (Standard 1502)
Technische Details
| Eigenschaft | Details |
|---|---|
| Protokoll | Modbus-TCP (PLEXLOG-kompatibel), FC3/FC4 Read, FC6/FC16 Write |
| Port | Wählbar (Standard 1502, Portforwarding 502 → 1502) |
| VPN | OpenVPN (manuelles Setup, nicht eingebaut) |
| Victron-Transport | Modbus TCP oder MQTT |
| Plattform | Jedes Linux-System mit Node.js (Debian, Proxmox LXC, Raspberry Pi) |
| Datenbank | PostgreSQL 14+ (Telemetrie mit Connection-Pooling) |
| Preisfeed | DVhub Price API (api.dvhub.de) – 44 EPEX-Zonen, Fallback auf Energy Charts |
| Konfiguration | Externe Config unter /etc/dvhub/config.json + Herstellerprofil |
| Voraussetzungen | Node.js 22+, PostgreSQL 14+, Victron GX-Gerät im lokalen Netz |
| Version | 0.3.6 |
| Lizenz | Energy Community License (ECL-1.0) – Source Available |
| Sprache | Node.js / JavaScript |
Getestet mit
- LUOX Energy (ehem. Lumenaza) als Direktvermarkter
- Victron Ekrano-GX als GX-System
- Fronius AC-PV (nicht standalone, nur in Verbindung mit Victron-System)
Perspektive
- Weitere Direktvermarkter perspektivisch evtl. möglich (nicht in Aussicht, aber technisch denkbar)
- MiSpeL/Pauschaloption der BNetzA macht DV auch für Anlagen unter 30 kWp attraktiver (BNetzA-Festlegung bis 30.06.2026, EU-Genehmigung ausstehend)
Vergleich: DVhub vs. Hardware-Lösungen
| Kriterium | PlexLog (Hardware) | Solar-Log (Hardware) | DVhub (Software) |
|---|---|---|---|
| Anschaffungskosten | ab ~780 € (netto) | ab ~650 € | Aktuell in Beta (Preis TBD) |
| Installation | Elektriker, RS485-Verkabelung | Elektriker, RS485 | curl | sudo bash |
| Victron-kompatibel | Eingeschränkt (nur phys. Modbus) | Nein (nicht mit Batterie-WR) | Nativ (Modbus TCP + MQTT) |
| Web-Oberfläche | Basis | Monitoring | Dashboard, History, Börsenautomatik, Setup-Assistent |
| Integrationen | Begrenzt | Begrenzt | Home Assistant, Loxone, EOS, EMHASS |
| Updates | Firmware | Firmware | install.sh (automatisch) |
| Vendor Lock-in | An PlexLog gebunden | An Solar-Log gebunden | Keiner |
Für wen ist DVhub?
- Victron-Besitzer, die in die Direktvermarktung einsteigen wollen und keine kompatible Hardware finden
- PV-Anlagenbetreiber ab 25 kWp, die eine DV-Schnittstelle benötigen
- Technisch versierte Betreiber, die Kontrolle über ihre Infrastruktur haben wollen
- Anlagenbetreiber mit Speicher, die von der Kleinen Börsenautomatik profitieren wollen
Lizenz: Energy Community License (ECL-1.0)
DVhub ist Source Available, nicht Open Source im klassischen Sinne. Dieses Produkt befindet sich im Beta-Status. Wir behalten uns das Recht vor, jederzeit eine Monetarisierung der Software vorzunehmen. Die ECL-1.0 erlaubt:
| Erlaubt | Nicht erlaubt |
|---|---|
| Betrieb von Energieanlagen mit der Software | Verkauf der Software selbst |
| Einnahmen aus Energieproduktion erzielen | Hardware mit vorinstallierter Software verkaufen |
| Unternehmen für Installation beauftragen | Kommerzielle SaaS-Angebote auf Basis der Software |
| Community-Modifikationen und Forks | Bündelung in kommerzielle Produkte |
Links
- GitHub: github.com/chloepriceless/dvhub
- Forum: Akkudoktor Forum