File: /volume1/docker/homeassistant2025/templates.yaml
# templates.yaml
# Capteurs calculés pour la consommation et les coûts Mégane
# Utilise uniquement les entités qui fonctionnent vraiment
- sensor:
# Autonomie totale disponible
- name: "Megane Autonomie Totale"
unit_of_measurement: "km"
state: >
{% set autonomie_batterie = states('sensor.megane_autonomie_de_la_batterie') | float(0) %}
{% set autonomie_carburant = states('sensor.megane_autonomie_en_carburant') | float(0) %}
{{ (autonomie_batterie + autonomie_carburant) | round(0) }}
icon: mdi:map-marker-distance
attributes:
autonomie_electrique: "{{ states('sensor.megane_autonomie_de_la_batterie') }} km"
autonomie_carburant: "{{ states('sensor.megane_autonomie_en_carburant') }} km"
niveau_batterie: "{{ states('sensor.megane_batterie') }}%"
# Ratio d'utilisation électrique
- name: "Megane Ratio Électrique Actuel"
unit_of_measurement: "%"
state: >
{% set autonomie_batterie = states('sensor.megane_autonomie_de_la_batterie') | float(0) %}
{% set autonomie_carburant = states('sensor.megane_autonomie_en_carburant') | float(0) %}
{% set autonomie_totale = autonomie_batterie + autonomie_carburant %}
{% if autonomie_totale > 0 %}
{{ ((autonomie_batterie / autonomie_totale) * 100) | round(1) }}
{% else %}
0
{% endif %}
icon: mdi:battery-charging
attributes:
statut: >
{% set ratio = states('sensor.megane_ratio_électrique_actuel') | float(0) %}
{% if ratio > 70 %}
"Mode principalement électrique"
{% elif ratio > 30 %}
"Mode hybride équilibré"
{% else %}
"Mode principalement thermique"
{% endif %}
# Consommation électrique estimée basée sur les données réelles
- name: "Megane Consommation Électrique Estimée"
unit_of_measurement: "kWh/100km"
state: >
{% set niveau_batterie = states('sensor.megane_batterie') | float(0) %}
{% set autonomie_batterie = states('sensor.megane_autonomie_de_la_batterie') | float(0) %}
{% set capacite_batterie = states('input_number.capacite_batterie') | float(52) %}
{% if autonomie_batterie > 0 and niveau_batterie > 0 %}
{% set kwh_disponible = (niveau_batterie / 100) * capacite_batterie %}
{{ ((kwh_disponible / autonomie_batterie) * 100) | round(2) }}
{% else %}
15
{% endif %}
icon: mdi:lightning-bolt
attributes:
kwh_disponible: >
{% set niveau = states('sensor.megane_batterie') | float(0) %}
{% set capacite = states('input_number.capacite_batterie') | float(52) %}
{{ ((niveau / 100) * capacite) | round(1) }} kWh
# Coût pour 100km en mode électrique
- name: "Megane Coût 100km Électrique"
unit_of_measurement: "€"
state: >
{% set conso_kwh = states('sensor.megane_consommation_électrique_estimée') | float(15) %}
{% set prix_kwh = states('input_number.prix_electricite') | float(0.20) %}
{{ (conso_kwh * prix_kwh) | round(2) }}
icon: mdi:lightning-bolt-circle
# Estimation coût carburant pour 100km
- name: "Megane Coût 100km Carburant"
unit_of_measurement: "€"
state: >
{% set conso_reference = states('input_number.consommation_carburant_reference') | float(6.5) %}
{% set prix_litre = states('input_number.prix_carburant') | float(1.65) %}
{{ (conso_reference * prix_litre) | round(2) }}
icon: mdi:gas-station
# Coût actuel pour 100km selon le mode de conduite
- name: "Megane Coût 100km Actuel"
unit_of_measurement: "€"
state: >
{% set ratio_elec = states('sensor.megane_ratio_électrique_actuel') | float(0) / 100 %}
{% set cout_elec = states('sensor.megane_coût_100km_électrique') | float(0) %}
{% set cout_carburant = states('sensor.megane_coût_100km_carburant') | float(0) %}
{{ ((ratio_elec * cout_elec) + ((1 - ratio_elec) * cout_carburant)) | round(2) }}
icon: mdi:calculator
attributes:
detail: >
{{ (states('sensor.megane_ratio_électrique_actuel') | float(0)) | round(0) }}% électrique,
{{ (100 - (states('sensor.megane_ratio_électrique_actuel') | float(0))) | round(0) }}% carburant
# Coût estimé pour l'autonomie restante
- name: "Megane Coût Autonomie Restante"
unit_of_measurement: "€"
state: >
{% set autonomie_totale = states('sensor.megane_autonomie_totale') | float(0) %}
{% set cout_100km = states('sensor.megane_coût_100km_actuel') | float(0) %}
{% if autonomie_totale > 0 %}
{{ ((autonomie_totale * cout_100km) / 100) | round(2) }}
{% else %}
0
{% endif %}
icon: mdi:cash
attributes:
pour_autonomie: "{{ states('sensor.megane_autonomie_totale') }} km"
# Économies réalisées en mode électrique vs tout carburant
- name: "Megane Économies Électrique"
unit_of_measurement: "€/100km"
state: >
{% set cout_carburant = states('sensor.megane_coût_100km_carburant') | float(0) %}
{% set cout_electrique = states('sensor.megane_coût_100km_électrique') | float(0) %}
{{ (cout_carburant - cout_electrique) | round(2) }}
icon: mdi:piggy-bank
attributes:
pourcentage_economie: >
{% set cout_carburant = states('sensor.megane_coût_100km_carburant') | float(0) %}
{% set cout_electrique = states('sensor.megane_coût_100km_électrique') | float(0) %}
{% if cout_carburant > 0 %}
{{ (((cout_carburant - cout_electrique) / cout_carburant) * 100) | round(0) }}%
{% else %}
0%
{% endif %}
# Statut de charge recommandé
- name: "Megane Statut Charge"
state: >
{% set niveau_batterie = states('sensor.megane_batterie') | float(0) %}
{% set en_charge = states('sensor.megane_en_charge') %}
{% if niveau_batterie < 20 %}
"Charge recommandée"
{% elif niveau_batterie < 50 and en_charge == "Pas en chargement" %}
"Charge suggérée"
{% elif niveau_batterie > 80 %}
"Batterie bien chargée"
{% else %}
"Niveau correct"
{% endif %}
icon: mdi:battery-heart
attributes:
niveau_actuel: "{{ states('sensor.megane_batterie') }}%"
statut_charge: "{{ states('sensor.megane_en_charge') }}"
temps_charge_restant: "{{ states('sensor.megane_temps_de_charge_restant') }}"