Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
213 lines
8.0 KiB
YAML
Executable File
213 lines
8.0 KiB
YAML
Executable File
# =====================================================
|
|
# EVCS — VÉHICULES & DÉPART (P9) — créé le 09/08/2026 (HANDOFF §21)
|
|
# Deux véhicules alternent sur la borne :
|
|
# - VW : départ tardif (input_datetime.victron_evcs_departure_time, ~08:50),
|
|
# ne publie pas franchement "charged" (statut 3 rare)
|
|
# - JEEP : départ tôt (06:30), publie "charged" franchement
|
|
# Le sélecteur dit au contrôleur QUELLE heure de départ utiliser.
|
|
# P9 : si le toggle est ON, le réseau est autorisé HORS fenêtre HC dans les
|
|
# 120 min précédant le départ pour finir la charge du véhicule
|
|
# (arrêt automatique via VDF/statut + états collants anti-rebond).
|
|
# =====================================================
|
|
|
|
# ⚠️ AUCUN `initial:` SUR LES REGLAGES MANUELS (06/09/2026).
|
|
# Dans Home Assistant, declarer `initial:` DESACTIVE la restauration d'etat :
|
|
# le helper est force a cette valeur a CHAQUE demarrage. Un reglage fait a la
|
|
# main est donc perdu au premier redemarrage, en silence.
|
|
# Constate deux fois sur le selecteur de vehicule (04/09 puis 06/09 : JEEP
|
|
# repasse a VW), et diagnostique le 06/09 en comparant avec
|
|
# `input_select.victron_evcs_strategy`, cree par l'interface donc sans
|
|
# `initial:`, qui survivait a tous les redemarrages.
|
|
# Les helpers de RUNTIME, eux, gardent leur `initial:` : ils sont reecrits par
|
|
# les workflows au cycle suivant, et repartir d'un etat connu y est voulu.
|
|
# Contrepartie assumee : sur une installation neuve, sans etat a restaurer, un
|
|
# input_select prend sa premiere option, un input_number son `min` et un
|
|
# input_datetime 00:00.
|
|
|
|
input_select:
|
|
victron_evcs_vehicle:
|
|
name: EVCS - Véhicule branché
|
|
options:
|
|
- VW
|
|
- JEEP
|
|
- ZERO
|
|
icon: mdi:car-multiple
|
|
|
|
input_datetime:
|
|
victron_evcs_departure_time_jeep:
|
|
name: EVCS - Heure départ JEEP
|
|
has_date: false
|
|
has_time: true
|
|
victron_evcs_departure_time_zero:
|
|
name: EVCS - Heure départ ZERO
|
|
has_date: false
|
|
has_time: true
|
|
# Depart APRES LE DEJEUNER, par vehicule (28/09/2026) : les jours ou il
|
|
# repart, ce qu'il n'a pas pris avant ne pourra pas l'etre en HC la nuit.
|
|
victron_evcs_jeep_midday_departure:
|
|
name: EVCS - Heure de départ JEEP après midi
|
|
has_date: false
|
|
has_time: true
|
|
victron_evcs_vw_midday_departure:
|
|
name: EVCS - Heure de départ VW après midi
|
|
has_date: false
|
|
has_time: true
|
|
victron_evcs_zero_midday_departure:
|
|
name: EVCS - Heure de départ ZERO après midi
|
|
has_date: false
|
|
has_time: true
|
|
# Depart PONCTUEL (28/09/2026) : la VW et la ZERO repartent certains
|
|
# apres-midi sans jours fixes. Saisi au branchement (tableau de bord ou agent
|
|
# vocal) : « il repart aujourd'hui a 16:00 ». Retenu seulement s'il est pour
|
|
# AUJOURD'HUI, a venir, et saisi au plus 1 h avant le branchement ou apres —
|
|
# une saisie d'hier ou d'un autre vehicule ne peut pas servir.
|
|
victron_evcs_departure_ponctuel:
|
|
name: EVCS - Départ ponctuel du véhicule branché (aujourd'hui)
|
|
has_date: true
|
|
has_time: true
|
|
# Instant de la derniere SAISIE du niveau, meme identique (ecrit par
|
|
# l'automatisation) : HA ne date pas une valeur reecrite a l'identique.
|
|
victron_evcs_vehicle_level_at:
|
|
name: EVCS - Saisie du niveau du véhicule à
|
|
has_date: true
|
|
has_time: true
|
|
|
|
input_boolean:
|
|
victron_evcs_allow_grid_departure_urgent:
|
|
name: EVCS - Réseau avant départ (P9)
|
|
icon: mdi:car-clock
|
|
|
|
# =====================================================
|
|
# VEHICULE BRANCHE A MIDI — JEEP, VW, ZERO (28/09/2026, strategie du proprietaire)
|
|
# « JEEP branchee engage le reseau en HC midi si l'analyse de production le
|
|
# justifie ». Le bilan energetique compare le besoin de la voiture a ce que le
|
|
# solaire peut lui donner AVANT son depart sans descendre la batterie sous le
|
|
# plancher « tenir jusqu'a la prochaine HC ». Aucun capteur ne donne le niveau
|
|
# de la voiture : le proprietaire le saisit (tableau de bord ou agent vocal).
|
|
# Le calendrier reste ici : le bilan ne recoit qu'un instant de depart.
|
|
# =====================================================
|
|
input_number:
|
|
victron_evcs_vehicle_level_pct:
|
|
name: EVCS - Niveau de charge du véhicule (saisi)
|
|
min: 0
|
|
max: 100
|
|
step: 1
|
|
unit_of_measurement: "%"
|
|
mode: box
|
|
icon: mdi:car-battery
|
|
# Compteur de la borne au moment de la saisie du niveau (ecrit par
|
|
# l'automatisation ci-dessous) : ce que la voiture a pris DEPUIS se deduit.
|
|
victron_evcs_vehicle_level_ref_kwh:
|
|
name: EVCS - Compteur borne à la saisie du niveau
|
|
min: 0
|
|
max: 1000000
|
|
step: 0.1
|
|
unit_of_measurement: kWh
|
|
mode: box
|
|
icon: mdi:counter
|
|
# Capacites MESUREES au compteur de la borne (charge complete depuis un
|
|
# niveau bas), pas les valeurs constructeur. VW 7,70 (15/09, MANUEL §0) ;
|
|
# JEEP 8,7 = plus grosse session relevee (22/09), a affiner. 0 = INCONNUE :
|
|
# la regle de midi se tait pour ce vehicule plutot que de deviner.
|
|
victron_evcs_capacity_jeep_kwh:
|
|
name: EVCS - Capacité mesurée JEEP
|
|
min: 1
|
|
max: 100
|
|
step: 0.1
|
|
unit_of_measurement: kWh
|
|
mode: box
|
|
icon: mdi:car-battery
|
|
victron_evcs_capacity_vw_kwh:
|
|
name: EVCS - Capacité mesurée VW
|
|
min: 1
|
|
max: 100
|
|
step: 0.1
|
|
unit_of_measurement: kWh
|
|
mode: box
|
|
icon: mdi:car-battery
|
|
victron_evcs_capacity_zero_kwh:
|
|
name: EVCS - Capacité mesurée ZERO (0 = inconnue)
|
|
min: 0
|
|
max: 100
|
|
step: 0.1
|
|
unit_of_measurement: kWh
|
|
mode: box
|
|
icon: mdi:motorbike-electric
|
|
# Puissance que le chargeur EMBARQUE absorbe a consigne pleine (plateau
|
|
# mesure). VW 3 680 W et JEEP 3 655 W le 05/09 (MANUEL §0). 0 = inconnue :
|
|
# le bilan ne borne alors pas ce que le vehicule peut prendre avant son depart.
|
|
victron_evcs_charger_kw_jeep:
|
|
name: EVCS - Puissance de charge JEEP (mesurée)
|
|
min: 0
|
|
max: 22
|
|
step: 0.01
|
|
unit_of_measurement: kW
|
|
mode: box
|
|
icon: mdi:ev-station
|
|
victron_evcs_charger_kw_vw:
|
|
name: EVCS - Puissance de charge VW (mesurée)
|
|
min: 0
|
|
max: 22
|
|
step: 0.01
|
|
unit_of_measurement: kW
|
|
mode: box
|
|
icon: mdi:ev-station
|
|
victron_evcs_charger_kw_zero:
|
|
name: EVCS - Puissance de charge ZERO (0 = inconnue)
|
|
min: 0
|
|
max: 22
|
|
step: 0.01
|
|
unit_of_measurement: kW
|
|
mode: box
|
|
icon: mdi:ev-station
|
|
|
|
input_text:
|
|
# Jours ou la JEEP repart apres le dejeuner (lun mar mer jeu ven sam dim).
|
|
victron_evcs_jeep_midday_departure_days:
|
|
name: EVCS - Jours de départ JEEP après midi
|
|
max: 60
|
|
icon: mdi:calendar-week
|
|
victron_evcs_vw_midday_departure_days:
|
|
name: EVCS - Jours de départ VW après midi
|
|
max: 60
|
|
icon: mdi:calendar-week
|
|
victron_evcs_zero_midday_departure_days:
|
|
name: EVCS - Jours de départ ZERO après midi
|
|
max: 60
|
|
icon: mdi:calendar-week
|
|
|
|
automation:
|
|
- id: evcs_niveau_vehicule_reference
|
|
alias: "EVCS — mémoriser le compteur de la borne à la saisie du niveau"
|
|
mode: queued
|
|
# Le declencheur d'etat ne voit pas une saisie IDENTIQUE (HA ne change pas
|
|
# l'etat) : « elle est encore a 12 % » au branchement suivant ne recalerait
|
|
# pas la reference. On ecoute donc aussi l'appel de service lui-meme.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: input_number.victron_evcs_vehicle_level_pct
|
|
- platform: event
|
|
event_type: call_service
|
|
event_data:
|
|
domain: input_number
|
|
service: set_value
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{{ trigger.platform == 'state' or
|
|
'input_number.victron_evcs_vehicle_level_pct' in
|
|
((trigger.event.data.service_data or {}).get('entity_id', []) | string) }}
|
|
- condition: template
|
|
value_template: "{{ states('sensor.evcs_hq2239dnt7p_total_energy') | is_number }}"
|
|
action:
|
|
- service: input_number.set_value
|
|
target:
|
|
entity_id: input_number.victron_evcs_vehicle_level_ref_kwh
|
|
data:
|
|
value: "{{ states('sensor.evcs_hq2239dnt7p_total_energy') | float }}"
|
|
- service: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.victron_evcs_vehicle_level_at
|
|
data:
|
|
timestamp: "{{ as_timestamp(now()) }}"
|