HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
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') }}"