Jeg pleier å stjele litt kode her og der, hvor jeg prøver å modifisere meg frem til noe jeg ønsker, men denne gangen sliter jeg litt, så håper dere har tid til å hjelpe meg.
Jeg har tyvlånt en kodesnutt fra github, som gir meg de tre (eller antall ønsket) billigste timer med strøm ila natta (22-06), dette styrer bla.a VVB og lading av elbil
sensors:
billig_nattstrom:
friendly_name: "Billig nattstrøm"
value_template: >-
{%- set ns = namespace(hour_price=[], cheapest_hour= false) %}
{%- set cheap_hours = namespace(number=3) %}
{% if state_attr("sensor.strompris", "tomorrow_valid")==true %}
{% for i in range(22, 24) %}
{% set ns.hour_price = ns.hour_price + [(i, states.sensor.strompris.attributes.raw_today[i].price)] %}
{%- endfor -%}
{% for i in range(0, 7) %}
{% set ns.hour_price = ns.hour_price + [(i, states.sensor.strompris.attributes.raw_tomorrow[i].price)] %}
{%- endfor -%}
{% else %}
{% for i in range(0, 7) %}
{% set ns.hour_price = ns.hour_price + [(i, states.sensor.strompris.attributes.raw_today[i].price)] %}
{%- endfor -%}
{% endif %}
{% set hour_price_dict = dict.from_keys(ns.hour_price) %}
{% set sorted_hour_price_dict = hour_price_dict.items()|sort(attribute='1') %}
{% for i in range(0, cheap_hours.number) %}
{% if sorted_hour_price_dict[i].0 == now().hour %}
{% set ns.cheapest_hour = true %}
{% else %}
{% set ns.cheapest_hour = false %}
{% endif %}
{%- endfor -%}
{{ ns.cheapest_hour }}
sorted_hour_price_dict i koden gir meg biligste timer i stigende rekkefølge:
[(1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (0, 1), (6, 1), (23, 10), (22, 15)]
Det jeg ønsker er å printe ut klokkeslettet for de billigste timene (tallet til venstre).
sorted_hour_price_dict.0
gir meg
(1, 0)
sorted_hour_price_dict.1 gir meg parentes nr 2 i listen, etc.
Et fint resultat hadde vært om utfallet blir "Kl 0-3" eller "Kl 2-6" hvis man har puttet inn ønske om de 4 billigste timer, etc.
Håper dere kan hjelpe!