Amortisierung Balkonkraftwerk berechnen

eiser

New member
Guten Tag zusammen!

Ich würde gern die Amortisierung meines Balkonkraftwerks im Home Assistant berechnen und anzeigen lassen. Ich weiß allerdings nicht wie ich vorgehen muss. Vielleicht habt ihr Ideen bzw. Denkanstöße wie ich das Ganze verwirkliche. Folgende Daten liegen mir aktuell vor:

  • Aktuelle Produktion des Balkonkraftwerks [W]
  • Gesamtproduktion des Balkonkraftwerks [Wh]
  • Aktueller Verbrauch durch Tasmota IR Lesekopf [W] inkl. der Einspeisung des Balkraftwerks
  • Aktueller Zählerstand durch Tasmota IR Lesekopf [kWh auf 7 Nachkommastellen]

Einfach die Gesamtproduktion des Balkonkraftwerks mit dem aktuellen Strompreis zu multiplizieren ist ja nicht richtig, da die Überproduktion ja verschenkt wird(zugegeben ist das natürlich nicht viel bei einer solchen Anlage). Ich müsste also nur die kwh erhalten, die auch selbst von mir genutzt wird und diese dann mit dem Strompreis multiplizieren. Hat jemand eine Ahnung wie ich das Ganze umsetzen kann? Ich stehe irgendwie auf dem Schlauch.

Danke schon mal
 
Aktueller Verbrauch durch Tasmota IR Lesekopf [W] inkl. der Einspeisung des Balkraftwerks

Heißt also, bei einer Überproduktion hast du einen negativen Wert?

Dann bräuchtest du einen Template-Sensor, der dir alles, was beim Gesamtverbrauch über Null ist, weg filtert und dann Verbrauch(gefiltert) + Produktion rechnet. Jaaaa, plus! Nicht minus...

Beispiel 1:
Gesamtverbrauch: 1000 Watt
Produktion: 200 Watt
Code:
Verbrauch(gefiltert) [0] + Produktion [200]  = Eigenverbauch [200]

Beispiel 2:
Gesamtverbrauch: -100 Watt (also 100W Überproduktion)
Produktion: 200 Watt
Code:
 Verbrauch(gefiltert) [-100] + Produktion [200] = Eigenverbauch [100]
 
Ja genau. Bei Überproduktion habe ich tatsächlich einen negativen wert. Ich habe deinen Ansatz soweit verstanden und das sollte auch so funktionieren, denke ich. Wie setze ich das aber praktisch um? Also wie filtere ich die Überproduktion raus?
 
Kennst du dich mit Templates aus?

YAML:
{% set x = states('sensor.xxxxxxx') | float %}
{{ ([0, x, - 9999999]|sort)[1] }}

Das filtert alle Werte über 0 weg. Man könnte noch *-1 rechnen und dann die Werte voneinander abziehen statt zu addieren, wenn man das eleganter findet.


Wenn Templates nicht so Deins sind, dann kannst mir auch die IDs der Entitäten (also zb. sensor.xxxx) mit Beschreibung welche was ist durchgeben, dann bastel ich da mal was.
 
Hallo, ich habe das auch vor für meine Balkonkraftwerk und meine Inselanlage. Ich habe jeweils ein Shelly pm dran und im Schaltschrank einen Shelly 3 pem somit, habe ich die Sensoren wieviel eingespeist wird, was ich also abziehen muss. Habe eine Anleitung im Netz gefunden und will es mal versuchen, bin allerdings sehr neu und gerade frisch am Aufbauen und gerade am lernen in HA. https://smartebude.de/gespartes-geld-von-pv-anlage-berechnen-amortisierung/
Vielleicht hilft es dir ja. Will es auch mal versuchen.

gruss zoiao
 
@ Zoiao: Danke für den Tipp. Allerdings kann ich bei mir die Einspeisung leider nicht direkt abgreifen.

@ IvoryBalboa90: Mit Templates kenne ich mich tatsächlich nicht aus. Falls du mir da behilflich sein könntest, wäre das top.

Meine Sensoren heißen wie folgt:
Aktueller Verbrauch: sensor.stromzahler_sml_watt_summe
Verbrauch Summe (Zählerstand): sensor.stromzahler_sml_verbrauch_summe
Balkonkraftwerkproduktion aktuell: sensor.shelly_1pm_pv_anlage_garage_power_0
Balkonkraftwerkproduktion insgesamt:
sensor.shelly_1pm_pv_anlage_garage_energy_0

Dank dir :)
 
Sei mal so gütig und gib folgendes unter Entwicklerwerkzeuge -> Template -> Template-Editor ein:

YAML:
{% set x = states('sensor.stromzahler_sml_watt_summe') | float(0) %}
Eigenverbrauch: {{ (([0, x, - 9999999]|sort)[1]) + (states('sensor.shelly_1pm_pv_anlage_garage_power_0') | float(0)) }} Watt

Wenn alles richtig ist, müsste dann darunter stehen "Eigenverbrauch XYZ Watt".
Das ist dann dein tatsächlicher Eigenverbrauchsanteil.

Wenn das klappt und die Zahlen plausibel sind, bauen wir dir einen Sensor der dir genau diese Zahl ausgibt und zusätzlich noch "eingesparte €"
 
@ Zoiao: Danke für den Tipp. Allerdings kann ich bei mir die Einspeisung leider nicht direkt abgreifen.

@ IvoryBalboa90: Mit Templates kenne ich mich tatsächlich nicht aus. Falls du mir da behilflich sein könntest, wäre das top.

Meine Sensoren heißen wie folgt:
Aktueller Verbrauch: sensor.stromzahler_sml_watt_summe
Verbrauch Summe (Zählerstand): sensor.stromzahler_sml_verbrauch_summe
Balkonkraftwerkproduktion aktuell: sensor.shelly_1pm_pv_anlage_garage_power_0
Balkonkraftwerkproduktion insgesamt:
sensor.shelly_1pm_pv_anlage_garage_energy_0

Dank dir :)
Ahso ok, ich habe die Sensoren zwar aber habe es über das Video leider nicht hinbekommen. Musst ich dann mal weiter schauen
 
@Zoiao
Na dann lies mal fleißig mit, wir bauen hier gerade eine etwas elegantere (für meinen Geschmack zumindest) Lösung ohne zig Helfer und Automatisierungen. Ein einziger neuer Sensor reicht.
 
Ich habe jetzt mal den sensor wie folgt angelegt:

Code:
template:
 - sensor:
      - name: "Eigenverbrauch"
        unit_of_measurement: W
        device_class: energy
        state: >
          {% set x = states('sensor.stromzahler_sml_watt_summe') | float(0) %}
           {{ (([0, x, - 9999999]|sort)[1]) + (states('sensor.shelly_1pm_pv_anlage_garage_power_0') | float(0)) }}

Ist das korrekt? Er zeigt mir natürlich jetzt 0W an (Sonne nicht mehr da).
 
Joa, fast richtig.

Guckst du:
YAML:
state: >-
  {{ irgendein template}}

Hinterm > machst noch ein -
> ist für einzeilige Templates.
>- erlaubt mehrzeilige Templates.

device_class: energy haben Sensoren, die kWh zählen.

Probier es mal so:

YAML:
- sensor:
      - name: "Eigenverbrauch"
        state_class: measurement
        unit_of_measurement: W
        device_class: power
        state: >-
          {% set x = states('sensor.stromzahler_sml_watt_summe') | float(0) %}
          {{ (([0, x, - 9999999]|sort)[1]) + (states('sensor.shelly_1pm_pv_anlage_garage_power_0') | float(0)) }}
 
Jetzt hab ich grad festgestellt, ich hab gelogen 😅 ein zweiter Sensor ist doch noch nötig.

YAML:
sensor:
  - platform: integration
    source: sensor.eigenverbrauch
    name: Eigenverbrauch_kwh
    unit_prefix: k
    round: 2

Wenn das soweit läuft, rechnen wir noch die gesparten € aus
 
Also ich habe jetzt die zwei Sensoren. Ich weiß allerdings nicht ob der “Eigenverbrauch_kwh“ korrekt ist. Er zeigt aktuell als Status/Wert „unbekannt“ an. Wobei der Eigenverbrauch auch aktuell nur 0W als Wert hat (Keine Sonne).
 
Zuletzt bearbeitet:
Das hat schon Mal funktioniert. Beide Sensoren sind vorhanden mit plausiblen werten. Wie bekomme ich zu guter Letzt noch den Strompreis und amotisierung rein?
 
Jetzt kannst deinen ersten Sensor erweitern:

YAML:
- sensor:
      - name: "Eigenverbrauch"
        state_class: measurement
        unit_of_measurement: W
        device_class: power
        state: >-
          {% set x = states('sensor.stromzahler_sml_watt_summe') | float(0) %}
          {{ (([0, x, - 9999999]|sort)[1]) + (states('sensor.shelly_1pm_pv_anlage_garage_power_0') | float(0)) }}
        attributes:
          ersparnis: >-
            {{ (state_attr('sensor.eigenverbrauch', 'strompreis')|float(0) * states('sensor.eigenverbrauch_kwh')|float(0)) - 1000 }}€
          strompreis: "0.30"

Beim Strompreis trägst entsprechend deinen Preis ein. In dem Template darüber steht 1000. Wenn du da deine Investitionskosten einträgst (zb 931.12) sollte da eine negative Zahl mit € am Ende rauskommen. Das ist deine aktuelle Bilanz.
 
Zuletzt bearbeitet:
Hi, ich lese mit und würde es auch gerne nachbauen. Danke für deine Mühe.

Wird der sensor einfach in die config yaml eingetragen? Bzw. Ich habe die sensoren ausgelagert in sensor.yaml dann da? Und dann muss ich nur noch meine shelly namen korrekt einfügen? Habe ja auch shelly 1 pm für balkon und am Stromzähler auf der phase "c" wo ich einspeise dann den shelly 3 pm mit Wert x, falls ich weniger strom ziehe, wie ich bsp Mittags produziere auf der Phase C dann auch -xxx kwh.

Kann ich das so übertragen oder ist es bei mir anderst.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
5.816
Beiträge
56.830
Mitglieder
5.732
Neuestes Mitglied
christoph__1979
Zurück
Oben