ESP32 i podwójne zliczanie impulsów

Na początek naucz się jak zamieszczać kod na forum:

Z tego co można wyczytać w dokumentacji ESPHome, to lepiej jest użyć komponentu

Zamiast pulse_counter. Zobacz jaki mam kod dla zliczania impulsów na wodomierzu.

U mnie działa to dobrze z ustawieniami dla internal_filter: 100ms oraz opcjonalnym timeout: 1min (wskazówka wodomierza może zatrzymać się pod czujnikiem i impuls może trwać godzinami).

sensor:
  - platform: pulse_meter
    name: "Przepływ wody"
    pin:
      number: GPIO5
#      inverted: true 
      mode:
        input: true
        pullup: true
    internal_filter_mode: PULSE
    unit_of_measurement: "l/min."
    accuracy_decimals: 0
    icon: "mdi:gauge"
    internal_filter: 100ms
    timeout: 1min
    total:
      id: water_usage_total
      name: "Woda zużycie total"
      icon: "mdi:water"
      unit_of_measurement: "m³"
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001

Jeśli bezpośrednio, to musisz wiedzieć czy tak możesz. Na dodatek nie użyłeś dla GPIO wewnętrznego pullup: true i input: true.

A podstawa to ustalenie jak prawidłowo można się podłączyć pod te wyjście impulsowe tego licznika, co jest elementem wykonawczym na tym wyjściu.

Tym bardziej powinieneś korzystać z oficjalnej dokumentacji, a nie przypadkowych zlepkach informacji, z przypadkowych źródeł wklejając kod bez zrozumienia. Zamiast tracić bliżej nieokreślony czas na próby, mając nadzieję, że się uda, lepiej poświęcić go na zrozumienie jak to działa.

2 polubienia