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 CC1101 | Pin ESP32 | Funkcja |
| VCC | 3.3V | Zasilanie |
| GND | GND | Uziemienie |
| MOSI | GPIO23 | Master Out, Slave In |
| MISO | GPIO19 | Master In, Slave Out |
| CLK | GPIO18 | Zegar |
| CS | GPIO15 | Chip Select |
| GDO0 | GPIO4 | Wyjście cyfrowe |
| GDO2 | GPIO27 | Wyjś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"

FAQ i Diagnostyka
Podczas instalacji mogą pojawić się pytania. Oto odpowiedzi na te najczęstsze, które dostaję od Was w wiadomościach prywatnych.
- 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.
- 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ę).
- 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.
Cześć, czy mogę od Ciebie kupić gotowi taki zestaw w obudowie? Gotowy do połączenia z HA
Czy jest możliwość dopasowania odczytu do aktualnego wskazania wodomierza? Mam w tej chwili na wodomierzu 108m³ a wskazanie w z odczytu liczy od 0. Mozna to jakoś skorygować?
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
Jest szansa na ten model 3d obudowy?
Tutaj przesyłam link: https://www.printables.com/model/1562568-esp-32-cc1101-water-consumption
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
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
czy w ten sposób mogę odczytać wskazani acyfrowego wodomierza ?
czy na esp 2026.1.1.wam działa ?
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
jakiej wersji esphome używasz ?dla wersji wersji 2026.1.5 niedziała
dla czego kasujesz komentarze???
Nigdy nie kasuję komentarzy. Komentarze są publikowane dopiero po sprawdzeniu. Czasami pojawia się spam a nie chciałbym aby pojawił się na stronie.
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.