Skip to content

derolli1976/enpal

Repository files navigation

Enpal Solar Logo

Enpal Solar – Home Assistant Integration

hacs_badge HACS installs GitHub release Pytest CodeQL Bandit Enpal_version

hacs_install

Buy Me A Coffee

Eine Home Assistant Custom Integration zur lokalen Überwachung von Enpal Solaranlagen. Liest Daten direkt aus der lokalen Weboberfläche der Enpal Box und stellt über 100 Sensoren für Solaranlage, Batterie, Wallbox und Wärmepumpe bereit.


🆕 Neu in Version 3.0.0

Version 3.0.0 bringt einen Echtzeit-Modus und eine native Wallbox-Steuerung.

  • WebSocket-Modus (Echtzeit): Sensor-Werte werden sofort aktualisiert statt nur im Intervall. Setzt Firmware 8.50 voraus.
  • Native Wallbox-Steuerung ohne Add-on: Im WebSocket-Modus steuert die Integration die Wallbox direkt. Das separate Add-on bzw. die Wallbox App wird nicht mehr benötigt.
  • Inkrementelles RenderBatch-Parsing: Senkt die CPU-Last der Enpal Box, weil bei jeder Änderung nur die geänderten Sensoren aktualisiert werden statt der ganzen Seite.
  • Dynamische Sensoren zur Laufzeit: Neue Datenpunkte legt die Integration automatisch an. Werte bleiben über einen Neustart erhalten.
  • Zuverlässigere Wallbox-Status-Erkennung: Erkennt mehrere Namensvarianten des Status-Sensors. Bei unbekanntem Namen führt eine Reparatur-Meldung durch die manuelle Auswahl.

Details in den Release Notes 3.0.0.

Update 3.0.1: Bugfix für den WebSocket-Modus. Sensoren, die direkt nach einem Neustart fehlten, froren ein oder blieben unavailable. Details in den Release Notes 3.0.1.

Update 3.0.2: Geringere CPU-Last und ein Statussensor der Wallbox, der nicht mehr fehlerhaft als Spannungssensor behandelt wird. Details in den Release Notes 3.0.2.

Hinweis zur Firmware: Der WebSocket-Modus, die native Wallbox-Steuerung und das RenderBatch-Parsing setzen die Enpal-Firmware Solar Rel. 8.50.1-773465 (27.05.2026) voraus. Auf älteren Firmware-Ständen läuft weiterhin der HTML-Polling-Modus (Legacy), ohne die neuen Echtzeit- und Wallbox-Funktionen.

Hinweis zu fehlenden Sensoren: Seit Firmware 8.50 stellt Enpal einige Sensoren nicht mehr bereit. Die Integration kann das nicht ändern. Betroffene Entitäten kannst du in Home Assistant gefahrlos löschen.


✨ Features

  • Lokale Kommunikation: Keine Cloud-Anbindung erforderlich, alle Daten werden lokal im Netzwerk abgerufen.
  • Zwei Datenquellen: WebSocket-Echtzeitmodus (Firmware 8.50) oder HTML-Polling (Legacy), mit automatischer Erkennung der besten Methode.
  • Umfangreiche Sensoren: Über 100 Datenpunkte für PV-Anlage, Batterie, Inverter, Wallbox und Wärmepumpe.
  • Flexible Sensor-Gruppen: Wählbare Kategorien (Battery, Inverter, Wallbox, Heatpump und weitere).
  • Auto-Discovery: Automatische Erkennung der Enpal Box im lokalen Netzwerk.
  • Energy Dashboard: Volle Unterstützung für das Home Assistant Energy Dashboard.
  • Wallbox-Steuerung: Nativ im WebSocket-Modus oder über separates Add-on im HTML-Modus.
  • Reparatur-Flow: Geführte Auswahl des Wallbox-Status-Sensors, falls die automatische Erkennung fehlschlägt.
  • UI-Konfiguration: Vollständige Einrichtung über die Home Assistant Oberfläche.
  • Mehrsprachig: Deutsche und englische Übersetzungen.

📊 Unterstützte Geräte & Sensoren

Solaranlage & Inverter

  • Leistung: DC-Strings, AC-Phasen, Gesamtleistung
  • Energie: Tagesertrag, Gesamtertrag, Netzeinspeisung/-bezug
  • Elektrik: Spannung, Strom, Frequenz pro Phase
  • Status: Betriebszustand, Systemstatus, Alarme

Batterie

  • Ladestand: Prozent und absolute Werte (kWh)
  • Leistung: Lade-/Entladeleistung, Max-Werte
  • Elektrik: Spannung, Strom pro Batterie-Unit
  • Status: Betriebsmodus, Zwangsladung/-entladung

Wallbox

  • Laden: Ladestand, Leistung, Gesamtenergie
  • Elektrik: Spannung, Strom pro Phase, Phasenanzahl
  • Steuerung: Lademodus (Eco, Solar, Full, Smart), Start und Stop
  • Status: Ladestatus, angebotene Leistung

Wärmepumpe

  • Temperaturen: Warmwasser, Außentemperatur
  • Energie: Verbrauch (kWh), aktuelle Leistung (kW)
  • Status: Betriebsmodus

System & IoT Edge Device

  • System: CPU-Last, Speichernutzung
  • Netzwerk: LTE-Qualität, Datenverbrauch, Verbindungstyp
  • Diagnose: Firmware-Version, Systemzustand

📋 Voraussetzungen

⚠️ Wichtig: Nur wenige Enpal Boxen der 1. Generation werden unterstützt!

Die Integration funktioniert nur, wenn die Enpal Box eine lokale Weboberfläche bereitstellt. Ob dies der Fall ist, lässt sich einfach testen:

  1. IP-Adresse der Enpal Box im Router ermitteln (z.B. 192.168.178.178)
  2. Im Browser die URL http://<ENPAL-IP>/deviceMessages aufrufen
  3. Wenn eine Webseite wie folgt angezeigt wird, ist die Integration kompatibel:

Enpal Box Webseite

Hinweis: Ältere Enpal Boxen (1. Generation) stellen diese Weboberfläche nicht immer bereit und werden aktuell nicht unterstützt.

Technische Anforderungen

  • Home Assistant Core 2024.1.0 oder höher
  • Enpal Box im selben Netzwerk wie Home Assistant
  • DHCP-aktivierter Router (Enpal Box bezieht IP per DHCP)
  • Für den WebSocket-Modus und die native Wallbox-Steuerung: Enpal-Firmware Solar Rel. 8.50 oder höher

🔀 Datenquellen: WebSocket oder HTML

Die Integration kennt zwei Wege, um Daten von der Enpal Box zu lesen. Die Auswahl triffst du im Setup-Assistenten unter Datenquelle.

WebSocket-Modus (Echtzeit, Firmware 8.50)

Die Integration nutzt die native Schnittstelle der Enpal Box. Das ist dieselbe Technik, die auch die Weboberfläche intern verwendet.

  • Sensor-Werte werden sofort aktualisiert.
  • Die Integration hängt nicht an der HTML-Struktur der Webseite.
  • Die Wallbox wird nativ gesteuert, ohne Add-on.
  • Inkrementelles RenderBatch-Parsing senkt die CPU-Last der Box.

HTML-Polling-Modus (Legacy)

Die Integration ruft im eingestellten Intervall die Seite http://<ENPAL-IP>/deviceMessages ab und liest die Tabellen aus.

  • Funktioniert auch auf Boxen ohne WebSocket-Unterstützung.
  • Die Wallbox-Steuerung läuft über ein separates Add-on bzw. die Wallbox App.

Auswahl der Datenquelle

  • Auto-detect (empfohlen): Prüft, ob WebSocket verfügbar ist, und fällt im Zweifel auf HTML-Polling zurück.
  • WebSocket (Echtzeit): Erzwingt die WebSocket-Verbindung.
  • HTML-Polling (Legacy): Erzwingt die bisherige Methode.

📦 Installation

🎯 Empfohlene Methode: HACS

Die Integration ist offiziell in HACS gelistet.

Schritt 1: Integration über HACS herunterladen

  1. HACS öffnen über die Seitenleiste in Home Assistant
  2. Im Suchfeld nach Enpal Solar suchen
  3. Integration auswählen und auf Herunterladen klicken
  4. Home Assistant neu starten

Direkt in HACS öffnen

Schritt 2: Integration einrichten

Wichtig: Die Integration muss erst über HACS heruntergeladen werden (Schritt 1), bevor sie unter "Geräte & Dienste" hinzugefügt werden kann.

  1. EinstellungenGeräte & Dienste öffnen
  2. Unten rechts auf + Integration hinzufügen klicken
  3. Nach Enpal Solar suchen und auswählen
  4. Setup-Assistent folgen (siehe Konfiguration)

Integration hinzufügen

🛠️ Manuelle Installation

Klicken für manuelle Installationsanleitung
  1. Neueste Release herunterladen
  2. Den Ordner custom_components/enpal_webparser/ in das Home Assistant custom_components Verzeichnis kopieren
    • Pfad: /config/custom_components/enpal_webparser/
    • Bei Hass.io: SAMBA verwenden
    • Bei Supervised: Eventuell unter /usr/share/hassio/homeassistant/
  3. Home Assistant neu starten
  4. Zur Integration hinzufügen (siehe Konfiguration)

⚙️ Konfiguration

Ersteinrichtung

  1. EinstellungenGeräte & Dienste öffnen
  2. Unten rechts auf + Integration hinzufügen klicken
  3. Nach Enpal Solar suchen und auswählen

Integration hinzufügen

Setup-Assistent

Der Setup-Assistent führt durch folgende Schritte:

Schritt 1: Methode wählen

  • Auto-Discovery: Automatische Suche der Enpal Box im Netzwerk (empfohlen)
  • Manuelle Eingabe: URL manuell eingeben, falls Auto-Discovery fehlschlägt

Schritt 2: URL & Verbindung

  • Bei Auto-Discovery: Gefundene Enpal Box auswählen
  • Bei manueller Eingabe: URL eingeben (z.B. http://192.168.178.178/deviceMessages)
  • Die Verbindung wird automatisch getestet

Schritt 3: Sensoren und Datenquelle konfigurieren

  • Datenquelle: Auto-detect, WebSocket oder HTML-Polling (siehe Datenquellen)
  • Aktualisierungsintervall: Empfohlen 60 Sekunden (Minimum 10 Sekunden). Im WebSocket-Modus steuert dieses Intervall den Vollabgleich im Hintergrund.
  • Sensor-Gruppen: Auswahl der gewünschten Kategorien
    • Battery - Batterie-Sensoren
    • Inverter - Wechselrichter-Sensoren
    • Wallbox - Wallbox-Sensoren (falls vorhanden)
    • Heatpump - Wärmepumpen-Sensoren (falls vorhanden)
    • Site Data - Standort- und Verbrauchsdaten
    • IoTEdgeDevice - System-Sensoren
    • PowerSensor - Stromsensor-Daten
  • Wallbox-Steuerung: Bei Bedarf aktivieren (siehe Wallbox-Steuerung)

Sensor-Gruppen nachträglich anpassen

Sensor-Gruppen können jederzeit geändert werden:

  1. EinstellungenGeräte & Dienste öffnen
  2. Bei der Enpal Integration auf das Zahnrad (Konfigurieren) klicken
  3. Weiter klicken bis zur Sensor-Gruppen-Auswahl
  4. Gewünschte Gruppen an-/abwählen
  5. Mit Senden bestätigen

Hinweis: Nicht ausgewählte Sensor-Gruppen werden als deaktivierte Entitäten angelegt und können bei Bedarf später manuell aktiviert werden.


🚗 Wallbox-Steuerung (Optional)

Die Wallbox-Steuerung aktivierst du in den Integrationseinstellungen. Wie die Steuerung kommuniziert, hängt von der gewählten Datenquelle ab.

WebSocket-Modus (Firmware 8.50): native Steuerung ohne Add-on

Im WebSocket-Modus steuert die Integration die Wallbox direkt. Das separate Wallbox Add-on bzw. die Wallbox App wird nicht mehr benötigt.

Wichtig: Stoppe das alte Wallbox Add-on bzw. die Wallbox App im WebSocket-Modus. Sonst kommt es zu doppelten Steuerbefehlen.

Unterstützte Funktionen:

  • Lademodus umschalten: Eco, Solar, Full, Smart
  • Laden starten und stoppen
  • Status-Sensoren: aktueller Modus, Ladestatus, Leistung

HTML-Polling-Modus (Legacy): Steuerung über Add-on

Im HTML-Modus wird für die Wallbox-Steuerung ein separates Add-on benötigt, das die Kommunikation mit der Wallbox-Hardware übernimmt. Seit 2026.2 stellt Home Assistant dies als eigene "App" bereit.

Installation des Add-ons / der App

  1. Add-on / App Store in Home Assistant öffnen (Einstellungen → Apps)
  2. Drei-Punkte-Menü (oben rechts) → Repositories
  3. Repository-URL hinzufügen:
    https://github.com/derolli1976/enpal-wallbox-addon
    
  4. Enpal Wallbox Control Add-on / App installieren
  5. Add-on / App starten
  6. In der Enpal Integration die Wallbox-Steuerung aktivieren (siehe Konfiguration)

📚 Vollständige Wallbox Add-on / App Dokumentation


🔧 Fehlerbehebung

Häufige Probleme

Auto-Discovery findet keine Enpal Box

Ursachen:

  • Enpal Box in anderem Subnetz
  • Firewall blockiert Multicast-Traffic
  • Docker/VM mit NAT statt Bridge-Modus

Lösungen:

  1. Manuelle Eingabe der URL verwenden
  2. IP-Adresse der Enpal Box im Router ermitteln
  3. Bei Docker: --network host verwenden
  4. Bei VM: Bridge-Netzwerk statt NAT konfigurieren
Sensoren zeigen keine Werte an

Lösungen:

  1. Prüfen ob Sensor-Gruppe aktiviert ist
  2. Enpal Box und Home Assistant neu starten
  3. Logs prüfen: EinstellungenSystemProtokolle (nach [Enpal] filtern)
  4. URL im Browser öffnen und prüfen ob Daten vorhanden sind
Sensoren nach Enpal-Update verschwunden

Enpal aktualisiert gelegentlich die Firmware, was zu temporär fehlenden Sensoren führen kann.

Lösungen:

  1. Enpal Box neu starten (Hauptschalter aus/an)
  2. Home Assistant neu starten
  3. 1-2 Tage warten (Sensoren tauchen oft von selbst wieder auf)
  4. Im Forum nach ähnlichen Problemen suchen

Hinweis: Die Integration kann nur Daten anzeigen, die die Enpal Box bereitstellt. Bei Firmware-Updates können sich verfügbare Datenpunkte ändern.

⚠️ Seit Firmware 8.50 stellt Enpal einige Sensoren nicht mehr bereit. Die Integration kann das nicht ändern. Fehlende Werte kommen daher, dass die Enpal Box sie nicht mehr liefert. Die dauerhaft nicht mehr verfügbaren Sensoren kannst du in Home Assistant gefahrlos löschen (über Einstellungen → Geräte & Dienste → Entitäten die jeweilige Entität auswählen und entfernen). Liefert Enpal einen Sensor später wieder, legt die Integration ihn automatisch neu an.

Wallbox-Steuerung funktioniert nicht

Prüfungen im WebSocket-Modus:

  1. Datenquelle auf WebSocket (oder Auto-detect mit verfügbarem WebSocket)?
  2. Wallbox-Steuerung in der Integration aktiviert?
  3. Altes Wallbox Add-on bzw. die App gestoppt? Doppelte Steuerung führt zu Konflikten.
  4. Sensor sensor.wallbox_status vorhanden und aktualisiert?

Prüfungen im HTML-Modus:

  1. Wallbox Add-on bzw. App installiert und gestartet?
  2. Wallbox-Steuerung in der Integration aktiviert?
  3. Add-on bzw. App Logs prüfen: EinstellungenAdd-ons / AppsEnpal Wallbox ControlProtokoll
  4. Sensor sensor.wallbox_status vorhanden und aktualisiert?

ℹ️ Wallbox-Status bleibt unknown: Je nach Firmware liefert die Enpal Box den Status-Sensor unter verschiedenen Namen. Findet die Integration bei aktiver Wallbox-Steuerung keinen passenden Status-Sensor, legt sie eine Reparatur-Meldung an (Einstellungen → System → Reparaturen). Über Beheben wählst du den richtigen Sensor aus. Danach lädt die Integration neu und der Status wird angezeigt.

Debug-Logs aktivieren

Bei Problemen Debug-Logs in configuration.yaml aktivieren:

logger:
  default: warning
  logs:
    custom_components.enpal_webparser: debug

Danach Home Assistant neu starten und Logs unter EinstellungenSystemProtokolle prüfen (nach [Enpal] filtern).


🌟 Energy Dashboard Integration

Die Integration ist vollständig mit dem Home Assistant Energy Dashboard kompatibel.

Empfohlene Sensoren für Energy Dashboard

Netzverbrauch:

  • sensor.inverter_grid_import_power_total_calculated (Bezug vom Netz)

Einspeisung:

  • sensor.inverter_power_grid_export_calculated (Einspeisung ins Netz)

Solaranlage:

  • sensor.inverter_energy_produced_total_dc (Täglicher Ertrag)
  • sensor.inverter_energy_production_total_lifetime (Gesamtertrag)

Batterie:

  • sensor.inverter_energy_battery_charge_lifetime (Batterieladung)
  • sensor.inverter_energy_battery_discharge_lifetime (Batterieentladung)

Wärmepumpe (falls vorhanden):

  • sensor.heatpump_energy_consumption_total_lifetime (Gesamtverbrauch)

📝 Bekannte Einschränkungen

  • Nur 1. Generation Enpal Boxen mit lokaler Weboberfläche werden unterstützt.
  • Firmware 8.50 für neue Funktionen: WebSocket-Echtzeitmodus, native Wallbox-Steuerung und das inkrementelle RenderBatch-Parsing setzen Firmware 8.50 voraus. Ältere Stände nutzen den HTML-Polling-Modus.
  • Sensor-Unterschiede zwischen den Modi: Im WebSocket-Modus stehen teilweise andere Sensoren zur Verfügung als im HTML-Modus. Siehe Sensor-Vergleich.
  • Mehrdeutige Sensoren: Sensoren mit gleichem Namen in mehreren Gruppen aktualisieren im WebSocket-Modus erst im Vollabgleich-Intervall statt in Echtzeit.
  • Firmware-Abhängigkeit: Verfügbare Sensoren können sich durch Enpal-Firmware-Updates ändern.
  • Keine Cloud-Integration: Die Integration kommuniziert nur lokal, keine Anbindung an die Enpal-Cloud.

🙏 Mitwirken & Support

Feedback & Bugs

Beitragen

Pull Requests sind willkommen! Bitte vorher ein Issue öffnen, um Änderungen zu besprechen.

Kaffee spendieren

Wenn die Integration hilfreich ist:

Buy Me A Coffee


⚖️ Rechtliches & Haftungsausschluss

Dies ist keine offizielle Integration von Enpal.

Dieses Projekt steht in keinerlei Verbindung zur Enpal B.V. und ist eine inoffizielle, privat entwickelte Erweiterung. Die Integration basiert ausschließlich auf lokal im Netzwerk bereitgestellten Daten.

Die Nutzung erfolgt auf eigene Verantwortung. Die Funktionalität kann durch Änderungen an der Firmware oder Weboberfläche der Enpal-Anlage jederzeit eingeschränkt oder unterbrochen werden.

Weder der Autor noch Mitwirkende übernehmen Haftung für Schäden, Datenverlust oder Fehlfunktionen.


📄 Lizenz

MIT License - siehe LICENSE Datei für Details.


Getestet mit: Enpal Firmware Solar Rel. 8.50.1-773465 (27.05.2026)