PV Management für Home Assistant — zwei HACS-Integrationen (Spot & Fixpreis)

Ich habe zwei Integrationen für die PV-Verwaltung in Home Assistant geschrieben und würde mich freuen wenn jemand Lust hat sie mal durchzuklicken und Feedback oder Verbesserungsvorschläge dazulassen.

Beide gibt es je nach Stromtarif:

  1. PV Management (Spot-Tarif) — Für variable Tarife (aWATTar, smartENERGY, Tibber). Kann alles was die
    Fixpreis-Variante kann, plus:
  • Automatisches Batterie-Laden bei günstigen EPEX-Spot-Preisen
  • Entlade-Steuerung (Batterie für teure Stunden aufsparen)
  • 5-stufige Verbrauchsempfehlung (Ampel)
  • Solcast-Prognose-Einbindung
  • EPEX-Quantil-Bewertung

GitHub: hoizi89/pv_management

  1. PV Energy Management+ (Fixpreis) — Für klassische Festpreis-Tarife mit:
  • Batterie-Tracking (SOC, Effizienz, Zyklen)
  • ROI-Berechnung
  • Stromkontingent mit saisonaler Gewichtung

GitHub: hoizi89/pv_management_fix

Was beide können:

  • Amortisation mit Restlaufzeit und Payback-Datum
  • Energy Benchmark: Vergleich mit AT/DE/CH-Durchschnitt, Effizienz-Score 0-100
  • Bis zu 4 PV-Strings vergleichen (Produktion, Peak, kWh/kWp)
  • CO2-Ersparnis, Eigenverbrauchsquote, Autarkiegrad
  • Milestone-Events und Monatsberichte
  • HACS-Installation

Bin für jede Rückmeldung dankbar — egal ob Bugs, Feature-Wünsche oder einfach Erfahrungsberichte!

3 „Gefällt mir“

Klingt interessant. Vieles davon habe ich mit eigenen Sensoren und Diagrammen abgebildet.

Vergleiche der Erträge finde ich recht schwierig, je nach Situation erzeugen sie ein sehr unglückliches bis mulmiges Gefühl.
Insbesondere wenn einige Gegebenheiten (hoher Stromverbrauch im Winter) zwangsläufig dazuführen, gegen den Benchmark zu „verlieren“.

Ich werd die Fix-Variante mal ausprobieren.

Zu den Preisen wäre es auch immer interessant die Brutto Preise zu haben, den mit den Spot Preisen kommt man nicht weit! Habe das bei mir mit einer Formel gelöst wo dann der Brutto Spot Tarif raus kommt. Die Daten habe ich mit von meinen Anbieter AAE Naturstrom und von E-Control geholt. Den jedes Bundesland hat andere Netzgebühren.

Danke, bin gespannt auf dein Feedback!
Zum Benchmark-Punkt: Wenn du z.B. eine Wärmepumpe hast, kannst du die als Verbraucher eintragen — dann wird deren Verbrauch rausgerechnet und der Vergleich passt besser. Über ein ganzes Jahr normalisiert sich das sowieso. Hättest du eine Idee das Benchmark-Tehma zu optimieren ? :slight_smile:

Danke für den Hinweis!
In den Optionen gibt es bereits einen prozentualen Aufschlag auf den Spotpreis — damit lässt sich MwSt und Gebühren pauschal abbilden. Reicht dir das oder bräuchtest du eher eine Trennung in Fixbetrag (ct/kWh) + MwSt (%)?

Danke für deine Bemühungen, ich habe das bei mir über Node Red laufen oder auch direkt in Victron DESS aktiviert, dazu habe ich die Formel dort drin angepasst! Wollte das nur mal erwähnen, den die meisten rechnen die Zuschläge nicht dazu und wundern sich dann wenn eine viel höherer Abrechnung raus kommt!

@hoizi89
hab heute PV-Management fix installiert, und versucht zu konfigurieren.
Dazu gleich erstes Feedback:
für den Bezugspreis wünsche ich mir die Möglichkeit, eine Entität zu verwenden. denn der Wert ist ja nicht über alle Jahre gleich. Und den habe ich für das Energy-Dashboard eh schon,
auch für die Einspeisevergütung nutze ich konsistenterweise eine Entität.
Du bietest zwar „Strompreis per Sensor (optional)“ an, doch da kann ich meinen input_number nicht auswählen. Da hast du wohl einen Filter drauf.

Bei den Selektoren solltest du in der Auswahl auf die gültige Domäne filtern, so werden Fehleingaben und langes Scrollen vermieden.

Sehe ich das richtig, dass deine Integration kWh Sensoren für Batterie und PV-Strings erwarten? Für welche Zeiträume? Seit Anbeginn der Tage? Vermutlich muss ich mir ja dann Verbrauchszähler anlegen.

Was sind die Eigenverbrauch-kWh vor dem Tracking? Energiebezug? Selbstgenutzte PV-Energie?
Wo bekomm ich die her?
Und da die ja vermutlich mit einem anderen Strompreis bezogen wurden - wie berechnest du dann die Ersparnis bzw Beitrag zur Amortisation?

Ähnliche Fragestellung zu den schon eingespeisten kWh, und den Ladungen/Entladungen der Batterie.

Nach Installation, Neu-Start und Konfiguration sehe ich viele Entitäten, aber alle „nicht verfügbar“

Nebenbemerkung: die Berechnung des Strompreises ist in DE und AT sehr unterschiedlich
Das wird schwierig abzubilden sein. Insbesondere was das Rechnen mit Faktoren angeht.

Und da wir hier über die Amortisation sprechen, können Basisgebühren (in DE sehr üblich) vernachlässigt werden, interessant ist nur der pro kWh zu zahlende Preis.

Danke fürs Feedback,

input_number beim Strompreis/Einspeisevergütung: Ist in der nächsten Version gefixt. Der Selektor akzeptiert jetzt sowohl sensor als auch input_number.

Entitäten „nicht verfügbar" nach Installation: War ein Bug — die Sensoren haben auf einen Restore-Vorgang gewartet der bei Neuinstallation nie kam. Ist gefixt, nach Update + Neustart sollten alle Entitäten sofort verfügbar sein.

kWh Sensoren für Batterie und PV-Strings: Ja, die erwarten Gesamt-kWh-Zähler (total_increasing). Also den Wert der seit Inbetriebnahme hochzählt. Falls dein Wechselrichter nur Tageswerte liefert, kannst du in HA mit dem Riemann-Integral-Helfer oder einem Utility Meter einen Gesamtzähler anlegen.

Eigenverbrauch-kWh vor dem Tracking: Nur nötig wenn deine PV-Anlage schon länger läuft und du die bisherige Produktion in die Amortisation einrechnen willst. Der Wert fließt in die Gesamtersparnis ein (kWh × aktueller Strompreis = gesparte EUR). Findest du am Wechselrichter (Gesamt-Produktion minus Gesamt-Einspeisung) oder am Einspeisezähler. Wenn du erst ab jetzt tracken willst, einfach auf 0 lassen — die Amortisation startet dann ab heute.

Berechnung der Ersparnis: Die kWh-Offsets werden mit dem aktuellen Strompreis berechnet, nicht mit dem von damals. Wer es genauer will: Stattdessen unter „Historische Daten“ den bereits amortisierten Betrag in EUR direkt eintragen — dann rechnest du selbst mit dem richtigen Preis.

Strompreis-Berechnung AT vs DE: Ja, ist unterschiedlich. Deshalb gibt es jetzt zwei Wege: Entweder du trägst Netzentgelt + Steuern + MwSt einzeln ein, oder du verwendest den Aufschlagfaktor als pauschale Alternative. Für die Amortisation zählt nur der Preis pro kWh Grundgebühren kannst du ignorieren, die zahlst du so oder so.

Batterie-Lade/Entlade-Historie: Gleich wie bei den anderen Offsets — bei Neuinstallation einfach alles auf 0 lassen, die Integration trackt ab jetzt.

Selektoren: Die filtern schon auf die passende Domäne (sensor für Energie, input_number für Helfer). Sollte jetzt alles passen.

Kannst du die neue Version (1.19.4) nochmal installieren und schauen ob alles passt?

Habe die neue Version installiert. und ja, jetzt sehe ich bei einigen Sensoren schon Werte.

Das Statement empfinde ich als ein wenig „blauäugig“.
Nahezu niemand, der gerade seine PV-Anlage installiert hat, wird mit deiner Integration unmittelbar loslegen. Insbesondere die nicht, die ihre Anlage schon seit Jahren betreiben. (So wie ich)
Und natürlich finde ich es gut, wenn meine eigene Rechnerei jetzt eventuell überflüssig wird.
Doch mit einem pauschalen Ansatz „Gesamtertrag der vorherigen Jahre (in meinem Fall 4) multipliziert mit dem aktuellen Strompreis“ wird eine gehörige Schieflage erzeugt, die jegliche seriöse Amortisationsrechnung verhindert.
Hier in DE unterlag der Strompreis in den letzten Jahren gehörigen Schwankungen.

Tja, Riemann-Integral um von Leistung nach Energie zu kommen, Utility-Meter für einen Gesamtzähler. Da mischst du Aussagen, was leider auch bei den Erklärtexten in der Integration vorkommt.
Mein Wechselrichter liefert momentane Leistungswerte, sowohl für PV als auch für Grid und Batterie. So werde ich da also wo nötig, erst Integral-Helfer bauen und darauf aufbauend Verbrauchszähler erzeugen.
Und das gleiche Spiel dann auch für die einzelnen Strings. Ach ja, wie verhalten sich die Energiewerte der Strings zur Gesamt-PV Energie? Also: was hat Priorität?

ja, konnte ich jetzt verwenden. Doch der Netto-Fallback-Sensor ist Pflicht. und wird dann zur Verwirrung auch als Diagnose-Entität angezeigt.

Vielen Dank, freue mich immer über Feedback :slight_smile:

Riemann vs Utility Meter: Stimmt, hab ich vermischt. Habe die Beschreibung in der neuen Version angepasst.

Strings vs. Gesamt-PV: Unabhängig voneinander. PV-Sensor = Amortisation, Strings = nur Vergleich untereinander.

Netto-Fallback: Ist jetzt optional. Sensor hat Priorität, statischer Wert nur bei Ausfall.

kWh-Offset und historische Preise: Hast recht, kWh × aktueller Preis passt nicht bei schwankenden Preisen über Jahre. Es gibt dafür den EUR-Offset (Historische Daten → „Bereits amortisierter Betrag“) — da kannst du direkt den selbst berechneten Euro-Betrag eintragen.

Was ist bei dir noch offen oder problematisch?
Bin offen für konkrete Änderungsvorschläge — wie löst du die Amortisation bisher? Hatte bisher nur meine PV Anlage als Referenz und mit dem gearbeitet was die liefert :slight_smile:

Wie berechnest du den Eigenverbrauch? bzw wo kommt er her?
90kWh in 1h sind nicht plausibel.

okay. ist vermutlich der einzig gangbare Euro-Weg

da hab ich dann noch was zu tun.

habe mir Verbrauchszähler erzeugt, die mir pro Zeiteinheit, die Einsparung in Euro und die Einspeisung in Euro berechnen. mit denen kann ich dann summieren/rechnnen wann und wo ich mag. Oder je Zeiteinheit visualisieren. (Die Graphen hatte ich auch mal hier im Forum gepostet)

Eigenverbrauch = PV-Produktion minus Netzeinspeisung.
Kannst du bitte einen Screenshot von deinen konfigurierten Sensoren schicken? Und auch den heutigen Verlauf der 2 Sensoren ?
Habe Generell gerade bemerkt das einige Sensoren angezeigt werden, unabhängig ob zugrundeliegende Entitäten fehlen oder nicht. Das werde ich noch anpassen.

@hoizi89

Mein Fehler. für die kleine Balkonsolaranlage habe ich Wh als kWh in den Gesamtsensor gebracht.

will das auch mal testen, macht einen tollen Eindruck.

Nur schnell gefragt:

Der Strompreis setzt sich ja oft zusammen aus Arbeitspreis (€/KWh) + Grundpreis.

Aber wo gibt man den Grundpreis ein?

Verwendest du die Spot oder die Fix variante ?
Meinst du mit Grundpreis den der Jährlich zu zahlen ist → Der Verbrauchs unabhängige ?

ich verwende die Variante mit Fixpreis und ja genau das meine ich, ein jährlich zu zahlender Verbrauchs unabhängiger Betrag (brutto oder netto)

Ist jetzt nicht dabei, wäre aber leicht umsetzbar.
sollte man den dann Pauschal in die Tages / Monatskosten einrechnen, oder wie würdest du die Daten verwenden?

also ein Grundpreis ist ja Gang und Gäbe und müsste auf jeden Fall berücksichtigt werden ….

gute Frage?

Da ich Deine Integration gerade erst seit 1 Std. kenne kann ich das nicht genau beantworten.

Es würde ja sicher zB den Amortisierungs Grad/Dauer beeinflüssen, denn der vom Netzbetreiber zu kaufende Strom ist ja tatsächlich teurer, wenn der Grundpreis addiert werden muss.

Vielleicht würde ich es pro Tag addieren, also Jahresgrundpreis (ggf. noch abzüglich Neukunden-Bonus) / 365 Tage…

der Grundpreis ist aber eine verbrauchsunabhängige Größe. Es sei denn, du beziehst gar keinen Strom vom Netz.

Insofern hat der Grundpreis keinen Einfluss auf die Amortisation.

1 „Gefällt mir“

stimmt, Du hast Recht, also kann der Grundpreis und irgendwelche Boni dann komplett unberücksichtigt bleiben??