ESPhome acquisition discret

Bonjour à tous,
Dans ma future maison, j’ai prévu un compteur d’eau à impulsion.
Je cherche donc à configurer une carte via ESPHome pour faire l’acquisition de ce simple discret.

Ca à l’air tout simple, mais je suis pas expert…
Et quoi que je fasse sur mon yaml, je n’arrive pas à faire ressortir les sensors sur Home assistant !

Voilà un extract de mon code actuel.
Sur cette carte j’avais déjà un capteur de présence, celui fonctionne toujours. j’ai bien les sensor et binary_sensor de vivant sous HA.
Mais j’essaie d’ajouter : total_pulses_ev et impulsion_ev, mais rien à faire ils ne resssortent pas sous HA…

Si quelqu’un peut m’aiguiller…

Merci !

globals:
  - id: total_pulses_ev
    type: int
    restore_value: false
    initial_value: '0'  # initial value, read from power meter and divided by 0.075

binary_sensor:
  - platform: ld2410
    has_target:
      name: Presence
    has_moving_target:
      name: Moving Target
    has_still_target:
      name: Still Target
  - platform: gpio
    id: impulsion_ev
    pin:
      number: GPIO38
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 70ms
    on_press:
      then:
        - lambda: id(total_pulses_ev) += 1;

sensor:
  - platform: ld2410
    light:
      name: light
    moving_distance:
      name : Moving Distance
    still_distance:
      name: Still Distance
    moving_energy:
      name: Move Energy
    still_energy:
      name: Still Energy
    detection_distance:
      name: Detection Distance
1 « J'aime »

Bonsoir

Je ne suis pas un expert en ESP, Mais j’ai l’impression qu’il te manque le Name pour ton compteur.

Voici mon code, si cela peut d’aider

globals:
    
  - id: ef_pulse_counter
    type: float #Le counter n'est pas integer car il sert aussi pour la division m3
    initial_value: "0" 

#################
# Binary Sensor #
#################

# binary sensor comptage impulsion eau froide et adoucie
binary_sensor:

# EAU FROIDE
  - platform: gpio
    pin:
      number: GPIO32
      allow_other_uses: true
      mode: INPUT_PULLUP
      inverted: True
    filters:
      - delayed_on: 50ms
      - delayed_off: 50ms 
    name: "${friendly_name1} counter state"
    id: ef_counter_state

    on_press:
      then:

        - lambda: |-
            // increment le compteur EF puis publish mqtt
            id(ef_pulse_counter) += 1;
            id(ef_counter_pulse).publish_state(id(ef_pulse_counter));
            id(ef_counter_l).publish_state(id(ef_pulse_counter)/1);
            id(ef_counter_m3).publish_state(id(ef_pulse_counter)/1000);
1 « J'aime »

Super c’est ça tout simplement.
Je pensais que l’idée suffisait…
Merci beaucoup.

et pour ton publish MQTT, ta variable ef_counter_pulse elle est définie quelque part dans ton code ?

Oui, j’ai un code pour avoir le nombre impulsion, litres et m3

# Comptage impulsion  
  - platform: template
    name: "${friendly_name2} counter pulse"
    id: ef_counter_pulse
    unit_of_measurement: ''
    accuracy_decimals: 0  # Précision en entiers
    icon: "mdi:counter"
    #update_interval: 5s  # Mise à jour sur changement de valeur
 
# Comptage litres 
  - platform: template
    name: "${friendly_name2} counter l"
    id: ef_counter_l
    unit_of_measurement: 'L'
    accuracy_decimals: 0  # Précision en entiers
    state_class: total_increasing    
    device_class: water

# Comptage m³ (utilisé pour le compteur services HA)
  - platform: template
    name: "${friendly_name2} counter m3"
    id: ef_counter_m3
    unit_of_measurement: 'm³'
    accuracy_decimals: 3  # Précision en entiers
    state_class: total_increasing
    device_class: water    

Bon je ne m’en sors pas…
Je comprends pas le comportement de ces machines.

Ci-dessous le code mon ESPhome.
J’ai bien le binary_sensor donnant le status qui remonte dans Home Assistant.
Mais le binary_sensor pour la détection d’impulsion ne remonte pas…

esphome:
  name: capteurlocaltech
  friendly_name: "Capteur Local Tech"
  platformio_options:
    board_build.extra_flags:
      - "-DARDUINO_USB_CDC_ON_BOOT=0"

esp32:
  board: lolin_s2_mini
  framework:
    type: arduino

# Enable logging
logger:

uart:
  tx_pin: GPIO18
  rx_pin: GPIO33
  baud_rate: 256000

ld2410:

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  password: "xxx"

wifi:
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: xxx
    # Set this to the IP address of the router. Often ends with .1
    gateway: xxx
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: xxx
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Presence1 Fallback Hotspot"
    password: "xxx"

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO21
      mode: INPUT_PULLUP
      inverted: True
    name: impulsion ev
    internal: true
    filters:
      - delayed_on: 50ms
      - delayed_off: 50ms
  - platform: status
    name: "État de connexion à Home Assistant"

captive_portal:
    

Essaye de mettre des " pour le name

name: "impulsion ev"
id: impulsion_ev