Besoin d'aide erreur "Class d'état"

Bonjour

J’ai besoin de votre aide, car j’ai un message d’erreur et je sais pas trop quoi en faire

J’ai installé un compteur d’eau relié a un esp32, et j’ai créé un sensor compteur m3 pour avoir ma consommation.

Code ESP32 (partiel)
sensor:
###########################
#      COMPTEUR EAU       
## Counter meter - Debit detecteur compteur d´eau
  - platform: pulse_counter
#    pin: GPIO32
    pin:
      number: 32
      inverted: true
      mode:
        input: true
        pullup: true
    unit_of_measurement: 'L'
    id: pulse_id
    name: "${friendly_name1} pulse"
    update_interval : 30s 
    filters:
      - lambda: return (x/2);
    
# Consommation eau du jour L et  m3
  - platform: integration
    name: "${friendly_name2} Litre"
    id: pulse_l
    unit_of_measurement: "L"
    accuracy_decimals: 0
    sensor: pulse_id
    time_unit: min
    device_class: water
  - platform: integration
    name: "${friendly_name2} m3"
    id: pulse_m3
    unit_of_measurement: "m³"
    accuracy_decimals: 3
    sensor: pulse_id
    time_unit: min
    device_class: water
    filters:
      - lambda: return (x/1000);

#################
## Binary sensor #
##################
binary_sensor:

##  Définition du comptage des impulsions en L 
  - platform: gpio
    name: ${friendly_name1} impulsion
    id: impulsion_cpt
    pin:
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: True
Code du sensor
#sensor:


# compteur eau m3

- platform: template
  sensors:
    compteur_m3_eau:
      friendly_name: "compteur eau m3"
      unit_of_measurement: "m3"
      value_template:  "{{ (states('counter.compteur_impulsion') | float(0) / 1000) | round(3) }}"       
      icon_template: mdi:counter
      device_class: water
#      state_class: total_increasing

J’ai ensuite ajouter une source d’eau, dans onglet energie, mais j’ai un message d’erreur
class_eau

Que faut il modifier, pour ne pas avoir ce message d’erreur ?

Merci pour votre aide

Peux-tu nous montrer la config du sensor.compteur_m3 STP ?

Bonsoir

Normalement c’est celui qui est dans ESP32, je te joins le code complet


# Name device mask
substitutions:
  name: adoucisseur
  friendly_name: "Fleck"
  friendly_name1: "sensor"
  friendly_name2: "Compteur"

##########
# sensor #
##########
sensor:

### Sensors with general information.
## Signal Wifi
  - platform: wifi_signal
    name: ${friendly_name} Wifi signal
    update_interval: 10min

## ESP Durée fonctionnement    
  - platform: uptime
    name: ${friendly_name} uptime
    update_interval: 10min
    id: esp1_uptime_sec 

###########################
#      COMPTEUR EAU       
## Counter meter - Debit detecteur compteur d´eau
  - platform: pulse_counter
#    pin: GPIO32
    pin:
      number: 32
      inverted: true
      mode:
        input: true
        pullup: true
    unit_of_measurement: 'L'
    id: pulse_id
    name: "${friendly_name1} pulse"
    update_interval : 30s 
    filters:
      - lambda: return (x/2);
    
# Consommation eau du jour L et  m3
  - platform: integration
    name: "${friendly_name2} Litre"
    id: pulse_l
    unit_of_measurement: "L"
    accuracy_decimals: 0
    sensor: pulse_id
    time_unit: min
    device_class: water
  - platform: integration
    name: "${friendly_name2} m3"
    id: pulse_m3
    unit_of_measurement: "m³"
    accuracy_decimals: 3
    sensor: pulse_id
    time_unit: min
    device_class: water
    filters:
      - lambda: return (x/1000);

##########    
# Switch #
########## 
switch:

##  Reset compteur eau      
  - platform: gpio
    pin: 23
    inverted: yes
    id: reset_counter
    restore_mode: ALWAYS_OFF
    name: "${friendly_name2} reset"
    icon: "mdi:restart"
    on_turn_on:
      - lambda: |-
          id(pulse_l) = 0;   
      - delay: 150ms
      - switch.turn_off: reset_counter

## reboot esp            
  - platform: restart
    name: ${friendly_name} restart   

##################
## Binary sensor #
##################
binary_sensor:

##  Status ESP connexion   
  - platform: status
    name: ${friendly_name} status

##  Définition du comptage des impulsions en L 
  - platform: gpio
    name: ${friendly_name1} impulsion
    id: impulsion_cpt
    pin:
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: True

Tu peux essayer d’ajouter state_class: measurement comme si dessous ?

  - platform: integration
    name: "${friendly_name2} m3"
    id: pulse_m3
    unit_of_measurement: "m³"
    state_class: measurement
    accuracy_decimals: 3
    sensor: pulse_id
    time_unit: min
    device_class: water
    filters:
      - lambda: return (x/1000);

Je viens de faire l’essai, J’ai un autre message :

Dernière réinitialisation manquante
Les entités suivantes ont la classe d'état « mesure », mais « last_reset » est manquant :
sensor.compteur_m3

Tu ajoute cette ligne last_reset: 1970-01-01T00:00:00+00:00 comme cela

- platform: integration
    name: "${friendly_name2} m3"
    id: pulse_m3
    unit_of_measurement: "m³"
    state_class: measurement
    last_reset: 1970-01-01T00:00:00+00:00
    accuracy_decimals: 3
    sensor: pulse_id
    time_unit: min
    device_class: water
    filters:
      - lambda: return (x/1000);

C’est pas bon Invalid option :

sensor.integration: [source /config/esphome/esp-cpt-eau.yaml:112]
  platform: integration
  name: Compteur m3
  id: pulse_m3
  unit_of_measurement: m³
  
  [last_reset] is an invalid option for [sensor.integration]. Did you mean [last_reset_type]?
  last_reset: 1970-01-01 00:00:00+00:00
  state_class: measurement
  accuracy_decimals: 3
  sensor: pulse_id
  time_unit: min
  device_class: water
  filters: 
    - lambda: return (x/1000);

Alors je viens d’essayer ceci :

J’ai supprimé Last reset et j’ai remplacé State_class : measurement par state_class: total_increasing


# Name device mask
substitutions:
  name: adoucisseur
  friendly_name: "Fleck"
  friendly_name1: "sensor"
  friendly_name2: "Compteur"

##########
# sensor #
##########
sensor:

###########################
#      COMPTEUR EAU       
## Counter meter - Debit detecteur compteur d´eau
  - platform: pulse_counter
#    pin: GPIO32
    pin:
      number: 32
      inverted: true
      mode:
        input: true
        pullup: true
    unit_of_measurement: 'L'
    id: pulse_id
    name: "${friendly_name1} pulse"
    update_interval : 30s 
    filters:
      - lambda: return (x/2);
    
# Consommation eau du jour L et  m3
  - platform: integration
    name: "${friendly_name2} Litre"
    id: pulse_l
    unit_of_measurement: "L"
    state_class: total_increasing
    accuracy_decimals: 0
    sensor: pulse_id
    time_unit: min
    device_class: water
  - platform: integration
    name: "${friendly_name2} m3"
    id: pulse_m3
    unit_of_measurement: "m³"
    state_class: total_increasing
    accuracy_decimals: 3
    sensor: pulse_id
    time_unit: min
    device_class: water
    filters:
      - lambda: return (x/1000);

##################
## Binary sensor #
##################
binary_sensor:

##  Définition du comptage des impulsions en L 
  - platform: gpio
    name: ${friendly_name1} impulsion
    id: impulsion_cpt
    pin:
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: True

Je n’ai plus le message d’erreur.

Mais je sais pas a quoi sa sert ?

Je vais voir si demain j’ai bien la prise en compte de la consommation dans le tableau Energie…

Je te remercie pour ton aide, je t’informe du résultat demain :wink:

Bonsoir @fredarro

Sa a l’air de fonctionner, je vais vérifier sur une semaine.

Merci encore pour ton aide