Une solution complète de récupération des données Eau, Gaz et Electricite

Non, non… Si tu arrives toujours a obtenir un fonctionnement avec le doigt, l’entrée GPIO fonctionne toujours …

Active la résistance de pull-down sur l’entrée 21!!!

Je ne sais pas comment activé la resistance de pull-down. Désolé.
Voici mon code :

sensor:
  - platform: pulse_counter
    pin: GPIO21
    update_interval: 6s
    name: "water pulse"
    id: water_pulse

  - platform: pulse_meter
    pin: GPIO21
    name: "Water Pulse Meter"
    unit_of_measurement: "liter/min"
    icon: "mdi:water"
    total:
      name: "Water Total"
      unit_of_measurement: "liter"

  - platform: pulse_meter
    pin: GPIO21
    name: "Water Pulse Meter"
    unit_of_measurement: "liter/min"
    icon: "mdi:water"
    total:
      name: "Water Meter Total"
      unit_of_measurement: "m³"
      id: water_meter_total
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001

  - platform: template
    name: "Water Usage Liter"
    id: water_flow_rate
    accuracy_decimals: 1
    unit_of_measurement: "l/min"
    icon: "mdi:water"
    lambda: return (id(water_pulse).state * 10);
    update_interval: 6s

Cela devrait faire un truc comme ça …

`

sensor:
  - platform: pulse_counter
    pin:
      number: GPIO21
      mode: INPUT_PULLDOWN
    update_interval: 6s
    name: "water pulse"
    id: water_pulse

`
Attention je fais ça n’importe comment à partir d’un telephone, je ne suis pas sûr que l’indentation soit respectée…
Tu aura le même résultat en mettant deux petites résistances (pont diviseur), et en prime la tension à l’entrée de l’ESP sera respectée…

Ou comme indiqué dans la documentation esphome, un truc comme ça …

binary_sensor:
  - platform: gpio
    pin:
      number: 21
      mode:
        input: true
        pulldown: true
    name: ...

Devrait passer…

Pour compléter et afin de protéger l’entrée de l’ESP, faut mettre un résistance de 10k en série sur l’entrée GPIO (entre la sonde et l’esp), et il faut également activer la résistance de pull-down…

Ou mettre une résistance de pull down sur ton entrée . Une 10K devrait faire l’affaire si en soft ça ne fonctionne pas

Bonjour, je suis nouveau sur le domaine et je veux tout comprendre :wink:
pour le cas de l’eau comme exemple
@Pbranly lit une seule fois la valeur en pulse_meter et fait des calcules dessus, je comprends.
Les autres codes lisent en pulse_meter et pulse_counter et plusieurs fois ?

Mes questions:
as ton le droit de lire une pin plusieurs fois avec différente méthode ?
quel est la différence entre pulse_meter et pulse_counter ?
J’ai pas trouvez de doc a part celle de esphome qui invite a utiliser pulse_meter si j’ai bien compris ?

je comprend pas pourquoi c’est des l/mn

Lol moi non plus ! De toutes façons ce paramètre ne sert à rien finalement . Ce qui compte c’est la valeur absolue en litres ou en m3.

# reset a minuit des sensors et transfert vers le sensor  veille
    on_time:
      - seconds: 57
        minutes: 59
        hours: 23
        then:  
          - pulse_meter.set_total_pulses:
              id: gazpar
              value: 0

comment copier la valeur dans « gazpar.hier » avant de remettre a 0 ??
le but est de l’afficher sur un mini écran oled
ça doit être trivial mais je sais pas faire !!

time:
  - platform: homeassistant

# reset a minuit des sensors et transfert vers le sensor  veille
    on_time:
      - seconds: 57
        minutes: 59
        hours: 23
        then:
          - sensor.template.publish:
              id: gazpar_gaz_veille
              state: !lambda return id(gazpar_gaz_jour).state; 
          - pulse_meter.set_total_pulses:
              id: gazpar
              value: 0  
          - sensor.template.publish:
              id: gazpar_puissance_gaz_veille
              state: !lambda return id(gazpar_puissance_gaz_jour).state;              
          - lambda: |-
              id(gazpar_puissance_gaz_jour) = 0;

trouver sur le forum : Récupération Telesignalisation GAZPAR](Récupération Telesignalisation GAZPAR) merci

bonjour
j’ai des erreur de comptage .
j’ai un capteur LJ18A3-8-Z/BX-5V brancher sur un wemos d1 mini directement ( le + et - du capteur sur le wemos et le signal a la borne D1

mon sensor esphome :

sensor:
# Debit detecteur compteur d´eau
  - platform: pulse_meter
    id: capteur_inductif_eau_pulse
    pin: 
      number: GPIO5
      mode: INPUT_PULLUP
    name: "Debit compteur d'eau"
    unit_of_measurement: "l/mn"
    icon: mdi:water
    internal_filter: 1200ms

#########################
# Consommation Totale d'Eau Jour
    total:
      name: "Compteur Eau Jour"
      icon: mdi:water
      device_class: water   
      unit_of_measurement: 'L'
      accuracy_decimals: 0
      filters:
        - multiply: 1  # (pour resrer en l)
      id: compteur_eau_jour
      
#########################
 ######################### 
# Consommation eau du jour en m3
  - platform: template
    name: "Compteur eau Jour m3"
    lambda: |-
      return id(compteur_eau_jour).state * 0.001;
    device_class: water
    unit_of_measurement: "m³"
    accuracy_decimals: 3 
    id: compteur_eau_jour_m3
    state_class: total_increasing

j’ai essayer de modifier l’emplacement du capteur .
petite info le wemos et a 30 mètres du capteur
le problème peut venir de la trop grande distance

Donc tu alimentes le détecteur en 3.3 V ? C’est peut être trop faible .
Et si tu l’alimentes en 5 V sa tension de sortie est de 5 V donc trop haute pour l’esp.
Je n’utilise plus d’esp mais un poussoir zigbee IKEA ….
Phil

Et quelles erreurs de comptage ? En plus ou/et en moins ? Regarde mon code. J’y avais ajouté des filtres et des forçages de niveau sur les entrées
Phil

bonjour
j’ai des erreur de comptage en positif

J’en ai aussi mais c’est marginal . Sauf quand je suis absent longtemps . Après quelques jours d’absence, ça détecte quelques faux litres par jour.
De ton côté, quel niveau d’erreur ? Et as tu mis les filtres en place dans ton code ?

Bonjour et merci pour le partage,

J’ai copié ton code et je remarque des aberrations de comptage en plus.

Quand même aujourd’hui c’est 700 litres en trop.

Quand je regarde il semble que le compteur s’incrémente sans que le capteur ne semble changer d’état.

Pour être précis j’utilise en fait un compteur équipé d’un capteur Reed, donc un peu plus simple.

Quelqu’un a déjà vu ça?

Sur la capture d’écran ci dessous on voit bien que tout est normal ou presque vers 18h21, neuf pulse et neuf litres. Mais a 18h28, aucun pulse et pourtant 12 litres de comptés…

Si quelqu’un a une idée je prends, ça avait bien tourné pendant 3 jours avant.

Cdt

Tu veux dire que tu ne puisse pas de l’eau mais que ça compte quand même des impulsions ?

Si c’est ça, c’est pas un problème de résistance mal calibrée ?
Et vérifier aussi si ce problème arrive que en NO ou NF ou indifféremment.
Il peut y avoir des parasites aussi qui font que ça détecte des impulsions. Genre le câble qui longe un autre câble courant fort.

Bonsoir,

Oui j’y ai pensé, mais je suis en Capteur reed, donc en gros c’est un ILS si je ne me trompe pas, il est connecté au +3.3V et le pin est en Pull Down, donc assez peu probable.

Le pire c’est que comme tu vois sur le graphe les changement d’état du capteur sont bien visibles quand de l’eau coule.

En plus il y a bien la tempo de 200 ms dans le programme donc là je suis sec…

A+

ça arrive quand le contact est ouvert et jamais quand il est fermé ?

En effet j’ai la même chose avec le contact ouvert (7h44) ou fermé (7h30) même combat.