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.