> ## Content Index
> Fetch the complete content index at: https://lab.mackedanz.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# Mein Balkonkraftwerk mit Speicher in Home Assistant: Aufbau, Dashboard und die Sensor-Fallen
- URL: https://lab.mackedanz.net/balkonkraftwerk-home-assistant/
- Published: 2026-09-08T08:46:36.000Z
- Updated: 2026-09-08T08:53:59.000Z
- Description: Nulleinspeisung mit ~5-kWh-Akku (MaxxiCharge CCU), zwei getrennte PV-Stränge – 98 % Eigenverbrauch. Der Dashboard-Aufbau und vier Sensor-Fallen, die die Autarkie sonst auf 0 % kleben.
- Author: Michael Mackedanz
- Tags: Home Assistant, Solar, Homelab

*Nulleinspeisung, \~5 kWh Akku, zwei getrennte PV-Stränge – und vier Stellen, an denen die Zahlen im Dashboard erst falsch waren.*

## TL;DR

Ein Balkonkraftwerk mit MaxxiCharge-CCU regelt die Wechselrichter-Ausgabe auf den Hausverbrauch und schiebt den Überschuss in einen \~5-kWh-Akku – Ziel: nichts einspeisen. Im laufenden Jahr: **1.324 kWh erzeugt, davon 1.301 kWh selbst verbraucht (98 %)**, nur 23 kWh ins Netz. Das Dashboard dazu ist schnell gebaut; die Arbeit steckt in vier Sensor-Details, die die Autarkie-Anzeige sonst auf 0 % kleben lassen.

![Home-Assistant-Dashboard des Balkonkraftwerks: solar-card mit Erzeugung, Verbrauch und Tageswerten, darunter ein Energiefluss-Sankey von Batterie/Netz/PV über die Etagen bis zu einzelnen Geräten, dazu Verlaufsgraphen, Gauges für Akku-Leistung und Ladestand, die Live-Verteilung mit Autarkie- und Anteil-Balken sowie die Jahreswerte.](https://lab.mackedanz.net/content/images/2026/09/solar-dashboard-cropped.png)

Die komplette `Solar`\-View: oben die `solar-card` mit Energiefluss-Sankey und Top-Verbrauchern, darunter Verläufe, Momentanwerte, Live-Verteilung und Jahreswerte.

## Die Anlage

- **MaxxiCharge CCU** (maxxisun) als Regler. Sie liest über einen Tasmota-Lesekopf am Stromzähler die aktuelle Netz-Wirkleistung und moduliert die Wechselrichter-Ausgabe so, dass der Netzbezug nahe null bleibt. Überschuss lädt den Akku, abends entlädt er wieder.
- **Akku rund 5 kWh** (aus 322 Wh bei 6 % Restladung hochgerechnet).
- **Zweiter PV-Strang „Solar Keller"** – ein kleines Modul mit eigenem Tasmota-Messpunkt, das die CCU *nicht* kennt. Muss in der Gesamtrechnung von Hand mitgeführt werden.
- Betrieb aktuell im **Sommermodus** (`switch.balkonkraftwerk_winterbetrieb` \= off).

**Die Regel-Parameter der CCU**, direkt aus Home Assistant steuerbar:

| Parameter                | Wert                     | Bedeutung                                                         |
| ------------------------ | ------------------------ | ----------------------------------------------------------------- |
| Reaktionstoleranz        | 50 W                     | Totband auf die Zähler-Messung – darunter wird nicht nachgeregelt |
| Ausgabe korrigieren      | kleiner Korrektur-Offset | gleicht Messabweichungen am Zähler aus                            |
| Offline-Ausgangsleistung | Fallback-Festwert        | greift, wenn die Zähler-Verbindung abreißt                        |
| Minimale Entladung       | 5 %                      | Akku wird nicht tiefer entladen                                   |
| Maximale Akkuladung      | 100 %                    | im Sommer voll laden erlaubt                                      |

*(Die eingestellte Leistungsobergrenze lasse ich hier bewusst weg – jeder betreibt seine Anlage im Rahmen der für ihn geltenden Vorgaben.)*

## Das Dashboard

Eine `sections`\-View mit sechs Blöcken:

1. **Solar Übersicht** – die `custom:solar-card`. Sie bringt Erzeugung/Verbrauch, die Tages- und Jahres-Kacheln, den **Energiefluss als Sankey** (Batterie/Netz/PV → Home → Etagen → Räume → einzelne Geräte, inklusive „Nicht erfasster Verbrauch") und eine Reihe **Top-Verbraucher** als Badges mit.
2. **Verläufe** – sechs `mini-graph`\-Kacheln über 24 h: PV-Leistung, Stromzähler, Batterie-Ladestand, Netzbezug, Netzeinspeisung, PV-Produktion heute, CCU-Leistung.
3. **Live-Verteilung** – `custom:power-distribution-card` mit Hausbedarf, Solar-Erzeugung, Netzbezug, Akku und „Ins Netz", dazu zwei Balken: **Autarkie** und **Anteil**. Achtung: die Autarkie hier ist ein **Momentanwert** (im Screenshot 79 %) – nicht zu verwechseln mit der Jahres-Autarkie im Block „Jahreswerte" (\~35 %).
4. **Momentanwerte** – drei Gauges: Leistung aus dem Akku, Akku-Ladestand, Zähler-Wirkleistung.
5. **Jahreswerte** – zweite `power-distribution-card`, aber mit den Jahres-Summen in kWh statt Live-Watt, plus zwei Euro-Kacheln (Einspeise-Verlust rot, Eigenverbrauchs-Ersparnis grün) – und der Jahres-Autarkie als Balken.
6. **Balkonkraftwerk Einstellungen** – die `number`\-Entitäten der CCU zum direkten Nachjustieren.

## Die Zahlen, die zählen

Aus den eigenen „im Jahr"-Template-Sensoren:

| Kennzahl                                            | Wert                 |
| --------------------------------------------------- | -------------------- |
| Erzeugung im Jahr                                   | 1.324 kWh            |
| davon selbst verbraucht                             | 1.301 kWh (**98 %**) |
| ins Netz eingespeist                                | 23 kWh               |
| „Verlust" durch Einspeisung (zu Einspeisevergütung) | 9,28 €               |
| Ersparnis durch Eigenverbrauch (zu Arbeitspreis)    | 520 €                |
| Autarkie (Eigenverbrauch / Gesamtverbrauch)         | \~35 %               |
| Erzeugung seit 2023 gesamt                          | 3.931 kWh            |

Ein typischer Sommermonat liefert für die kombinierte Anlage rund 240–270 kWh, also grob 8 kWh am Tag. Die Aussage des Dashboards ist eindeutig: Die Nulleinspeisungs-Strategie mit Akku funktioniert – es geht fast nichts verloren, und der Eigenverbrauch spart real dreistellig.

## Die vier Sensor-Fallen

### 1\. W vs. kWh, und die Autarkie-Bar, die auf 0 % klebt

Die selbstgebauten „im Jahr"-Sensoren (`sensor.solar_im_jahr_watt`, `sensor.stromverbrauch_jahrlich_watt`, `sensor.solar_eigenverbrauch_im_jahr` …) zählen **Kilowattstunden**, waren aber als `device_class: power` / `unit_of_measurement: "W"` deklariert – vermutlich, weil im Namen „Watt" steht. Folgen:

- Warnungen im Energie-Dashboard („Einheit hat sich geändert").
- Die **Autarkie-Bar der `power-distribution-card` blieb stur auf 0 %**. Die Karte rechnet den Autarkie-Anteil nur, wenn Producer- und Consumer-Entitäten konsistent `energy`/`kWh` sind – bei Mismatch zeigt sie kommentarlos 0, keinen Fehler.

Fix: `unit_of_measurement: "kWh"` und `device_class: energy` an den betroffenen Template-Sensoren. Danach stand die Autarkie sofort bei \~35 %. **Merksatz: Eine Ratio-/Prozent-Kachel, die auf 0 hängt, zuerst auf Einheiten- und `device_class`\-Konsistenz der zugrunde liegenden Entitäten prüfen.**

### 2\. Baseline-Offset-Zähler statt `total_increasing`

Die „im Jahr"-Sensoren sind bewusst `state_class: measurement` mit einem Jahres-Offset, **nicht** `total_increasing`. Ein `total_increasing` mit hart gesetztem Jahres-Startwert zerschießt beim Jahreswechsel die Langzeitstatistik (Sprung nach unten → HA interpretiert einen Zählertausch). Der Offset-Ansatz ist unhübscher, aber stabil. Beim Umstellen der `device_class` in Falle 1 diese `state_class` **nicht** mitändern.

### 3\. Tote Sensoren nach einem Integrationswechsel

`sensor.produktion_der_600w_anlage` steht auf `unavailable` – er ist ein Template-Sensor, der aus `sensor.solarman_total_ac_output_power_active` rechnet, und diese Entität **existiert nicht mehr**, seit die Solarman-Integration entfernt wurde. Ein Template-Sensor wird beim Entfernen seiner Quell-Integration nicht mit aufgeräumt; er bleibt als `unavailable`\-Leiche im System und in jeder Karte, die ihn referenziert. Solche Reste nach jedem Integrations-Umbau aktiv suchen (`Entwicklerwerkzeuge → Zustände`, nach `unavailable` filtern) und den Template-Sensor löschen oder umschreiben.

### 4\. Zweite Erzeugung, die der Regler nicht sieht

Die CCU bilanziert nur ihren eigenen Strang. Der „Solar Keller"-Strang läuft über einen separaten Tasmota-Messpunkt (`sensor.tasmota_energy_power_2` / `_today_2`). Wer die *gesamte* Erzeugung will, muss beide Quellen im Template addieren – sonst fehlen im Jahr mehrere Prozent, und die Autarkie wird zu niedrig ausgewiesen.

## Checkliste

- Nach jedem Integrations-Umbau: `Zustände` nach `unavailable` filtern, tote Template-Sensoren aufräumen
- Energie-Template-Sensoren: `unit_of_measurement` **und** `device_class` konsistent (`kWh` / `energy`) – sonst schweigt die Autarkie-Karte
- „Seit X"-/„im Jahr"-Zähler als `measurement` mit Offset führen, nicht als `total_increasing`
- Jede PV-Quelle, die der Hauptregler nicht kennt, explizit in die Gesamtsumme rechnen
- CCU-Parameter (Totband, Offset, Min-Entladung) als `number`\-Entitäten aufs Dashboard – dann muss man für eine Anpassung nicht in die Hersteller-App

---

*Verwandte Notiz:* [*Recorder-DB im Griff behalten*](https://lab.mackedanz.net/guide-kapitel-2-home-assistant/)*. — Wie die „im Jahr"-Template-Sensoren aufgebaut sind und der komplette W→kWh-Umbau folgen als eigener Artikel.*