Masz wodomierz Sensus iPerl i chciałbyś widzieć zużycie wody w Home Assistant — bez ingerencji w instalację, bez kabli, bez drogiego sprzętu? To możliwe za około 30–40 zł. W tej serii pokażę Ci krok po kroku, jak zbudować autonomiczny odbiornik radiowy oparty na NodeMCU V3 i module CC1101, który przez protokół wMBus 868 MHz odbiera dane wprost z wodomierza i wysyła je do Home Assistant przez ESPHome — bez żadnego pośredniczącego komputera i bez konieczności posiadania sprzętu z HA blisko wodomierza.
Seria składa się z 3 części:
Część 1 (ten artykuł) — co to jest wMBus, jaki sprzęt kupić i jak go podłączyć
Część 2 — Meter ID, klucz szyfrowania AES-128, konfiguracja ESPHome krok po kroku
Część 3 — Home Assistant: encje, dashboard, wykresy zużycia wody, powiadomienia
Część 1 (ten artykuł) — co to jest wMBus, jaki sprzęt kupić i jak go podłączyć
Część 2 — Meter ID, klucz szyfrowania AES-128, konfiguracja ESPHome krok po kroku
Część 3 — Home Assistant: encje, dashboard, wykresy zużycia wody, powiadomienia
Co to jest wMBus i dlaczego nie potrzebujesz SDR?
wMBus (Wireless M-Bus) to europejski standard radiowy (norma EN 13757-4) stosowany w inteligentnych licznikach wody, gazu i ciepła. Wodomierze Sensus iPerl nadają dane co kilka sekund na częstotliwości 868 MHz, szyfrowane kluczem AES-128. Telegram radiowy zawiera aktualny odczyt licznika, informacje o alarmach (wyciek, cofka, blokada) oraz dane diagnostyczne dotyczące baterii i interwału nadawania.
W internecie znajdziesz opisy oparte na RTL-SDR — szerokopasmowym odbiorniku USB (~80–150 zł). Rozwiązanie SDR ma jednak poważną wadę praktyczną: dongle USB musi być fizycznie wpięty w komputer lub Raspberry Pi, który musi stać blisko wodomierza. Jeśli nie masz sprzętu z Home Assistant w pobliżu licznika — a zazwyczaj nie masz, bo HA stoi w szafce sieciowej lub przy routerze, a wodomierz w piwnicy lub na klatce schodowej — SDR jest po prostu niepraktyczny.
Rozwiązanie CC1101 + ESP8266 eliminuje ten problem całkowicie. NodeMCU z modułem CC1101 to autonomiczne urządzenie WiFi — wystarczy zasilić je kablem USB w dowolnym miejscu w zasięgu wodomierza, a dane trafią przez sieć WiFi bezpośrednio do Home Assistant. Żadnego kabla USB do komputera, żadnego dodatkowego sprzętu przy liczniku.
Porównanie metod odczytu Sensus iPerl:
✓
CC1101 (EBYTE E07-900M10S) + NodeMCU V3 — ten projekt: ~35–40 zł, zasilanie USB 5V w dowolnym miejscu, autonomiczny, łączy się z HA przez WiFi, pobór ~0,5 W. Moduł ma gniazdo SMA — możliwość podłączenia anteny zewnętrznej dla lepszego zasięgu.
~
RTL-SDR dongle + Raspberry Pi: ~150–250 zł, dongle USB musi być fizycznie przy komputerze stojącym blisko wodomierza, wyższy pobór energii, bardziej skomplikowana konfiguracja
✗
Bramka od dostawcy / spółdzielni: płatna subskrypcja lub brak dostępu dla lokatora, dane wyłącznie w chmurze producenta
Lista zakupów — co dokładnie kupić
Projekt opiera się na dwóch głównych komponentach dostępnych na AliExpress. Poniżej dokładne nazwy — w tej kategorii produktów różne wersje wyglądają identycznie, a mają zupełnie inne parametry.
1. NodeMCU V3 (ESP8266, wersja Lolin)
Płytka deweloperska z modułem ESP8266, złączem micro-USB i wbudowanym stabilizatorem 3.3V. Kupuj wersję V3 (Lolin) — ma dodatkowy pin 3.3V w wygodnym miejscu. Wersja V2 ma nieco inne rozmieszczenie pinów.
Szukaj:
"NodeMCU V3 Lolin ESP8266" | Cena: ~8–14 zł2. EBYTE E07-900M10S — moduł CC1101 868 MHz z gniazdem SMA
Kluczowy element projektu. Moduł firmy EBYTE oparty na układzie CC1101 (Texas Instruments), pracujący w zakresie 855–925 MHz, z przemysłowym kwarcem 26 MHz.Ważna zaleta tego modułu: gniazdo antenowe SMA. W odróżnieniu od tanich modułów CC1101 z anteną sprężynową wlutowaną na stałe, E07-900M10S pozwala podłączyć zewnętrzną antenę 868 MHz — to bardzo istotne jeśli wodomierz jest za kilkoma ścianami lub na innej kondygnacji. Antena SMA 868 MHz to koszt ok. 5–10 zł i może zdecydować o tym, czy odczyt w ogóle działa.Uwaga: Na AliExpress są identycznie wyglądające moduły CC1101 w wersji 433 MHz — nie zadziałają z wMBus. Szukaj po dokładnej nazwie modelu E07-900M10S.
Szukaj:
"EBYTE E07-900M10S CC1101 868MHz" lub "900M10S SPI CC1101" | Cena: ~12–20 zł3. Antena SMA 868 MHz (opcjonalnie, ale zalecana)
Zewnętrzna antena 868 MHz znacząco poprawia odbiór gdy wodomierz jest za ścianą lub na innej kondygnacji. Szukaj anten dipol lub helical 868 MHz ze złączem SMA żeńskim. Długość optymalnego dipola dla 868 MHz to ok. 8,6 cm.
Szukaj:
"antenna 868MHz SMA 3dBi" | Cena: ~5–10 zł4. Przewody dupont żeńsko-żeńskie (10 cm)
8 sztuk do połączenia CC1101 z NodeMCU. Standardowy zestaw 40 szt. wystarczy na kilka projektów.
Cena: ~3–5 zł za zestaw 40 szt.
5. Zasilacz USB 5V / 500 mA (dowolny)
NodeMCU zasilamy przez micro-USB. Wystarczy stara ładowarka telefoniczna lub port USB w routerze. Całe urządzenie pobiera ok. 0,4–0,6 W.
Schemat podłączenia E07-900M10S ↔ NodeMCU V3
CC1101 komunikuje się z ESP8266 przez sprzętowy interfejs SPI. Komponent ESPHome
wmbus korzysta ze sprzętowego kontrolera SPI — ważne jest użycie dokładnie tych pinów, co zapewnia niezawodność odbioru telegramów wMBus. Napięcie zasilania — najczęstszy błąd:
Moduł E07-900M10S zasilamy napięciem 1.8–3.6 V. Na NodeMCU V3 użyj pinu oznaczonego „3V3”. Podłączenie do pinu „VIN” lub „5V” trwale i nieodwracalnie uszkodzi układ CC1101.
Moduł E07-900M10S zasilamy napięciem 1.8–3.6 V. Na NodeMCU V3 użyj pinu oznaczonego „3V3”. Podłączenie do pinu „VIN” lub „5V” trwale i nieodwracalnie uszkodzi układ CC1101.
Tabela połączeń — E07-900M10S ↔ NodeMCU V3
E07-900M10S
NodeMCU
GPIO
Opis
NodeMCU
GPIO
Opis
VCC
3V3
—
Zasilanie 3.3V — tylko ten pin!
3V3
—
Zasilanie 3.3V — tylko ten pin!
GND
GND
—
Masa
GND
—
Masa
MOSI (SI)
D7
GPIO13
SPI MOSI — sprzętowy, nie zmieniaj
D7
GPIO13
SPI MOSI — sprzętowy, nie zmieniaj
MISO (SO)
D6
GPIO12
SPI MISO — sprzętowy, nie zmieniaj
D6
GPIO12
SPI MISO — sprzętowy, nie zmieniaj
SCK (CLK)
D5
GPIO14
SPI Clock — sprzętowy, nie zmieniaj
D5
GPIO14
SPI Clock — sprzętowy, nie zmieniaj
CSN (CS)
D8
GPIO15
Chip Select — ma rezystor 10k pull-down (patrz niżej)
D8
GPIO15
Chip Select — ma rezystor 10k pull-down (patrz niżej)
GDO0
D1
GPIO5
Wyjście zegarowe / status CC1101 (high impedance)
D1
GPIO5
Wyjście zegarowe / status CC1101 (high impedance)
GDO2
D2
GPIO4
Sygnał statusu FIFO (high impedance)
D2
GPIO4
Sygnał statusu FIFO (high impedance)
Pin D8 (GPIO15) — pull-down jest celowy:
Pin D8 ma wbudowany rezystor 10k do masy. To nie jest błąd — GPIO15 jest tak zaprojektowany w ESP8266, żeby płytka nie bootowała w trybie SPI slave. Przy podłączeniu CSN modułu CC1101 działa poprawnie. Nie dodawaj żadnych zewnętrznych rezystorów.
Pin D8 ma wbudowany rezystor 10k do masy. To nie jest błąd — GPIO15 jest tak zaprojektowany w ESP8266, żeby płytka nie bootowała w trybie SPI slave. Przy podłączeniu CSN modułu CC1101 działa poprawnie. Nie dodawaj żadnych zewnętrznych rezystorów.
Kolejność podłączania:
Zacznij od GND i VCC (zasilanie), dopiero potem piny sygnałowe. Przy odłączaniu odwrotnie. Standardowa zasada bezpiecznej pracy z modułami 3.3V.
Zacznij od GND i VCC (zasilanie), dopiero potem piny sygnałowe. Przy odłączaniu odwrotnie. Standardowa zasada bezpiecznej pracy z modułami 3.3V.
Zasięg i pozycja urządzenia
Wodomierz iPerl nadaje telegram co 10 -15 minut z mocą kilku mW. Sygnał 868 MHz bez problemu przebija ściany gipsowo-kartonowe i murowane, gorzej radzi sobie ze stropami żelbetowymi. Pamiętaj, że NodeMCU możesz postawić gdziekolwiek jest gniazdko i WiFi — w szafce na klatce schodowej, w piwnicy przy wodomierzu, w przedpokoju.
–
Ta sama kondygnacja, ścianka działowa: odbiór pewny — RSSI ~-60 do -75 dBm, LQI < 30
–
Strop drewniany lub jedno piętro (wielka płyta): zazwyczaj działa — RSSI -75 do -95 dBm
–
Strop żelbetowy lub dwa piętra: możliwe, zależy od budynku — warto spróbować z anteną zewnętrzną SMA
–
Kilka stropów żelbetowych bez anteny: trudne — rozwiązanie: antena zewnętrzna SMA lub NodeMCU bezpośrednio przy wodomierzu (wystarczy gniazdko i WiFi w piwnicy)
Jak sprawdzić jakość sygnału po uruchomieniu:
Po wgraniu firmware w HA pojawią się dwa sensory diagnostyczne: CC1101 LQI (niższa wartość = lepszy sygnał, dobra wartość to LQI < 50) oraz CC1101 RSSI w dBm. Możesz tymczasowo przenieść NodeMCU w różne miejsca i obserwować odczyty na żywo w logu ESPHome — o tym więcej w Części 2.
Po wgraniu firmware w HA pojawią się dwa sensory diagnostyczne: CC1101 LQI (niższa wartość = lepszy sygnał, dobra wartość to LQI < 50) oraz CC1101 RSSI w dBm. Możesz tymczasowo przenieść NodeMCU w różne miejsca i obserwować odczyty na żywo w logu ESPHome — o tym więcej w Części 2.
Co dalej — Część 2
Masz sprzęt i schemat połączeń. W Części 2 przechodzimy do oprogramowania — wgrywamy ESPHome na NodeMCU, odnajdujemy Meter ID swojego wodomierza, zdobywamy klucz szyfrowania AES-128 i przechodzimy przez cały plik konfiguracyjny YAML sensor po sensorze.

![Wodomierz iPerl w Home Assistant — wMBus bez SDR | NodeMCU + CC1101 868MHz [Część 1] 2](https://marklabs.pl/wp-content/uploads/2026/05/518c1a78274fdiPerl_1-1.jpg)
![Wodomierz iPerl w Home Assistant — wMBus bez SDR | NodeMCU + CC1101 868MHz [Część 1] 3](https://marklabs.pl/wp-content/uploads/2026/05/EBYTE-E07-900M10S-CC1101-855-925MHz-10dBm-SPI-Wireless-Module.jpg)
![Wodomierz iPerl w Home Assistant — wMBus bez SDR | NodeMCU + CC1101 868MHz [Część 1] 4 E07-900M10S pinout home assistant wather meter esp8266 wire schemat podłaczenia licznik wody](https://marklabs.pl/wp-content/uploads/2026/05/E07-900M10S-pinout-home-assistant-wather-meter-esp8266-wire.png)