# Loads default set of integrations. Do not remove # This was added to the homeAutomation repo. # This is a sample configuration. Please create a configuration.production.yml for production use. default_config: automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml http: use_x_forwarded_for: true trusted_proxies: - 172.16.0.0/12 # ---- 1. Track a running monthly average of the EPEX day-ahead price ---- # (Replace sensor.nordpool_kwh_be_eur_3_10_0 with your actual Nord Pool entity ID) sensor: - platform: statistics name: "Epex Monthly Average" entity_id: sensor.nordpool_kwh_be_eur_3_10_0 state_characteristic: mean max_age: days: 31 sampling_size: 9999 # ---- 2. Apply Mega's formula and add the fixed cost components ---- template: - sensor: - name: "Mega Energy Price" unique_id: mega_energy_price unit_of_measurement: "€/kWh" state: > {% set epex = states('sensor.epex_monthly_average') | float(0) %} {% set excl_vat = epex * 1.085 %} {% set incl_vat = excl_vat * 1.06 %} {{ incl_vat | round(5) }} - name: "Mega All-in Price" unique_id: mega_allin_price unit_of_measurement: "€/kWh" state: > {% set energy = states('sensor.mega_energy_price') | float(0) %} {% set green_power = 0.01554 %} {% set distribution = 0.066985 %} {% set excise = 0.0503288 %} {% set energy_contribution = 0.0020417 %} {{ (energy + green_power + distribution + excise + energy_contribution) | round(5) }} - sensor: - name: "Mega Injection Price" unique_id: mega_injection_price unit_of_measurement: "€/kWh" state: > {% set epex_spp = states('sensor.epex_spp_monthly_average') | float(0) %} {% set price = (epex_spp * 0.96) - 1 %} {{ [price, 0] | max | round(5) }} - sensor: - name: "Cistern Water Height" unique_id: cistern_water_height unit_of_measurement: "mm" state_class: measurement state: > {% set sensor_offset = 290 %} {# distance (mm) from sensor to tank bottom #} {% set distance = states('sensor.regenput_sensor_distance') | float(0) %} {% set height = sensor_offset - distance %} {{ [ [height, 0] | max, sensor_offset] | min | round(1) }} - name: "Cistern Volume" unique_id: cistern_volume unit_of_measurement: "L" device_class: volume state_class: measurement state: > {% set diameter = 1450 %} {# mm #} {% set radius = diameter / 2 %} {% set height = states('sensor.cistern_water_height') | float(0) %} {% set volume_mm3 = 3.14159265 * (radius ** 2) * height %} {{ (volume_cm3 / 1000000) | round(1) }} {# convert mm³ to liters #} - name: "Cistern Fill Percentage" unique_id: cistern_fill_percentage unit_of_measurement: "%" state_class: measurement state: > {% set sensor_offset = 290 %} {# same as above, = full tank height #} {% set height = states('sensor.cistern_water_height') | float(0) %} {{ (height / sensor_offset * 100) | round(1) }}