I do not have any blueprint I can share, but you can make a template with Tibbers “PriceLevel” using the Entsoe price sensors.
template:
- sensor:
- name: "Prisnivå"
unique_id: "pricelevel"
state: >-
{% if states('sensor.current_electricity_market_price')|float(0.5) >= states('sensor.average_electricity_price_today')|float(0.5) *0.9
and states('sensor.current_electricity_market_price')|float(0.5) < states('sensor.average_electricity_price_today')|float(0.5) *1.15 %}
NORMAL
{% elif states('sensor.current_electricity_market_price')|float(0) >= states('sensor.average_electricity_price_today')|float(0) *0.6
and states('sensor.current_electricity_market_price')|float(0) < states('sensor.average_electricity_price_today')|float(0) *0.9 %}
CHEAP
{% elif states('sensor.current_electricity_market_price')|float(0) < states('sensor.average_electricity_price_today')|float(0) *0.6 %}
VERY_CHEAP
{% elif states('sensor.current_electricity_market_price')|float(0) >= states('sensor.average_electricity_price_today')|float(0) *1.15
and states('sensor.current_electricity_market_price')|float(0) < states('sensor.average_electricity_price_today')|float(0) *1.4 %}
EXPENSIVE
{% elif states('sensor.current_electricity_market_price')|float(0) >= states('sensor.average_electricity_price_today')|float(0) *1.4
and states('sensor.current_electricity_market_price')|float(0) < states('sensor.average_electricity_price_today')|float(0) *2.0 %}
VERY_EXPENSIVE
{% elif states('sensor.current_electricity_market_price')|float(0) >= states('sensor.average_electricity_price_today')|float(0) *2.0 %}
EXTREMELY_EXPENSIVE
{% endif %}
Then you can make a template binary sensor which is ON when the price is expensive and OFF when price is normal or cheap. With this you can make a automation which use the binary sensor to heat when it is off and lower the temperature when it is on.
- binary_sensor:
- name: "Dyr strom"
state: "{{ states('sensor.prisniva') == 'EXPENSIVE' or states('sensor.prisniva') == 'VERY_EXPENSIVE' or states('sensor.prisniva') == 'EXTREMELY_EXPENSIVE' }}"
You can also modify this blueprint which use Tibber price data to use Entsoe price data.
This code for finding the cheapest 1-2 hours and 1-3 hours with Entsoe is from @stigvi from this norwegian forum: https://www.hjemmeautomasjon.no/forums/topic/11102-strømpriser/?do=findComment&comment=106063
- unique_id: billigste_timer_1_2
name: billigste_timer_1_2
state: >-
{% set l=state_attr('sensor.average_electricity_price_today', 'prices')[14:]|sort(attribute='price') %}
{% set t = now() %}
{{ (t >= as_datetime(l[0].time) and t <= as_datetime(l[0].time) + timedelta(hours = 1))
or (t >= as_datetime(l[1].time) and t <= as_datetime(l[1].time) + timedelta(hours = 1)) }}
- unique_id: billigste_timer_1_3
name: billigste_timer_1_3
state: >-
{% set l=state_attr('sensor.average_electricity_price_today', 'prices')[14:]|sort(attribute='price') %}
{% set t = now() %}
{{ (t >= as_datetime(l[0].time) and t <= as_datetime(l[0].time) + timedelta(hours = 1))
or (t >= as_datetime(l[1].time) and t <= as_datetime(l[1].time) + timedelta(hours = 1))
or (t >= as_datetime(l[2].time) and t <= as_datetime(l[2].time) + timedelta(hours = 1)) }}