# ===================================================== # EVCS — KILOMETRAGE DES VEHICULES (04/10/2026, demande du proprietaire) # Releves du compteur kilometrique + niveau, pour mesurer les km par kWh et, # avec les charges menees au plein, la capacite (usure) de chaque batterie. # Calcul : service d'historisation (tools/kilometrage.mjs), Grafana « Les # vehicules ». ⚠️ JEEP et VW hybrides : donner le NIVEAU avec le compteur, # un intervalle fini batterie vide (essence possible) est ecarte. # ===================================================== input_text: # Tableau JSON des derniers releves [vehicule, km, niveau|null, epoch_s, source], # ecrit par le concierge WhatsApp ou par le script ci-dessous. Ne pas editer. evcs_releve_km: name: EVCS - Relevés kilométriques (file) max: 255 icon: mdi:counter input_select: evcs_releve_vehicule: name: "EVCS - Relevé km : véhicule" options: - JEEP - VW - ZERO icon: mdi:car-multiple input_number: evcs_releve_km_valeur: name: "EVCS - Relevé km : compteur" min: 0 max: 2000000 step: 1 unit_of_measurement: km mode: box icon: mdi:counter # -1 = niveau inconnu (le releve compte, mais l'intervalle restera « niveau manquant ») evcs_releve_niveau: name: "EVCS - Relevé km : niveau batterie (-1 = inconnu)" min: -1 max: 100 step: 1 unit_of_measurement: "%" mode: box icon: mdi:battery-50 # Autonomie de reference d'une charge pleine, donnee par le proprietaire # (04/10/2026) : droite de reference du nuage km / kWh. victron_evcs_autonomie_jeep_km: name: EVCS - Autonomie de référence JEEP min: 0 max: 1000 step: 1 unit_of_measurement: km mode: box victron_evcs_autonomie_vw_km: name: EVCS - Autonomie de référence VW min: 0 max: 1000 step: 1 unit_of_measurement: km mode: box victron_evcs_autonomie_zero_km: name: EVCS - Autonomie de référence ZERO min: 0 max: 1000 step: 1 unit_of_measurement: km mode: box script: evcs_enregistrer_releve_km: alias: "EVCS — enregistrer le relevé kilométrique" mode: queued icon: mdi:content-save sequence: - condition: template value_template: "{{ states('input_number.evcs_releve_km_valeur') | int(0) > 0 }}" - service: input_text.set_value target: entity_id: input_text.evcs_releve_km data: value: > {% set brut = states('input_text.evcs_releve_km') %} {% set tab = brut | from_json if brut.startswith('[') else [] %} {% set n = states('input_number.evcs_releve_niveau') | int(-1) %} {% set e = [states('input_select.evcs_releve_vehicule'), states('input_number.evcs_releve_km_valeur') | int, n if n >= 0 else none, now().timestamp() | int, 'ha'] %} {{ (tab[-4:] + [e]) | to_json }}