Files
N22/include/binary_sensors/tesla_smart_charge.yaml
T
claus 4a155ad545 feat: implement Tesla smart charging v3 for Zaptec
- Beregner manglende kWh baseret på SOC og charge limit
- Finder de billigste 15-min elspot-timer før deadline
- Starter/stopper opladning via switch.home_charging
- Tilføjer failsafe 1 time før deadline
- Håndterer connected_finished session reset automatisk
- Stopper opladning når charge limit er nået
- Fuld modulopdeling: input_datetime, templates, binary_sensors, automations
2026-03-16 16:51:30 +01:00

25 lines
1.0 KiB
YAML

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