Berechnung der Stromkosten bei dynamischem Stromvertrag

Hallo zusammen, seit kurzem habe ich einen dynamischen Stromvertrag und möchte die Rechnungen des Stromanbieters kontrollieren. Bei einem statischen Tarif wie bisher war dies ja einfach möglich, indem man den Zählerstand jeweils am Ende des Kalendermonats ausgelesen hat und die Differenz zur letzten Ablesung mit dem Arbeitspreis multipliziert hat. Beim dynamischen Stromtarif muss die Berechnung jede Stunde durchgeführt und aufsummiert werden. Ich habe dies wie unten realisiert und es scheint sehr gut zu funktionieren.

Es wird die Integration “EPEX Spot” benötigt.

Eigene Nutzung und Verbesserungsvorschläge sind willkommen!

#Automation

alias: 91 Calculate and Add Hourly Energy Cost
description: ""
trigger:
  - platform: time_pattern
    minutes: "59"
    seconds: "59"
action:
  - service: homeassistant.update_entity
    entity_id: sensor.hourly_energy_cost
  - service: input_number.set_value
    data_template:
      entity_id: input_number.monthly_energy_cost
      value: |
        {{ (states('input_number.monthly_energy_cost') | float) + 
           (states('sensor.hourly_energy_cost') | float) }}
  - service: input_number.set_value
    data_template:
      entity_id: input_number.last_counter_value
      value: "{{ states('sensor.total_imported_energy') }}"
mode: single


alias: 91 Reset Monthly Energy Cost
description: ""
trigger:
  - platform: time
    at: "00:59:58"
condition:
  - condition: template
    value_template: "{{ now().day == 1 }}"
action:
  - service: input_number.set_value
    data:
      entity_id: input_number.monthly_energy_cost
      value: 0
mode: single


#Configuration

template:
  - sensor:
      - name: hourly_energy_cost
        unique_id: '2a752964-5e33-4d69-8c5a-99e2de245f65'
        unit_of_measurement: "€"
        state: >- 
          {% set current_energy = states('sensor.total_imported_energy') | float %}
          {% set last_energy = states('input_number.last_counter_value') | float %}
          {% set energy_used = current_energy - last_energy %}
          {% set epex_price = states('sensor.epex_spot_data_net_price') | float %}
          {% set working_price = 0.2009 %}
          {% set tax = 0.19 %}
          {{ (energy_used * epex_price / 100.0 * (1.0 + tax) + working_price) | float }}
          
  - sensor:
      - name: monthly_energy_cost
        unique_id: '2a2a794b-7c63-4ff6-94e6-6bc0fd0a68ce'
        unit_of_measurement: "€"
        state: "{{ states.input_number.monthly_energy_cost.state | round(2) }}"


#Helper

input_number.monthly_energy_cost
input_number.last_counter_value

Hallo,
kannst du bitte noch etwas die Variablen beschreiben? Wo definierst du den aktuellen Stromverbrauch bzw. ermittelst ihn?

Hallo,

für die Erfassung des aktuellen Stromverbrauchs wird ein Stromzähler benötigt. Da man für einen dynamischen Stromtarif zwangsläufig einen Intelligenten Stromzähler braucht, kann man den anzapfen. Ich habe das mit einem IR-Lesekopf auf dem Zähler und einen SML-Reader mit ESPHome gemacht.

Die Berechnung des Strompreises mache ich nicht mehr so wie oben beschrieben, sondern mit der HACS-Integration “Dynamic Energy Cost”, die das viel besser und einfacher macht. Den aktuellen Strompreis bekomme ich mit der HACS Integration “EPEX Spot”.

Wenn es dich interessiert, kann ich weitere Einzelheiten posten.

Vg

Hallo @Skysurfer, gibt es die HACS-Integration “Dynamic Energy Cost” aktuell noch? Wollte es nachvollziehen und finde nichts mehr in HACS.
Gruß Michael

müsste diese sein https://github.com/martinarva/dynamic_energy_cost

1 „Gefällt mir“

Ja, genau! Ist auch weiterhin im HACS auffindbar.

1 „Gefällt mir“

Danke an @daschmidt und @Skysurfer14, habe es jetzt auch mit HACS hinbekommen. Muss mich jetzt erst mal reinlesen welche Sensoren ich anlegen muss, bevor ich es zu den Integritäten zufüge.

Zusatz, welcher zur Bezeichnung der Integration hinzugefügt werden soll

  • Entitäts-ID vom Sensor für den Strompreis (EUR/kWh)
  • Entitäts-ID vom Sensor für die Leistung (W) - Optional wenn Energiesensor verwendet werden soll
  • Entitäts-ID vom Sensor für die Energie (kWh) - Optional wenn Leistungssensor verwendet werden soll

Kann man die als Helfer anlegen? Ich werde sehen.

Epex Spot für den Strompreis und nur einen der anderen Sensoren eintragen.

Mit Epex Spot habe ich schon gearbeitet und mir einen brutto Preis Sensor angelegt. Habe versucht den an den Preis von RABOT-Lieferanten anzupassen. Von RABOT gibt es irgendwie keinen.

Ich glaube, dass ich es jetzt verstanden habe. Ich muss für jedes Gerät ein Eintrag konfigurieren. Und hier den Epex Spot Preis und den Power ODER Energy Wert angeben. Ok?

Hallo @Skysurfer, nachdem ich nun “Dynamic Energy Cost” und “EPEX Spot” installiert und zum Laufen gebracht habe, würde ich gerne auch die monatliche, ggf. tägliche Berchnung auch automatisch durchführen. Kannst du da doch ein wenig zu den Variablen sagen?

Ich habe ein Shelly 3EM (ohne Pro) für den Gesamtstrom Verbrauch, aber auch einen Tasmota Lesekopf. Welchen hast du für den Verbrauch “angezapft”?