Files
homeAutomation/configurations/home-assistant/configuration.yaml
willem.serruys e630c92b60 updated config
2026-08-22 19:11:09 +02:00

88 lines
3.3 KiB
YAML

# 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) }}