Integracja zużycia wody w Home Assistant

Tym razem bierzemy na warsztat temat, który w ostatnim czasie zyskał na znaczeniu dzięki aktualizacjom Home Assistant – pomiar zużycia wody, szczególnie w kontekście poprawek panelu Energia.

w artykule:

Deweloperzy Home Assistant poświęcili ostatnio sporo uwagi panelowi energii, dodając dedykowaną zakładkę do analizy zużycia wody. Dlaczego warto to zrobić? Od momentu, gdy zacząłem śledzić koszty wody u siebie, zacząłem znacznie bardziej zwracać uwagę na ten aspekt domowego budżetu. Dziś pokażę Wam, jak zintegrować nakładkę licznika Apator bezpośrednio z Home Assistantem, wykorzystując niezawodny układ ESP32, moduł CC1101 i najnowszą, stabilną wersję komponentu WM-Bus.

Co będzie potrzebne?

Zanim przejdziemy do działania, upewnij się, że masz przygotowane niezbędne elementy.

Sprzęt:

  • Płytka ESP32 DevKit: Polecam wersję z portem USB-C dla wygody. Uwaga: Jeśli masz stare układy ESP8266, w tym projekcie ich nie użyjemy – nowa wersja komponentu wymaga ESP32, który jest szybszy i w pełni wspierany.
  • Moduł CC1101 (868 MHz): To kluczowy element, który odbierze sygnał radiowy z nakładki Apator.
  • Przewody połączeniowe (Jumper wires): Warto mieć ich zapas.
  • Zasilacz USB-C 5V.
  • Licznik wody: Apator AT-WMBUS-16-2 lub inny model zgodny z protokołem WM-Bus.

Oprogramowanie:

  • Home Assistant oraz dodatek ESPHome (do zainstalowania ze sklepu z dodatkami).
  • Sterowniki CH340 (linki znajdziesz w sekcji pobierania).

Krok 1: Podłączenie elektroniki (Schemat)

To najważniejszy moment całej operacji. Moduł CC1101 posiada 8 pinów, które musimy połączyć z ESP32.

⚠️ Bardzo Ważne: Zasilanie modułu CC1101 (Pin VCC) podłączamy wyłącznie do 3.3V na płytce ESP32. Podłączenie do 5V może trwale uszkodzić moduł!.

Oto rozpiska połączeń, która zapewni poprawną komunikację SPI:

Pin CC1101Pin ESP32Funkcja
VCC3.3VZasilanie
GNDGNDUziemienie
MOSIGPIO23Master Out, Slave In
MISOGPIO19Master In, Slave Out
CLKGPIO18Zegar
CSGPIO15Chip Select
GDO0GPIO4Wyjście cyfrowe
GDO2GPIO27Wyjście cyfrowe

Jeśli zasięg Twojego modułu okaże się niewystarczający (np. licznik jest w piwnicy), rozważ dolutowanie gniazda SMA i użycie zewnętrznej anteny. Pozwala to zwiększyć zasięg z kilkunastu do kilkudziesięciu metrów.

Krok 2: Konfiguracja ESPHome (Kod)

Poniżej znajdziesz gotową konfigurację YAML dla ESPHome. Wykorzystujemy tu komponent wmbus w wersji 4, która rozwiązała problemy z kompatybilnością występujące w ESPHome 2025.8.

W sekcji sensor musisz uzupełnić meter_id (numer swojego licznika) oraz key (klucz szyfrujący).

  • Nie znasz klucza? W 99% przypadków jest to po prostu trzydzieści zer. Jeśli nie, szukaj go w dokumentacji od operatora.
  • Masz więcej liczników? Jeden moduł CC1101 obsłuży je wszystkie – wystarczy dodać kolejne bloki w sekcji sensor.

Pobierz kod:

YAML

captive_portal:

time:
  - platform: sntp
    id: time_sntp

external_components:
  - source: github://SzczepanLeon/esphome-components@version_4
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO23
  miso_pin: GPIO19
  clk_pin:  GPIO18
  cs_pin:   GPIO15
  gdo0_pin: GPIO4
  gdo2_pin: GPIO27

  frequency: 868.950
  all_drivers: False
  sync_mode: True
  log_all: True

sensor:
  - platform: wmbus
    meter_id: 0x1043295
    type: apator162
    key: "00000000000000000000000000000000"
    sensors:
      - name: "ZimnaWoda"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "ZimnaWoda RSSi"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"
Elektroniczny projekt DIY w obudowie z druku 3D

FAQ i Diagnostyka

Podczas instalacji mogą pojawić się pytania. Oto odpowiedzi na te najczęstsze, które dostaję od Was w wiadomościach prywatnych.

  1. Czy mogę zasilać układ z powerbanku?Tak. Aby oszczędzać energię, warto wtedy wgrać firmware „offline” (przez kartę SD, jeśli masz taką możliwość), aby nie zużywać prądu na ciągłą transmisję WiFi przy aktualizacjach20.
  2. Jak sprawdzić czy mam dobry zasięg?Sprawdź encję RSSI w diagnostyce Home Assistant.
    • -40 do -70 dBm: Doskonały zasięg.
    • -70 do -90 dBm: OK.
    • Poniżej -90 dBm: Słaby zasięg (rozważ lepszą antenę).
  3. Co robić w przypadku problemów z debugowaniem?W nowej wersji komponentu możesz włączyć pełne logowanie (log_all: True) dynamicznie z poziomu Home Assistanta, bez konieczności ponownego wgrywania całego kodu22.

Podsumowanie

Po wgraniu oprogramowania i konfiguracji panelu energii, zyskujesz pełny wgląd w zużycie wody w czasie rzeczywistym. To nie tylko gadżet – wiedza o tym, ile kosztuje jedna kąpiel, potrafi skutecznie zmotywować do zmiany nawyków (np. częstsze wybieranie prysznica zamiast wanny).

Projekt obudowy 3d

Projekt umieszczam na printables.com – z biegiem czasu będę umieszczał kolejne wersje projektu.

Wideoporadnik

Postaw mi kawę na buycoffee.to
5 1 głos
Article Rating
Subskrybuj
Powiadom o
guest
14 komentarzy
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze
Piotr
Piotr
1 miesiąc temu

Cześć, czy mogę od Ciebie kupić gotowi taki zestaw w obudowie? Gotowy do połączenia z HA

Marcin
Marcin
1 miesiąc temu

Czy jest możliwość dopasowania odczytu do aktualnego wskazania wodomierza? Mam w tej chwili na wodomierzu 108­m³ a wskazanie w z odczytu liczy od 0. Mozna to jakoś skorygować?

Marcin
Marcin
Odpowiedź do  Marcin
1 miesiąc temu

Odpowiadając na swoje własne pytanie, jest taka możliwość. Należy dodać do kodu esp filtr o który esp będzie zgłaszało powiększoną wartość. W tym przykładzie wartość jest zwiększana o 100m3

filters:
  - offset 100
Marcin
Marcin
1 miesiąc temu

Jest szansa na ten model 3d obudowy?

Przemek
Przemek
1 miesiąc temu

Witaj, 
obejrzalem Twoj film (https://www.youtube.com/watch?v=hL_AvQIUX_M) z czytnikiem zuzycia wody. Akurat tak sie składa, że również mam analogiczny licznik wody. 
Na koncu filmu wspominasz, zeby sie skontaktowac jezeli chcemy pojsc droga na skroty i kupic juz zlozony sprzet. Jaka jest kwota za którą bys go przygotował?
Pozdrawiam
Przemek

Furiusz
Furiusz
1 miesiąc temu

Siemka, jestem laikiem jeżeli chodzi o elektronikę i próbuję to przerobić na nrf905. Czy możesz mi powiedzieć lub nakierować do czego używasz GDO0 i GDO2? Ewentualnie jak to rozkminić pod tym sensorem. Samo rozwiązanie problemu softwarowo mnie nie przeraża, ale nie wiem za bardzo jak to połączyć żeby śmigało

Wojciech
Wojciech
1 miesiąc temu

czy w ten sposób mogę odczytać wskazani acyfrowego wodomierza ?

Jacek
Jacek
1 miesiąc temu

czy na esp 2026.1.1.wam działa ?

arkadiusz
arkadiusz
16 dni temu

hej długo walczę z takim błędem,pomożesz?

[11:40:01.718][D][sntp:100]: Synchronized time: 2026-02-09 11:40:01 [11:40:12.831][D][mbus:035]: Received T1 A frame [11:40:29.314][I][safe_mode:066]: Boot seems successful; resetting boot loop counter [11:40:33.571][D][esp32.preferences:155]: Writing 1 items: 0 cached, 1 written, 0 failed [11:43:50.818][D][mbus:035]: Received T1 A frame [11:44:34.251][D][wifi:2112]: Roam scan (-49 dBm, attempt 1/3) [11:46:43.383][D][mbus:035]: Received T1 A frame [11:48:12.941][D][mbus:014]: Received C1 A frame [11:48:12.946][D][crc:035]: calculated: 0xDF07, read: 0x5668 !!! [11:49:03.025][D][mbus:035]: Received T1 A frame

arkadiusz
arkadiusz
14 dni temu

jakiej wersji esphome używasz ?dla wersji wersji 2026.1.5 niedziała

Ostatnio edytowano 14 dni temu przez arkadiusz
arkadiusz
arkadiusz
14 dni temu

dla czego kasujesz komentarze???

Marcin
Marcin
13 dni temu

Mam takie pytanie jak zrobić żeby urządzenie łączyło się po WiFi z moim HA i czy jest możliwość dodania do tego ESP32 czujnika temperatury i ciśnienia wody.

14
0
Chętnie poznam Twoje przemyślenia, skomentuj.x