Paramétrage Energy : mon sensor n'apparait pas dans la liste

Bonjour à tous,
j’essaie de paramétrer l’intégration énergy mais je ne vois pas mon sensor de consommation.
Je récupère via un esp en mqtt les indexes de mon linky et je calcul ma conso dans mon fichier sensors. Etant en HP-HC je calcul chaque index en fonction d’un index de début d’année et j’additionne les deux. Cela fonctionne bien sur une carte normale mais mon sensor n’apparait pas dans le paramétrage energy.
J’ai ajouté « device class : energy » mais le « state_class: total_increasing » ne fonctionne pas avec un sensor template (erreur lors de la vérification de configuration).
Je bloque
Merci par avance
Stéphane

  - platform: template
    sensors:
      conso_linky:
        value_template: "{{ (states('sensor.conso_hp_linky') | float(0) + states('sensor.conso_hc_linky') | float(0) ) | round(0) }}"
        unit_of_measurement: "kwh"  
        device_class: energy
        state_class: total_increasing

ci dessous toute la partie pour mon linky

## Teleinfo4-Linky

  - platform: template
    sensors:
      hp2_linky:
        value_template: "{{ (states('sensor.hp_linky') | float(0) / 1000) | round(0) }}"
        unit_of_measurement: "kwh"

  - platform: template
    sensors:
      hc2_linky:
        value_template: "{{ (states('sensor.hc_linky') | float(0) / 1000) | round(0) }}"
        unit_of_measurement: "kwh"  
  
  - platform: template
    sensors:
      conso_hp_linky:
        value_template: "{{ (states('sensor.hp2_linky') | float(0) - states('input_number.hp_debut_linky') | float(0) ) | round(0) }}"
        unit_of_measurement: "kwh"

  - platform: template
    sensors:
      conso_hc_linky:
        value_template: "{{ (states('sensor.hc2_linky') | float(0) - states('input_number.hc_debut_linky') | float(0) ) | round(0) }}"
        unit_of_measurement: "kwh"

  - platform: template
    sensors:
      conso_linky:
        value_template: "{{ (states('sensor.conso_hp_linky') | float(0) + states('sensor.conso_hc_linky') | float(0) ) | round(0) }}"
        unit_of_measurement: "kwh"  
        device_class: energy
        state_class: total_increasing
  
  - platform: template
    sensors:
      conso_e_hp_linky:
        value_template: "{{ ((states('sensor.conso_hp_linky') | float(0) * states('input_number.tarif_hp') | float(0) ) + (states('sensor.conso_hc_linky') | float(0) * states('input_number.tarif_hc') | float(0) ) )| round(0) }}"
        unit_of_measurement: "€"

Salut ça te dit quoi exactement?
t’as essayé avec total à la place de total_increasing?

Je pencherais pour l’unité qui n’est pas bonne, mais c’est à valider.

kWh ou Wh

avec un W majuscule.

- name: energy_chauffage_climatisation_salon
  unit_of_measurement: "kWh"
  device_class: energy
  state_class: total_increasing
  state: >-
    {% if is_state('sensor.consommation_chauffage_climatisation_salon', 'unavailable') %}
      'unavailable'
    {% else %}
      {% set KWH = states('sensor.consommation_chauffage_climatisation_salon') | float %}
      {{ KWH }}
    {% endif %}

Salut et merci pour votre aide !
Je viens d’essayer avec total et en modifiant kWh mais j’ai toujours l’erreur :

Je viens de basculer mon ESP du linky sous ESPHOME. Je vais peux etre pouvoir calculer la conso sous esphome et ne plus avoir le problème ?
Il faut que je cherche pour mon calcul sous esphome

Je viens de mettre le calcul de ma conso sous ESPHOME et je n’ai pas d’erreur
J’ai donc pu paramétrer l’intégration Energy qui a bien trouvé mon sensor consolinky
par contre j’ai d’autre appareil que je ne peux pas encore basculer sous esphome et j’ai le même problème.
Si vous avez une idée sur mon problème de base dans le fichier sensors ?

  - platform: template
    name: "consolinky"
    id: consolinky
    unit_of_measurement: "kWh"
    accuracy_decimals: 0
    device_class: energy
    state_class: total_increasing
    lambda: |-
      return(id(consohp).state + id(consohc).state);

Je viens de tester avec " attribute_templates:" :
Je n’ai plus de message d’erreur dans la vérification mais aprés redémarrage toujours pas dispo dans Energy

  - platform: template
    sensors:
      conso_pv:
        value_template: "{{ (states('sensor.conso_hp_pv') | float(0) + states('sensor.conso_hc_pv') | float(0) ) | round(0) }}"
        unit_of_measurement: "kwh"  
        device_class: energy
        attribute_templates:
          state_class: total_increasing

Si tu vas dans outils de développement, puis statistiques, tu retrouves ton entité conso_pv ?
Si oui y a t’il une option pour corriger les valeurs, tout à droite de la ligne.

Non j’ai corrigé

et en faisant corriger :
image

C’est de nouveau le W majuscule de kWh.

From 2021.9 onwards
For sensors to show up in Energy they should be measuring (k)Wh, have a device_class: energy and (most often) a state_class: total_increasing. However, entities with that state_class should not drop to 0 when unavailable otherwise miscalculations will occur (especially important for people creating template sensors without accounting for a default value for the template). If uncertain, it’s better to instead use state_class: total. For other possible state classes and detailed explanations look at the developers link above. :point_up:

If you previously customised your sensors to work in 2021.8 by adding last_reset and state_class: measurement you should remove last_reset and change the the state_class appropriately. You can do that same as before (see bullet points in previous pinned message).

Keep in mind however it’s best to incorporate these attributes in the integration itself and not as customisations!

Effectivement tu as raison !
Je viens de remplacer les w par des W et mon sensor est apparu dans la liste !!
Merci beaucoup
Je met le code correcte :

  - platform: template
    sensors:
      conso_pv:
        value_template: "{{ (states('sensor.conso_hp_pv') | float(0) + states('sensor.conso_hc_pv') | float(0) ) | round(0) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        attribute_templates:
          state_class: total_increasing

Encore merci à tous !!
Stéphane

2 « J'aime »