platform: template sensors: - name: tesla_charge_now state: > {% set deadline = states('input_datetime.tesla_charge_deadline') %} {% set hours_needed = states('sensor.tesla_charge_hours_needed')|float(0)|round(0,'ceil') %} {% set prices = state_attr('sensor.energidataservice','today') + state_attr('sensor.energidataservice','tomorrow') %} {% set valid = [] %} {# Filtrer kun timer før deadline #} {% for p in prices %} {% set slot_time = as_timestamp(strptime(p.hour,'%Y-%m-%dT%H:%M:%S')) %} {% if slot_time <= as_timestamp(deadline) %} {% set valid = valid + [p] %} {% endif %} {% endfor %} {# Sorter efter pris #} {% set sorted = valid | sort(attribute='price') %} {# Vælg de billigste slots der dækker ladetiden #} {% set cheapest = sorted[:hours_needed] %} {# Tjek om nuværende slot er i listen #} {% set now_slot = now().replace(minute=(now().minute//15)*15, second=0, microsecond=0).isoformat() %} {{ cheapest | selectattr('hour','equalto',now_slot) | list | count > 0 }}