Vehicule branche a midi : JEEP, VW et moto ZERO (calendrier, capacite et puissance par vehicule)

ZERO ajoutee au selecteur avec son heure de depart (P9). Le bilan lit la
capacite et la puissance de charge mesurees du vehicule selectionne ; 0 =
inconnue (regle muette / pas de borne). Bilan 64/64, golden 123/123.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
Tallagrand Thierry
2026-09-28 14:05:04 +02:00
parent 3b9b67268c
commit be1b12969e
13 changed files with 207 additions and 32 deletions

View File

@@ -20,20 +20,24 @@
{%- if w[0] >= repere and ns.suivant == '' -%}{%- set ns.suivant = w[0] -%}{%- endif -%}
{%- if w[0] >= repere and w[2] == 'nuit' and ns.nuit == '' -%}{%- set ns.nuit = w[0] -%}{%- endif -%}
{%- endfor -%}
{#- Voiture branchee a midi (28/09/2026). Le calendrier (jours et heure de
depart de la JEEP apres le dejeuner) reste dans HA : le bilan recoit un
instant de depart, vide si la voiture ne repart pas aujourd'hui. Le niveau
saisi n'est retenu que s'il date de ce branchement (tolerance 1 h avant). -#}
{%- set vh = namespace(dep='', valide=false, cap=none) -%}
{#- Vehicule branche a midi (28/09/2026) — JEEP, VW ou ZERO, selon le
selecteur. Pour chacun, HA porte le calendrier (jours et heure de depart
apres le dejeuner), la capacite et la puissance de charge MESUREES ; le
bilan recoit un instant de depart, vide si le vehicule ne repart pas
aujourd'hui. Le niveau saisi n'est retenu que s'il date de ce branchement
(tolerance 1 h avant). Capacite ou puissance a 0 = inconnue. -#}
{%- set vh = namespace(dep='', valide=false, cap=none, kw=none) -%}
{%- set jours = ['lun', 'mar', 'mer', 'jeu', 'ven', 'sam', 'dim'] -%}
{%- if is_state('input_select.victron_evcs_vehicle', 'JEEP') -%}
{%- set vh.cap = states('input_number.victron_evcs_capacity_jeep_kwh') -%}
{%- if jours[now().weekday()] in states('input_text.victron_evcs_jeep_midday_departure_days') | lower -%}
{%- set d = today_at(states('input_datetime.victron_evcs_jeep_midday_departure')) -%}
{%- set cle = {'JEEP': 'jeep', 'VW': 'vw', 'ZERO': 'zero'}.get(states('input_select.victron_evcs_vehicle')) -%}
{%- if cle -%}
{%- set vh.cap = states('input_number.victron_evcs_capacity_' ~ cle ~ '_kwh') -%}
{%- set vh.kw = states('input_number.victron_evcs_charger_kw_' ~ cle) -%}
{%- set heure = states('input_datetime.victron_evcs_' ~ cle ~ '_midday_departure') -%}
{%- if jours[now().weekday()] in states('input_text.victron_evcs_' ~ cle ~ '_midday_departure_days') | lower
and heure not in ['unknown', 'unavailable', ''] -%}
{%- set d = today_at(heure) -%}
{%- if d > now() -%}{%- set vh.dep = d -%}{%- endif -%}
{%- endif -%}
{%- elif is_state('input_select.victron_evcs_vehicle', 'VW') -%}
{%- set vh.cap = states('input_number.victron_evcs_capacity_vw_kwh') -%}
{%- endif -%}
{%- set branche = states.binary_sensor.victron_evcs_vehicle_connected -%}
{%- set niveau = states.input_number.victron_evcs_vehicle_level_pct -%}
@@ -47,6 +51,7 @@
"vehicle_level_pct": states("input_number.victron_evcs_vehicle_level_pct"),
"vehicle_level_valid": vh.valide,
"vehicle_capacity_kwh": vh.cap,
"vehicle_charger_kw": vh.kw,
"vehicle_delivered_since_level_kwh": ((states("sensor.evcs_hq2239dnt7p_total_energy") | float(0)) - (states("input_number.victron_evcs_vehicle_level_ref_kwh") | float(0))) if states("sensor.evcs_hq2239dnt7p_total_energy") | is_number else none,
"hc_window_end_ms": (as_timestamp(ns.fin) * 1000) if ns.fin != '' else none,
"next_hc_start_ms": (as_timestamp(ns.suivant) * 1000) if ns.suivant != '' else none,