Pomiar zużycia wody w Home Assistant – Apator PoWoGaz

Spis Treści

Tematem zacząłem się już interesować od pojawienia się wersji Home Assistant 2022.11, gdzie dodano oficjalnie pomiar zużycia wody do zakładki Energii. Wszystko wydawało się na prostą sprawę, jest masa nakładek do zliczania impulsów, ale niestety do mojego licznika żadna się nie naddawała. Przynajmniej ja takiej nie znalazłem. Więc przyszła pora na kombinowanie. W ruch poszedł czujnik odbiciowo optyczny, a nie czujnik indukcyjny jak to większości nowych liczników wody wystarczy. I to wszystko za kwotę 4 zł. Tak dobrze widzisz, za 4 zł możesz monitorować poziom zużycia wody przez domowników.

Potrzebne materiały:

– czujnik odbiciowy optyczny TCRT5000 ważne, aby był ten ze zdjęć lub linków.
– Wemos D1 Mini
– zasilacz/ładowarka 5V
– przewód LGY 3×0.34
– cyna-lutownica
– śrubka, wkręt
– rzep kablowy, trytytka
– drukarka 3D (opcjonalnie)
– klej typu „Kropelka”

Budowa Elektroniki

Jak widać, nie ma nic skomplikowanego w podłączeniu czujnika optycznego do płytki Wemos D1 Mini. Użyłem przewodu LGY 4×0.14mm bo taki miałem. Zasilanie z zasilacza 5V, który również posiadałem.

Oprogramowanie

Z pomocą oczywiście przychodzi ESPHome. Kod w sumie bardzo prosty. Wystarczy skopiować i wkleić do waszego ESPHome. Nie wiesz jak to zrobić? Tu opisywałem pierwsze kroki z ESPHome. Pamiętaj, aby zmienić nazwę Twojej sieci WiFi oraz hasło.


substitutions:
  device_name: "Licznik Wody" #Nazwa Twojego urządzenia wyświetlna w Home Assistant

esphome:
  name: "licznik-wody" #Wprowadź nazwę Twojego urządzenia w ESPHome.

esp8266:
  board: d1_mini #Twój moduł ESP

# Enable logging
logger:

# Enable Home Assistant API
api:     

ota:

web_server:
  port: 80

# Parametry sieci WiFi
wifi:
  networks:
  - ssid: "Nazwa Twojej Sieci"
    password: "Haslo Twojej Sieci"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "D1-Mini"
    password: "Haslo Twojej Sieci"

captive_portal:
  
# Pobieranie czasu z HA
time:
  - platform: homeassistant
    id: homeassistant_time

# Dioda LED Informacyjna o stanie połącznia.
status_led:
  pin: 
    number: GPIO2 # PIN D4
    inverted: yes # "yes" - Dioda mryga gdy nie można nawiązać połączenie.
                  # "no"  - Dioda świeci gdy połączenie jest nawiązane.

# Przyscisk Restartu Urządzenia  
switch:
  - platform: restart
    name: "${device_name} Reset"

#Global dla Total Water Pulse
globals:
  - id: total_water_pulses
    type: int
    restore_value: yes    

binary_sensor:
# Status Urządzenia
  - platform: status
    name: "${device_name} Status"

  - platform: gpio
    id: internal_pulse_counter
    name: Impuls z Licznika Wody
    filters:
       - delayed_on_off: 50ms    
    pin:
      number: D3 # Pin podłączonego czujnika tcrt5000
      inverted: true         
      mode:
        input: true 
    on_press:
      - then:
          lambda: id(total_water_pulses) += 1; 

sensor:
# Poziom Sygnału WiFi
  - platform: wifi_signal
    name: "${device_name} WiFi Sygnał"
    update_interval: 160s

# Czas Pracy Urządzenia
  - platform: uptime
    name: "${device_name} Czas Pracy"
    update_interval: 300s
    device_class: "timestamp"
    entity_category: "diagnostic"
    unit_of_measurement: ""
    filters:
      - lambda: |-
          auto time = id(homeassistant_time).now();
          if (time.is_valid()) {
            return time.timestamp - x;
          } else {
            return {};
          }         

# Template Licznika Wody
  - platform: template
    id: watermeter_pulses
    name: "Główny Licznik Wody"
    state_class: "total_increasing"
    lambda: return id(total_water_pulses);
    unit_of_measurement: "m³"
    icon: "mdi:water-pump"
    device_class: water
    accuracy_decimals: 3
    filters:
      - multiply: 0.001

# Wyśietl Parametry Sieci WiFi w Home Assistant
text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${device_name} IP Addres"
    ssid:
      name: "${device_name} Połączony z siecią"
    mac_address:
      name: "${device_name} Mac Adres WiFi"         
Wydruk 3D nakładki na licznik.

Z tym tematem walczyłem bardzo długo. Stosowałem gotowe rozwiązania, które znalazłem w Internecie. Chodzi o samą obudowę do TCRT5000 ale nie do końca spełniało to moje oczekiwania. Więc przyszła pora na zaprojektowanie samemu nakładki na licznik. Od razu podkreślam jestem amatorem, w tej dziedzinie, ale używając prostego oprogramowania do modelownia wydruku 3D, jakim jest tinkercad udało mi się coś takiego stworzyć. Obudowę można pobrać z Thingiverse.

W miarę wygląda i co najważniejsze pasuje. Zaprojektowany tak, aby można było nakładkę ściągnąć bez problemu i zamontować nie uszkadzając licznika. Pewnie można by było ładniej to zrobić, ale jestem amatorem.
Nakładka składa się z 3 elementów:
– ring
– podstawa adaptera
– dekielek adaptera
Po wydruku wszystkich elementów, trzeba przykleić ring do podstawy adaptera. Po sklejeniu tych dwóch elementów należy rozwiercić otwór na wkręt mocujący moduł TCRT5000. Specjalnie nie projektowałem pod jeden typ wkrętu, bo każdy z Was może mieć różne wkręty dostępne gdzieś w domu. Druga sprawa to otwór na przewód, tu też występują różnego typu przewody, więc otwór na przewód dostosuj do twojego przewodu. Opcjonalnie jest dostosowane do przewodu o przekroju 3,5 mm. Dekielka osobiście bym nie kleił, wchodzi na lekki wcisk.

Składanie w całość – kolejność.

1. Zacznij oczywiście od wydruku o ile to możliwe. Link do plików adaptera na Thingiverse.

2. Połącz wydruk ring z podstawą adaptera za pomocą kleju. Pamiętaj, aby klej wysechł.
3. Dostosuj otwory na wkręt oraz przewód.

4. Odlutuj goldpin-y z modułu TCRT5000, o ile masz przylutowane.
5. Przylutuj przewody do modułu TCRT5000 zgodnie ze schematem.

6. Przepuść przewód od modułu TCRT5000 przez otwór adaptera.

7. Przykręć moduł TCRT5000 do adaptera.
8. Dostosuj długość przewodu pomiędzy modułem TCRT5000 a płytką Wemos D1 Mini i przylutuj zgodnie ze schematem.
9. Wgraj oprogramowanie do Wemos D1 Mini.
10. Zamontuj adapter-nakładkę na licznik.

Strojenie Adaptera.

Niestety ta czynność wymaga od nas cierpliwości, czasu oraz straty w wodzie. Musimy dostroić nasz moduł optyczny do naszego licznika.
1. Przytnij wystający element osłony diod tak, aby ich czubki były na równo z podstawą adaptera.

2. Sprawdź, czy diody są mniej więcej na równo z postawą adaptera. Lepiej, aby delikatnie wystawały.
3. Skręć potencjometr na minimalną wartość (kręć w przeciwnym ruchu niż wskazówki zegara).
4. Znajdź obszar na Twoim liczniku, gdzie nie ma wskazówek (puste pole pod szybką licznika) i skieruj diody, na pole kręcąc adapterem. Pamiętaj, aby adapter dobrze dolegał do licznika, nie wisiał w powietrzu. Oczywiście wszystko z czuciem, aby nie uszkodzić licznika.
5. Teraz kręć potencjometrem (zgodnie ze wskazówkami zegara), do momentu aż dioda od impulsu sygnału się zaświeci. Kręć bardzo powoli.
6. Gdy dioda nam się zaświeci, cofnij obrót potencjometrem minimalnie (naprawdę minimalnie) w kierunku przeciwnym do ruch wskazówek zegara tak, aby dioda zgasła.
7. Teraz przekręć adapter na pole ze wskazówkami, które liczą wartość 0,0001 oczywiście mniej więcej.
8. W zależności, w którym położeniu jest obecnie wskazówka licznika, dioda może wam się zaświecić. U mnie to wygląda mniej więcej tak, że jak jest wskazówka pomiędzy wartością 1 a 6 to dioda świeci. Na innych wartościach dioda nie świeci.
9. Jak Ci się udało za pierwszym razem to gratuluje. Jeśli nie to pozostaje Ci się cofnąć, do punktu gdzie stroimy potencjometrem w lewo lub w prawo. Również może będziesz musiał przekręcić w lewo lub w prawo sam adapter. Pamiętaj, aby to robić minimalnymi ruchami u mnie delikatne ruszenie potencjometru zmieniało już stan diody.
10. Puść wodę i obserwuj zachowanie diody i wskazówki czy faktycznie obrót wskazówki to jeden impuls. Również można śledzić wynik Twojej pracy w Home Assistant. Oczywiście po wcześniejszym zaprogramowaniu. Należy również pamiętać, że wartość licznika w HA nie zmienia się od razu. Najlepiej patrzeć na sam czujnik włączenie wyłączenia impulsu.
11. Złe zestrojenie modułu będzie dawać fałszywe wyniki. Warto dobrze przećwiczyć za nim skonfigurujemy zużycie energii w Home Assistant.
12. Jeśli wszystko działa zamontuj dekielek oraz zamontuj na stałe adapter za pomocą rzepu na kabel lub trytytki. Technika montażu tak naprawdę dowolna. Ważne, aby adapter dobrze dolegał i nie ruszał się.

Wielka prośba.

Zwracam się do Was z pomocą. Jeśli masz taki licznik i wydrukowałeś mój adapter, proszę daj znać w komentarzach, jak Ci poszło i czy faktycznie na Twoim liczniku działa.
Dla chętnych 2 osób mogę wydrukować obudowę adaptera za darmo. Poniesiesz tylko koszty wysyłki. Warunek to posiadanie takiego licznika jak ja. Chętny? Spełniasz warunki? Pisz śmiało – kontakt. Odpowiem tak szybko, jak to możliwe.

UWAGA

Należy pamiętać, że licznik wody jest własnością dostawcy wody. Chyba że masz zamontowany własny osobny licznik. Wszelkie zerwanie, naruszenie plomb wiąże się z karą grzywny. Prośbę o montaż adaptera należy zgłosić do dostawcy wody.
Osobiście tego jeszcze nie zrobiłem. Inkasent nie przychodzi spisywać licznika od początku pandemii. Ale zamierzam zgłosić taki montaż, ciekaw jestem co mi odpowiedzą. Na razie strategia jest taka, że jak przyjdzie inkasent, wpuszczam go innymi drzwiami, wcześniej ściągając nakładkę, aby uniknąć problemów, póki nie zrobię zgłoszenia i uzyskam zgody. Domownicy są przeszkoleni w demontażu. Jeśli dostanę odpowiedź od dostawcy wody, na pewno zaktualizuję post.

Kosztorys:

– Moduł TCRT5000: Aliexpress 2.19 zł | ABC-RC.PL 3.50 zł
– Wemos D1 Mini: Aliexpress 11,41 zł | Allegro 17,50 zł

Odwiedzając sklep AliExpress za pośrednictwem powyższych linków, robisz zakupy za pośrednictwem linków partnerskich. Nie wiąże się to z żadnymi dodatkowymi kosztami. Dzięki tej formie wspierasz smartinhome.pl w formie prowizji od sprzedaży.
Konfiguracja w Home Assistant.

Po zaprogramowaniu modułu ESP oraz wstępnym zamontowaniu adaptera, przychodzi pora na dodanie go do Home Assistant.
1. Przejdź do USTAWIENIA – DASHBOARDY – ENERGIA
2. W polu ZUŻYCIE WODY dodaj ŹRÓDŁO WODY wybierając encję Główny Licznik Wody (chyba że nazwałeś inaczej).

3. Teraz musisz poczekać aż dane zużycia wody się pojawią (do 2h). Oczywiście musisz zużyci trochę wody.

Statystyki zużycia wody w Home Assistant.


Opcjonalnie można dodać tak zwane statystyki zużycia wody, podzielone na dni, miesiące itp.
1. Przejdź do USTAWIENIA – URZĄDZENIA ORAZ USŁUGI – POMOCNICY
2. UTWÓRZ POMOCNIKA – LICZNIK MEDIÓW
3. Uzupełnij dane licznika mediów. Poniższy przykład zużycia miesięcznego wody. Od Ciebie zależy jakich danych potrzebujesz. Pamiętaj natomiast że statystyka liczy się od momentu dodania pomocnika.

 

Aktualizacja 20.01.2023

Tak jak się spodziewałem i ostrzegałem. Niestety nie można zamontować nakładki – adaptera na licznik (legalnie). Po testach chciałem zalegalizować nakładkę bo sprawdzała się bardzo dobrze, a nie chciałem mieć później przez to problemów. Co prawda inkasent i tak nie chodził spisywać licznika, ale i tak człowiek miał tą świadomość że kiedyś ten dzień jednak nadejdzie. Dla tego postanowiłem napisać do mojego dostawcy, właściciela licznika. Niestety nie wyrazili zgody. ALE w treści do spółki wodociągowej, powołałem się na Unijną dyrektywę dotyczącą udostępniania danych z urządzeń pomiarowych użytkownikom końcowym. O dziwo Pani  z którą korespondowałem mailowo zaproponowała mi wymianę licznika. Licznika z nakładką radiową. I w dodatku całkowicie za darmo, bo jak Pani napisała i tak planują wymianę wszystkich liczników na radiowe. Niestety Pani nie potrafiła określić co to za nakładka i jak działa, obiecała napisać do producenta. Podała tylko markę licznika która mi nic nie mówiła, a odpowiedzi do dziś nie dostałem. Panowie od wymiany licznika  z wodociągów zjawili się dość szybko bo już na drugi dzień od momentu korespondencji. Panowie też za bardzo nie wiedzieli o co chodzi, ale wymienili licznik a ja zostałem sam z problemem. Jak się szybko okazało to nakładka IZAR RC 868 R4 radiowa, działająca po częstotliwości 868MHz. Ale o tym już w osobnym wpisie. Suma summarum jak na razie wyszedłem lepiej niż zakładałem. Co prawda obecna nakładka radiowa jest w fazie testów ale już widzę prawidłowe działanie zliczania na bieżąco zużycia wody. I najważniejsze całkowicie legalnie.

Tematy które mogą Cię zainteresować:

Subscribe
Powiadom o
guest
25 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
Zobacz wszystkie komentarze
Tomasz
Tomasz
2 lat temu

Świetny artykuł!
Czekam na kontynuację w kwestii odczytu zdalnego.

Ja niestety mam licznik w studzience na granicy działki, wiec zastanawiam się jak podejść do tematu. TCRT5000 nie lubi wilgoci, więc zastanawiam się jak całość zabezpieczyć przed wilgocią i zmianami temperatury.
Obok studzienki mam wolną skrętkę na końcu której mógłbym podłaczyć TCRT5000 a w domu (na drugim końcu) Wemos’a, jednak to prawie 15m kabla w ziemi.
Sugestie mile widziane 🙂

Bogdan
Bogdan
2 lat temu
Reply to  Tomasz

WiFi + Panel słoneczny + Aku18650? Ja sobie tak zrobiłem stację pogodową. Dwa lata pracuje bezobsługowo. Normalnie jest deepsleep i co 5min. budzi się aby zmierzyć i wysłać dane.

Paweł
Paweł
2 lat temu

Cześć. Na jakiej zasadzie TCRT5000 odczytuje pomiar z licznika? Zrobiłbym tak samo u siebie tylko mam inny licznik i nie wiem na co uwagę zwrócić. Podpowiesz ?

Paweł
Paweł
2 lat temu
Reply to  smartinhome.pl

Ja mam licznik Fila franco czy coś takiego i nie bardzo wiem jak to właśnie ugryź

Damian
Damian
2 lat temu

Jak się sprawdza odczyt zdalny? Również będę wdzięczny za artykuł na ten temat 🙂

Paweł
Paweł
1 rok temu

Jak dodać do tego licznika – przepływ wody lub zużycie, ale mierzone np. co 10-20s

TomaszC
TomaszC
1 rok temu

Serdecznie dziękuję za projekt, mam problem z działaniem na Wemos D1 mini (stara wersja) działa prawidłowo, na Wemos D1 mini v.3 oraz na Wemos D1 mini pro oba działają tylko, gdy są połączone przez usb z komputerem jeśli nie ma połączenia brak działania czujnika, wygląda jakby był w uśpieniu. Serdecznie proszę o podpowiedz.

TomaszC
TomaszC
1 rok temu
Reply to  smartinhome.pl

Połączenie z czujnikiem:
Zdjęcia podłączenia czujników:

Wemos D1 stara wersja
https://ibb.co/34tKVjs

Wemos D1 v.3
https://ibb.co/17tJRd5

Wemos D1 Pro
https://ibb.co/gjj20jw

Pliki konfiguracyjne:

Wemos D1 stara wersja
https://github.com/Tomasz720/Wemos-test/blob/main/Wemos%20D1%20stara%20wersja

Wemos D1 v.3
https://github.com/Tomasz720/Wemos-test/blob/main/Wemos%20D1%20v.3

Wemos D1 Pro
https://github.com/Tomasz720/Wemos-test/blob/main/Wemos%20D1%20pro

Film z programowania i działania .
https://youtu.be/wdcDCjQlG-E

TomaszC
TomaszC
1 rok temu
Reply to  smartinhome.pl

Serdecznie dziękuję za podpowiedz, zmiana pinu z D3 na D5 pomogła Wemos D1 v.3 oraz Wemos D1 Pro zaczeły działać.

Przyznam szczerze, że tego nie rozumiem.

TomaszC
TomaszC
1 rok temu
Reply to  smartinhome.pl

Właśnie to jest dziwne, bo testy robiłem na zasilaniu z ładowarek i też był problem dopiero zmiana pinu pomogła.

Mam jeszcze jedno pytanie, w jakim pliku jest przetrzymywana wartość licznika. Chodzi oto aby wpisać stan aktualny licznika.

Tomasz
Tomasz
1 rok temu

Gdzie znajdę informację o tym jak skonfigurować nakładkę IZAR RC 868 R4 z homeassistant? Wspominałeś, że jest w innym wpisie cyt: „Jak się szybko okazało to nakładka IZAR RC 868 R4 radiowa, działająca po częstotliwości 868MHz. Ale o tym już w osobnym wpisie.”

PS. artykuł jak i inne na stronie bardzo pomocne !.

Artur
Artur
11 miesięcy temu

Hej jaki licznik był użyty do projektu

M...
M...
2 miesięcy temu

A czy udało się zintegrować z home assistant liczniki z nakładką m-bus? Np. https://bmeters.pl/pl/gsd8_rfm/557/ z nakładką rfm-tx1 (wireless) lub rfm-mb1 (po kablu)…
Jest już coś takiego jak: https://github.com/wmbusmeters/wmbusmeters-ha-addon/blob/main/wmbusmeters-ha-addon-edge/DOCS.md ale nie wiem czy nakładka potrzebuje wstępnej konfiguracji z użyciem narzędzi producenta (mam sam licznik, bez nakładki).

M...
M...
2 miesięcy temu
Reply to  smartinhome.pl

Licznik należy do wodociągów a nakładka byłaby firmowa – czyli producenta licznika (https://www.bmeters.com/en/products/rfm-tx1/). Jeżeli wodociągi nie będą jej instalować to chce to zrobić sam (za ich wiedzą i zgodą) – pod warunkiem, że jest jakiś w miarę mało skomplikowany sposób na podpięcie wmbus do home assistant…

Najnowsze Wpisy

Reklama

Najnowsze Recenzje