I’ve started to work on something not exactly that but it could be built further I believe. Work and family consumes a lot of time… So far its three sensors, past 72h mean, past72h median and today median. In my head it should be easy to add past and today and use it as a value.
Anyway im not sure witch of the three is the best approach for the level calculation any input on that would be nice
region: "SE3"
- platform: statistics
name: "Elpris_medel_past72"
unique_id: 50371632
entity_id: sensor.nordpool_kwh_se3_sek_3_10_025
state_characteristic: mean
precision: 4
sampling_size: 144
max_age:
hours: 72
- platform: template
sensors:
pricelevel_medel_past72:
unique_id: 76937444
friendly_name: "Elprisnivå_medel_past72"
unit_of_measurement: 'Level'
value_template: >-
{% if states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) >= states('sensor.elpris_medel_past72')|float(0.5) *0.9
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) < states('sensor.elpris_medel_past72')|float(0.5) *1.15 %}
{{3}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.elpris_medel_past72')|float *0.6
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.elpris_medel_past72')|float *0.9 %}
{{2}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.elpris_medel_past72')|float *0.6 %}
{{1}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.elpris_medel_past72')|float *1.15
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.elpris_medel_past72')|float *1.4 %}
{{4}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.elpris_medel_past72')|float *1.4 %}
{{5}}
{% endif %}
- platform: statistics
name: "Elpris_median_past72"
unique_id: 70542100
entity_id: sensor.nordpool_kwh_se3_sek_3_10_025
state_characteristic: median
precision: 4
sampling_size: 144
max_age:
hours: 72
- platform: template
sensors:
pricelevel_median_past72:
unique_id: 33469883
friendly_name: "Elprisnivå_median_past72"
unit_of_measurement: 'Level'
value_template: >-
{% if states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) >= states('sensor.Elpris_median_past72')|float(0.5) *0.9
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) < states('sensor.Elpris_median_past72')|float(0.5) *1.15 %}
{{3}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.Elpris_median_past72')|float *0.6
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.Elpris_median_past72')|float *0.9 %}
{{2}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.Elpris_median_past72')|float *0.6 %}
{{1}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.Elpris_median_past72')|float *1.15
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < states('sensor.Elpris_median_past72')|float *1.4 %}
{{4}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= states('sensor.Elpris_median_past72')|float *1.4 %}
{{5}}
{% endif %}
- platform: template
sensors:
pricelevel_median_today:
friendly_name: "Elprisnivå_median_today"
unique_id: 95789542
unit_of_measurement: 'Level'
value_template: >-
{% set today=states.sensor.nordpool_kwh_se3_sek_3_10_025.attributes.raw_today| sort(attribute='value')-%}
{%set median= (today[11].value+today[12].value)/2%}
{% if states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) >= median|float(0.5) *0.9
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float(0.5) < median|float(0.5) *1.15 %}
{{3}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= median|float *0.6
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < median|float *0.9 %}
{{2}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < median|float *0.6 %}
{{1}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= median|float *1.15
and states('sensor.nordpool_kwh_se3_sek_3_10_025')|float < median|float *1.4 %}
{{4}}
{% elif states('sensor.nordpool_kwh_se3_sek_3_10_025')|float >= median|float *1.4 %}
{{5}}
{% endif %}
- platform: template
sensors:
elpris_median_today:
friendly_name: "Elpris_median_today"
unique_id: 89574231
unit_of_measurement: 'SEK/kWh'
value_template: >-
{% set today=states.sensor.nordpool_kwh_se3_sek_3_10_025.attributes.raw_today| sort(attribute='value')-%}
{%set median= (today[11].value+today[12].value)/2%}
{{median}}