# ===================================================== # 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 # Budget voiture de la nuit (30/09/2026, decisions du proprietaire) : # sans_edf = la voiture ne prend que ce que la batterie peut donner sans EDF # (budget du bilan) ; complete = budget batterie puis EDF en HC pour le reste. # Remis a sans_edf chaque jour a 12:00 (defaut si rien n'est dit le soir). victron_evcs_night_charge_mode: name: EVCS - Charge de la voiture cette nuit options: - sans_edf - complete icon: mdi:car-battery 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 de depart du MATIN (01/10/2026) : l'heure de depart du matin # (victron_evcs_departure_time*) ne vaut que ces jours-la (lun mar mer jeu ven # sam dim). Vide = tous les jours. JEEP : mar mer ven sam dim (proprietaire). victron_evcs_jeep_morning_departure_days: name: EVCS - Jours de départ JEEP le matin max: 60 icon: mdi:calendar-week victron_evcs_vw_morning_departure_days: name: EVCS - Jours de départ VW le matin max: 60 icon: mdi:calendar-week victron_evcs_zero_morning_departure_days: name: EVCS - Jours de départ ZERO le matin max: 60 icon: mdi:calendar-week # Budget fige par le controleur a l'ouverture de la session de nuit : # « budget_kWh|index_compteur_borne », vide hors session. Ne pas ecrire. victron_evcs_night_budget: name: EVCS - Budget voiture de la nuit (fige) max: 40 icon: mdi:battery-lock # 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_charge_nuit_retour_sans_edf alias: "EVCS — charge de nuit : retour a « sans EDF » chaque midi" mode: single trigger: - platform: time at: "12:00:00" action: - service: input_select.select_option target: entity_id: input_select.victron_evcs_night_charge_mode data: option: sans_edf - 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()) }}"