Teil 2: Echter Hausstromverbrauch messen

Teil 2: Echter Hausstromverbrauch messen – thinkkreativ Blogartikel

Meine PV-Anlage & Wechselrichter-App: Wie ich den echten Hausstromverbrauch berechne

Blogserie: Mein Smart Home mit Home Assistant – Teil 2

Einleitung: Warum ich eine eigene Wechselrichter-App gebaut habe

Nachdem ich meine Wärmepumpe vollständig über Modbus und MyUplink integriert hatte, wollte ich eine der wichtigsten und meistgestellten Fragen endlich korrekt beantworten:

„Wie viel verbraucht mein Haus wirklich – und wie groß ist der Anteil der Wärmepumpe daran?“

Die Antwort darauf erhält man nicht durch eine einzelne API oder ein einzelnes Gerät. Darum habe ich meine eigene Django-Wechselrichter-App gebaut, die meinen Qcells-Wechselrichter lokal abfragt, die Daten in meiner Datenbank speichert und über eine saubere Live-API an Home Assistant liefert.

Diese Architektur erlaubt es mir:

  • PV-Erzeugung in Echtzeit auszulesen,
  • Hausverbrauch & Netzfluss korrekt zu erfassen,
  • die Wärmepumpenleistung abzuziehen,
  • und dadurch den echten Hausstromverbrauch ohne WP zu berechnen.

1. Der Qcells Wechselrichter – und warum ich ihn lokal abfrage

Ich nutze einen Qcells Wechselrichter (Q.HOME+ oder vergleichbares Modell), der – wie die meisten modernen Geräte – eine lokale API bzw. lokale Datenquelle bereitstellt. Der Vorteil gegenüber Cloud-Diensten liegt auf der Hand:

  • keine Verzögerung (Daten alle paar Sekunden verfügbar),
  • keine Rate Limits oder sperrige Cloud-APIs,
  • 100% Unabhängigkeit, auch bei Internetausfall,
  • aktive Kontrolle über Format, Sicherheit und Datenfluss.

Qcells bietet hier (je nach Modell) zwei Varianten:

  1. Lokale JSON-Daten über das Webinterface des Wechselrichters
  2. Modbus TCP (Wikipedia)

Dokumentation (je nach Serie): Qcells Produktübersicht – Wechselrichter

Für meine Anwendung nutze ich die lokale JSON-Abfrage.


2. Wie die lokale Qcells API grundsätzlich funktioniert

Qcells stellt – ähnlich wie viele andere Wechselrichterhersteller – eine lokale, meist recht einfache HTTP-Schnittstelle bereit, über die man JSON-Daten abrufen kann.

Typische Struktur:

http://IP_DES_WECHSELRICHTERS/api/real_time_data

Der Endpoint liefert Werte wie:

  • pv_power_w – aktuelle PV-Leistung
  • house_consumption_w – Hausverbrauch
  • grid_power_w – Einspeisung / Bezug
  • battery_soc_pct – Ladestand der Batterie
  • battery_power_w – laden oder entladen

Ein Beispiel einer von mir abgefragten Qcells-Antwort:

{
  "pv_power_w": 473,
  "house_consumption_w": 445,
  "grid_power_w": -123,
  "battery_power_w": 0,
  "battery_soc_pct": 9
}

Diese Daten nutze ich dann weiter in meiner Django-App und Home Assistant.


3. Die Architektur: Von Qcells → Django → Home Assistant

Meine Energie-Datenpipeline sieht so aus:

  1. Qcells Wechselrichter liefert lokale Echtzeitdaten (JSON)
  2. Meine Django-Wechselrichter-App (Django Framework) holt die Werte regelmäßig ab, speichert sie in meiner Datenbank und stellt sie über eine API bereit
  3. Home Assistant ruft meine API über die REST-Integration ab

Das sorgt für:

  • klare Datenstrukturen
  • Performanz
  • Cloud-Unabhängigkeit
  • Langzeitspeicherung

4. Das Polling-Skript: Wie ich Qcells in die Datenbank schreibe

In meiner Django-App existiert ein Management-Kommando: poll_wechselrichter.

Es holt die Qcells Daten alle zwei Minuten ab und schreibt sie in die ThinkKreativ-Datenbank.

*/2 * * * * www-data /usr/bin/flock -n /tmp/wechselrichter.poll.lock \
  /bin/sh -lc 'cd /home/thom7e/meinportfolio && \
  /home/thom7e/meinportfolio/.venv/bin/python manage.py poll_wechselrichter \
  >> /var/log/thinkkreativ/poll.log 2>&1'

5. Der Live-API-Endpunkt für Home Assistant

Home Assistant fragt nicht den Wechselrichter ab, sondern meine Django-API. Das hat enorme Vorteile:

  • ich kontrolliere das Format
  • ich filtere und normalisiere die Werte
  • ich kann später weitere Daten hinzufügen, ohne HA umzubauen

Meine API liefert z. B.:

{
  "pv_power_w": 473,
  "house_consumption_w": 445,
  "grid_power_w": -123,
  "battery_power_w": 0,
  "battery_soc_pct": 9
}

Home Assistant holt das so ab:

rest:
  - resource: https://thinkkreativ.de/api/wechselrichter/live/
    scan_interval: 5
    sensor:
      - name: "PV Leistung"
        value_template: "{{ value_json.pv_power_w }}"

6. Der wichtigste Punkt: Der echte Hausstromverbrauch ohne Wärmepumpe

Für mich – und für die meisten Menschen, die ein Energiemonitoring beginnen – ist das der zentrale Aha-Moment:

Ich kann endlich sauber berechnen, wie viel mein Haus ohne Wärmepumpe verbraucht.

Das geht nur, wenn man die Daten aus:

  • der Wärmepumpe (Modbus-Leistung),
  • dem Qcells-Wechselrichter (Hausverbrauch),

kombiniert.

6.1 Die Formel

Hausstrom ohne WP = Hausverbrauch gesamt – WP-Leistung

Diese eine Zeile ist das Fundament meiner gesamten Energieanalyse.

6.2 Umsetzung in Home Assistant

sensor:
  - platform: template
    sensors:
      hausstrom_ohne_wp:
        friendly_name: "Hausverbrauch ohne Wärmepumpe"
        unit_of_measurement: "W"
        value_template: >
          {% set haus = states('sensor.house_consumption_w') | float %}
          {% set wp = states('sensor.wp_power_w') | float %}
          {{ (haus - wp) | round(0) }}

6.3 Typische realistische Werte

  • Nacht-Grundlast: 300–500 W
  • Typischer Tagesverbrauch ohne WP: 7–10 kWh
  • WP-Anteil: ca. 20–35 % im Winter

Beispiel eines Tages:

  • Gesamtverbrauch: 10,13 kWh
  • Wärmepumpe: 2,1 kWh
  • Haus ohne WP: 8,03 kWh

Ohne diese Trennung ist ein sinnvolles Energiemanagement kaum möglich.


7. Warum meine Django-Datenbank langfristig ein Vorteil ist

Da ich alle Qcells-Daten nicht nur in HA nutze, sondern zusätzlich in meiner Django-Datenbank speichere, habe ich:

  • eine unabhängige Langzeitdatenbasis,
  • volle Exportmöglichkeiten,
  • eigene Diagramme auf thinkkreativ.de,
  • historische Analysen ohne Drittanbieter.

Selbst wenn Home Assistant ausfällt, bleiben die Daten erhalten.


8. Das Zusammenspiel: PV, Wärmepumpe & New Analytics

Durch die Kombination aus:

  • lokaler Qcells-API,
  • Modbus-Daten der Wärmepumpe,
  • eigener ThinkKreativ-Datenbank,
  • Home Assistant Visualisierung,
  • und dem Sensor „Hausverbrauch ohne WP“

habe ich ein System, das Energieflüsse realistisch und minutiös korrekt abbildet.

Für mich ist das das Herz meiner gesamten Energieoptimierung.


Ausblick auf Teil 3

Im nächsten Teil der Serie zeige ich:

  • wie ich Mining vollständig PV-geführt betreibe,
  • wie ich Schwellwerte für Überschuss definiere,
  • welche Faktoren ich nutze („Mining vs. Einspeisen“),
  • und wie Home Assistant automatisch entscheidet, wann der Miner laufen darf.

Wenn du möchtest, erstelle ich jetzt sofort Teil 3 – ebenfalls in HTML.