Solar Load Split ist eine Home-Assistant Custom Integration fuer HACS. Sie teilt den Verbrauch eines Geraets in zwei Anteile auf:
- Solar/PV-Leistung und Solar/PV-Energie
- Netz-Leistung und Netz-Energie
Die Einrichtung laeuft komplett ueber die Home-Assistant-Oberflaeche. YAML ist nicht noetig.
Du richtest einmal deinen Netzbezug-/Einspeise-Leistungssensor ein. Danach kann Solar Load Split passende Geraete-Leistungssensoren erkennen oder manuell hinzufuegen. Optional kannst du pro Geraet auch einen Energiezaehler des gleichen Zwischensteckers oder Shelly auswaehlen.
Aus jedem Geraet entstehen zwoelf Sensoren:
| Sensor | Einheit | Device class | State class |
|---|---|---|---|
<Gerätename> PV Leistung |
kW | power | measurement |
<Gerätename> Netz Leistung |
kW | power | measurement |
<Gerätename> PV Energie |
kWh | energy | total_increasing |
<Gerätename> Netz Energie |
kWh | energy | total_increasing |
<Gerätename> PV Tagesenergie |
kWh | energy | total |
<Gerätename> Netz Tagesenergie |
kWh | energy | total |
<Gerätename> PV Wochenenergie |
kWh | energy | total |
<Gerätename> Netz Wochenenergie |
kWh | energy | total |
<Gerätename> PV Monatsenergie |
kWh | energy | total |
<Gerätename> Netz Monatsenergie |
kWh | energy | total |
<Gerätename> PV Jahresenergie |
kWh | energy | total |
<Gerätename> Netz Jahresenergie |
kWh | energy | total |
Die kWh-Sensoren sind fuer das Home-Assistant Energy Dashboard vorbereitet:
device_class: energynative_unit_of_measurement: kWh- Gesamtzaehler:
state_class: total_increasing - Tages-/Wochen-/Monats-/Jahreszaehler:
state_class: total last_reset = None
Der Netzsensor muss Leistung in W oder kW liefern.
Nach optionaler Umkehrung gilt:
- positiv = Netzbezug
- negativ = Einspeisung
- innerhalb der Netz-Totzone = PV/Akku, wird als PV gezaehlt
- PV/Akku-Anteil = Geraete-Leistung minus echter Netzbezug
Wenn dein Zaehler die Vorzeichen andersherum liefert, aktiviere Netz-Vorzeichen umkehren.
Solar Load Split durchsucht vorhandene sensor-Entitaeten nach Leistungssensoren:
device_class: power- oder Einheit
W/kW
Offensichtliche Netzsensoren werden als Geraetesensor uebersprungen, wenn Name oder Entity-ID typische Begriffe enthalten, zum Beispiel:
gridnetzmeterutilityeinspeisbezug
Fuer jedes passende, noch nicht konfigurierte Geraet wird ein eigener Entdeckt-Eintrag angelegt.
Alle Sensoren werden unter einem virtuellen Geraet gruppiert. Der Name, den du beim Hinzufuegen vergibst, wird direkt in die Entitaetsnamen uebernommen.
- In HACS ein neues benutzerdefiniertes Repository hinzufuegen.
- Kategorie Integration auswaehlen.
- Repository installieren.
- Home Assistant neu starten.
- Einstellungen > Geraete & Dienste > Integration hinzufuegen oeffnen.
- Solar Load Split suchen und hinzufuegen.
- Den Ordner
custom_components/pv_device_splitnachconfig/custom_components/pv_device_splitkopieren. - Home Assistant neu starten.
- Einstellungen > Geraete & Dienste > Integration hinzufuegen oeffnen.
- Solar Load Split suchen und hinzufuegen.
Beim ersten Einrichten fragt Solar Load Split nach:
name: Anzeigename des Basis-Eintragsgrid_power: Netzbezug-/Einspeise-Leistungssensorinvert_grid: optional, wenn dein Netzsensor die Vorzeichen andersherum liefertenable_discovery: automatische Erkennung aktivieren oder deaktivieren, Standard ist ausgrid_buffer_seconds: zeitlicher Netzpuffer in Sekundengrid_deadband_watts: Netz-Totzone in Watt, Standard ist100 W
Dieser Basis-Eintrag erzeugt noch keine Split-Sensoren. Er speichert nur den Netzsensor, der fuer alle Geraete verwendet wird.
Der zeitliche Netzpuffer entprellt nur den Wechsel zwischen Netzbezug und
Einspeisung. Die aktuelle Leistungshoehe wird nicht gemittelt. Das verhindert,
dass Solar Load Split bei kurzen Akku-/Wechselrichter-Schwankungen sofort
zwischen Netzbezug und Einspeisung springt. 0 deaktiviert den Puffer. Standard
ist 0 Sekunden.
Die Netz-Totzone behandelt kleine Werte rund um 0 W als PV-/Akku-Versorgung.
Beispiel: Bei 100 W Totzone werden +80 W Netzbezug oder -50 W Einspeisung
nicht als echter Netzbezug gezaehlt. Das ist hilfreich, wenn ein Akku oder
Wechselrichter den Netzanschlusspunkt regelt und der Zaehler staendig kleine
Werte wie 9-80 W meldet. Innerhalb der Totzone zaehlt Solar Load Split die
aktuelle Geraete-Leistung als PV-Energie und die Netz-Energie bleibt bei 0.
Wichtig: Der Netzsensor zeigt den Wert am Hausanschluss nach dem Geraet. Darum wird der echte Netzanteil des Geraets aus dem positiven Netzbezug abgeleitet und auf die Geraete-Leistung begrenzt. Alles, was nicht durch echten Netzbezug gedeckt ist, wird als PV-/Akku-Anteil gezaehlt.
Nach dem Laden des Basis-Eintrags scannt Solar Load Split vorhandene Leistungssensoren und erstellt Vorschlaege unter Entdeckt.
Wenn Automatische Erkennung aktivieren ausgeschaltet ist, werden keine Discovery-Vorschlaege erzeugt. Manuelles Hinzufuegen funktioniert weiterhin. Der Schalter ist standardmaessig ausgeschaltet.
Der Scan laeuft:
- beim Start von Home Assistant
- wenn der Basis-Eintrag geladen wird
- wenn ein Solar-Load-Split-Eintrag geladen wird
- zusaetzlich verzoegert nach dem Start, damit spaet geladene Sensoren erkannt werden
Wenn spaeter neue Leistungssensoren hinzukommen, lade die Integration neu oder starte Home Assistant neu.
Wenn ein Sensor nicht automatisch erkannt wird:
- Integration hinzufuegen oeffnen.
- Solar Load Split erneut auswaehlen.
- Falls Home Assistant erst eine Auswahlseite zeigt, Eine weitere Instanz von Solar Load Split einrichten auswaehlen.
- Der Dialog Geraet manuell hinzufuegen oeffnet sich direkt.
- Geraete-Leistungssensor auswaehlen.
- Optional den Geraete-Energiesensor des gleichen Messgeraets auswaehlen.
- Falls noetig Netzsensor kontrollieren oder auswaehlen.
- Bestaetigen.
Der Netzsensor und invert_grid werden aus dem Basis-Eintrag uebernommen, wenn ein passender Eintrag erkannt wurde. Andernfalls kannst du sie im manuellen Dialog auswaehlen.
Bereits eingerichtete Eintraege kannst du ueber Konfigurieren bearbeiten.
Je nach Eintrag kannst du anpassen:
- Name
- Geraete-Leistungssensor
- Geraete-Energiesensor
- Netzbezug-/Einspeise-Leistungssensor
- Netz-Vorzeichen umkehren
- Automatische Erkennung aktivieren
- Zeitlicher Netzpuffer
- Netz-Totzone
Nach dem Speichern wird der Eintrag automatisch neu geladen.
Die Aufteilung nutzt immer den Geraete-Leistungssensor und den Netzsensor.
Wenn ein optionaler Geraete-Energiesensor vorhanden ist, werden die echten
kWh-Deltas dieses Sensors auf PV und Netz verteilt. Das liefert die genaueste
Summe, weil PV + Netz dann direkt an den echten Energiezaehler des
Zwischensteckers oder Shelly gekoppelt ist.
if invert_grid:
grid_power = grid_power * -1
grid_power sign changes are delayed by grid_buffer_seconds
if abs(grid_power) <= grid_deadband_watts:
grid_power = 0
grid_used = min(max(grid_power, 0), device_power)
pv_used = max(device_power - grid_used, 0)
if device_energy is available:
device_energy_delta = current_device_energy - last_device_energy
grid_energy_delta = device_energy_delta * grid_used / (pv_used + grid_used)
pv_energy_delta = device_energy_delta - grid_energy_delta
else:
grid_energy_delta = grid_used * elapsed_time
pv_energy_delta = pv_used * elapsed_time
Ausgabe:
- Leistungssensoren in
kW - Energiesensoren in
kWh - Rundung auf 2 Nachkommastellen
Intern rechnet Solar Load Split mit voller Praezision und rundet erst fuer die Anzeige der Sensorwerte.
.
├── docs/
│ └── images/
│ ├── setup-01-grid.svg
│ ├── setup-02-discovery.svg
│ └── setup-03-entities.svg
├── hacs.json
├── logo.svg
├── README.md
└── custom_components/
└── pv_device_split/
├── __init__.py
├── config_flow.py
├── const.py
├── discovery.py
├── icon.svg
├── manifest.json
├── sensor.py
├── strings.json
└── translations/
├── de.json
└── en.json
- Die Integration ist UI-only.
- Die Integration ist HACS-kompatibel.
- Deutsch und Englisch werden ueber Home-Assistant-Translations unterstuetzt.
- Jeder Split-Eintrag hat stabile Unique IDs.
- Bestehende Entitaetsnamen werden von Home Assistant im Entity Registry gespeichert. Wenn du Namen nach einem Update testen willst, loesche den betroffenen Eintrag und fuege ihn neu hinzu oder setze die Namen manuell zurueck.
Solar Load Split is a HACS-compatible Home Assistant custom integration. It splits one device power sensor into solar/PV usage and grid usage.
Setup is UI-only:
- Add Solar Load Split once and select the grid import/export power sensor.
- Positive grid power means import, negative grid power means export/feed-in.
- Confirm discovered device power sensors or add a device manually by adding Solar Load Split again.
- Each device creates PV power, grid power, PV energy, and grid energy sensors.
The grid sensor is assumed to measure the house connection after the device load. The device grid share is therefore the current positive grid import, limited to the device power. The remaining device power is counted as PV/battery share.
Energy sensors use kWh, device_class: energy, state_class: total_increasing, and last_reset = None.