Calcul dans template

Mon problème

bonjour,
j’ai un template qui ne fonctionne pas correctement si la valeur prod est a 0, comme je fais une division la valeur 0 est à traiter avant de faire la division, donc j’ai mis un if pour forcer 0 dans ce cas , mais je vois que l’affichage lovelace c’est indisponible quand prod = 0
j’ai surement fait une erreur dans le code (c’est mon 1er template donc merci de votre compréhension)

template:
  - sensor:
      - name: "average_autoconso"
        unit_of_measurement: "%"
        state: >
          {% set autoconso = states('sensor.solaredge_selfconsumption_energy') | float %}
          {% set conso = states('sensor.solaredge_consumption_energy') | float %}
          {{ ((autoconso / conso) * 100) | round(1, default=0) }}
      - name: "average_autoprod"
        unit_of_measurement: "%"
        state: >
          {% set autoconso = states('sensor.solaredge_selfconsumption_energy') | float %}
          {% set prod = states('sensor.solaredge_energy_today') | float %}
          {% if is_state('sensor.solaredge_energy_today', '0') %}
            {{ '0' }}
          {% else %}
          {{ ((autoconso / prod) * 100) | round(1, default=0) }}
          {% endif %}

C’est pas mieux de remplacer

          {% if is_state('sensor.solaredge_energy_today', '0') %}
            {{ '0' }}

par

          {% if prod == 0 %}
            {{ '0' }}

Tu as fais une variable donc autant s’en servir. Et vérifier que le type dans prod est bien un numérique

merci de cette poposition,
comment je fais pour voir le type de prod , puisque c’est une variable de mon template , elle devrait être numérique ou je dois forcer le type ? (si oui je ne sais pas le faire)

Tu essaye ça dans les modeles (coté outils de développement), il va raller si ça ne lui plait pas

je viens de tester dans outils de dev / modèles ça a l’aire de passer
je verrais demain matin si c’est OK , merci