Naciśnij ESC, aby zamknąć

Home Assistant: Zdalny odczyt wodomierza poprzez ESPHome

Spis treści

Cześć!

W dobie smart home, zdalny odczyt zużycia mediów staje się coraz bardziej popularny, a integracja tych danych z systemami automatyki domowej, takimi jak Home Assistant, pozwala na lepsze zarządzanie zasobami i optymalizację kosztów. W tym artykule pokażę Ci, jak skonfigurować zdalny odczyt licznika wody Apator za pomocą niedrogiej płytki ESP32 i otwartego oprogramowania ESPHome.

Dzięki temu będzie można w łatwy sposób monitorować zużycie wody bez konieczności ręcznego odczytu stanu licznika. Przeprowadzę Cię przez proces instalacji, konfiguracji i integracji, aby móc cieszyć się pełną automatyzacją w swoim inteligentnym domu.

Zaczynajmy! 🚀

Czym jest ESP32?

NodeMCU ESP32 | Joy-IT

ESP32 to bardzo popularny mikrokontroler stworzony przez firmę Espressif Systems. Jest to następca ESP8266 i oferuje szereg ulepszeń i dodatkowych funkcji. ESP32 wyposażony jest w dwurdzeniowy procesor Xtensa LX6, który działa na częstotliwości do 240 MHz, co zapewnia wystarczającą moc obliczeniową do obsługi różnorodnych zadań.

Jedną z głównych zalet ESP32 jest jego wszechstronność i wsparcie dla różnych interfejsów komunikacyjnych, takich jak WiFi, Bluetooth Classic oraz Bluetooth Low Energy (BLE). Dzięki temu jest idealny do zastosowań IoT (Internetu Rzeczy), projektów bezprzewodowych oraz innych aplikacji wymagających komunikacji bezprzewodowej. Ponadto, ESP32 posiada wbudowane peryferia do obsługi interfejsów takich jak SPI, I2C, UART, co ułatwia integrację z różnymi czujnikami i urządzeniami.

Mikrokontroler ten jest również popularny ze względu na swoją niską cenę, dostępność na rynku oraz rozbudowane środowisko programistyczne, które obejmuje platformę ESP-IDF oraz wsparcie dla Arduino IDE. Dzięki temu jest doskonałym wyborem dla zarówno początkujących, jak i doświadczonych programistów chcących tworzyć aplikacje wbudowane i projekty IoT.

Czym jest ESPHome?

ESPHome, Nowe logo

ESPHome to potężne, open source’owe środowisko programistyczne stworzone specjalnie z myślą o urządzeniach opartych na popularnych mikro-kontrolerach ESP8266 i ESP32. Jego głównym celem jest ułatwienie tworzenia inteligentnych urządzeń z zakresu Internetu Rzeczy (IoT), które można następnie w pełni zintegrować i kontrolować za pośrednictwem platformy Home Assistant.

Konfiguracja urządzeń w ESPHome odbywa się poprzez przyjazne pliki w formacie YAML, które pozwalają na definiowanie działania różnych komponentów, czujników, wyświetlaczy czy elementów wykonawczych. Dzięki temu programowanie staje się intuicyjne i przystępne nawet dla osób bez dogłębnej znajomości kodowania.

Oprócz natywnej integracji z Home Assistant, ESPHome wspiera również szeroką gamę gotowych modułów i bibliotek, pozwalając na obsługę wielu popularnych innych podzespołów. 

Przygotowanie

Zanim zanurzymy się w adaptację systemu przy użyciu ESP32/ESP8266 i ESPHome, warto odpowiednio się przygotować. Poniżej znajdziesz kluczowe kroki, aby rozpocząć projekt.

W tym artykule skoncentrujemy się na integracji wodomierza Apator JS Smart C+, który jest jednostrumieniowym wodomierzem polskiej produkcji. Wodomierz ten został przystosowany do montażu różnego rodzaju nakładek, w tym radiowej do komunikacji w standardzie Wireless M-Bus, impulsowej oraz M-Bus. W naszym przypadku będziemy korzystać z nakładki Apator AT-WMBUS-16-2, która umożliwi nam zdalny odczyt wskazań wodomierza przy użyciu technologii Wireless M-Bus oraz integrację z systemem ESPHome.

Upewnij się, że masz wszystkie niezbędne materiały:

  • Płytka ESP8266 NodeMCU (lub ESP32, jeśli zdecydujesz się na nowszy model),
    • Warto zweryfikować przed zakupem płytki ESP, czy zasięg sieci Wi-Fi dociera w miejsce naszej instalacji. Może się okazać, że będziemy potrzebować zakupić płytkę z możliwością podłączenia zewnętrznej anteny.
  • Wodomierz Apator JS Smart C+ (Link do producenta),
  • Nakładka do odczytu radiowego Apator AT-WMBUS-16 (Link do producenta),
  • Moduł CC1101 868 MHz (Link do sklepu),
  • Antena 868 MHz,
  • Źródło zasilania dla płytki ESP8266 (5V DC),
  • Kostki elektryczne,
  • (opcjonalnie) Puszka DIN, w której schowamy płytkę ESP wraz z modułem konwertera,
  • Przewody połączeniowe do wszystkich elementów.

Instalacja ESPHome w Home Assistant

Zainstaluj ESPHome w swoim środowisku Home Assistant, aby móc łatwo konfigurować i zarządzać urządzeniem ESP8266. Skorzystaj z dokumentacji ESPHome i postępuj zgodnie z instrukcjami.

Przygotowanie przestrzeni pracy

Zorganizuj miejsce pracy, gdzie będziesz montować układ. Upewnij się, że masz dostęp do narzędzi i jesteś w stanie swobodnie pracować nad projektem.

Krok 1 – VLAN IoT

Jako praktykę bezpieczeństwa zalecam utworzenie osobnej sieci dla urządzeń IoT, odseparowanej od głównej sieci domowej. W tym celu warto skorzystać z funkcji VLAN (Virtual Local Area Network), która pozwala na fizyczną separację urządzeń, takich jak te oparte na ESPHome, od innych urządzeń w domowej infrastrukturze.

Korzyści

Ikona chmur jako VLAN

Tworzenie dedykowanej sieci dla urządzeń IoT oferuje kilka korzyści:

  • Bezpieczeństwo: Odseparowanie urządzeń IoT od głównej sieci pomaga zminimalizować potencjalne ryzyko ataków. W przypadku ewentualnej kompromitacji urządzenia IoT, dostęp do głównej sieci domowej jest utrudniony.
  • Kontrola Komunikacji: Utworzenie osobnej sieci pozwala na bardziej precyzyjną kontrolę, kto i jak komunikuje się z urządzeniami IoT. Można zdefiniować reguły komunikacyjne, które pozwalają jedynie konkretnym urządzeniom (na przykład serwer czy wirtualna maszyna z Home Assistant) na interakcję z urządzeniami IoT.
  • Optymalizacja Ruchu Sieciowego: Oddzielenie ruchu urządzeń IoT od ruchu głównej sieci może przyczynić się do optymalizacji wydajności sieci.

Wdrożenie

W celu implementacji takiej separacji, warto skonsultować się z dokumentacją i ustawieniami routera. W przypadku Home Assistant, korzystając z odpowiednich reguł firewalla na routerze, można dostosować dostęp do urządzeń IoT. To podejście wprowadza warstwę dodatkowego bezpieczeństwa do naszej infrastruktury smart home.

Krok 2 – Instalacja i konfiguracja firmware do pracy z Home Assistantem

Kiedy już uruchomiony zostanie dodatek ESPHome na serwerze Home Assistant, czas przejść do dodania pierwszego urządzenia opartego na ESPHome.

Podłączenie do komputera

  • Podłącz płytkę przy użyciu przewodu USB do swojego komputera.Ważne jest, aby korzystać z przewodu USB z transmisją danych, ponieważ wiele tanich przewodów dostarcza jedynie zasilanie.
    • Dla pewności co do poprawnego działania, zalecam używanie przeglądarki Chrome lub Edge (następuje przekazywanie transmisji danych za pośrednictwem portu COM do przeglądarki przy użyciu WebSerial).

Home Assistant

  • Po zakończeniu tych kroków, zaloguj się do Home Assistant,

Home Assistant, ekran logowania

  • Z panelu bocznego przechodzimy do zakładki ESPHome,
  • Następnie klikamy New Device,

ESPHome, Button New device

  • Po wybraniu opcji dodania nowego urządzenia, możemy napotkać komunikat o niekompatybilności przeglądarki, szczególnie w przypadku przeglądarek, które nie obsługują WebSerial. Alternatywnie, możemy również natrafić na komunikat informujący o braku bezpiecznego połączenia (HTTPS) do dashboardu. W takiej sytuacji możemy kliknąć Continue, aby kontynuować proces dodawania urządzenia.

ESPHome, New device

  • W kolejnym oknie wprowadzamy nazwę dla naszego urządzenia (może to być utworzona przez nas nazwa lub alias) oraz dane naszej sieci Wi-Fi.
    • Wprowadzanie danych do sieci Wi-Fi jest konieczne jedynie przy pierwszym dodawaniu urządzenia. Kolejne dodawane urządzenia oparte o ESPHome nie będą wymagały tego kroku.
  • Następnie, aby ESPHome zainstalował firmware na płytce ESP8266 kliknij przycisk Connect.

ESPHome, Installation

  • Po chwili w przeglądarce pojawi się okno wyboru urządzenia do komunikacji po porcie szeregowym. Znajdź swoje urządzenie, którego nazwa powinna zawierać CP210x UART, i kliknij Connect.
  • Następnie zaczekaj, aż firmware zostanie zainstalowany na płytce.

Zakończenie procesu

Po pomyślnej instalacji powinieneś otrzymać komunikat potwierdzający zakończenie procesu. Na dashboardzie pojawi się także Twoje urządzenie z opisem ONLINE. To oznacza, że płyta została poprawnie skonfigurowana i jest gotowa do dalszych działań.

Krok 3 – Zamontuj nakładkę na wodomierz

Montaż nakładki na wodomierz JS Smart C+ jest niezwykle prosty. Wystarczy nałożyć ją na front wodomierza, upewniając się, że jest odpowiednio dopasowana. Przed montażem warto zwrócić uwagę na numer seryjny znajdujący się na nakładce (w przypadku modeli od Apatora). Numer ten jest kluczowy, ponieważ będziemy go potrzebować do konfiguracji w ESPHome – to właśnie dzięki niemu system będzie wiedział, z którego wodomierza powinien odczytywać dane.

Jeśli nakładka jest nowa, powinna być wyzerowana, co oznacza, że nie ma zapisanej historii zużycia wody. Aby rozpocząć jej działanie, należy wybudzić ją za pomocą magnesu. W przypadku używanej nakładki, będzie ona miała zapisany przebieg w metrach sześciennych. W takim przypadku wybudzanie magnesem nie jest konieczne. Warto również pamiętać, że używane nakładki mogą mieć zmienione czasy nadawania danych – raporty mogą być wysyłane częściej lub rzadziej niż ustawienia domyślne producenta.

W dalszych krokach artykułu pokażę, jak skorygować te wartości, aby wskazania w Home Assistant były zgodne z rzeczywistym zużyciem wody.

Klucz szyfrujący

Jeśli kupujesz nową nakładkę, możesz poprosić producenta, aby nie ustawiał klucza szyfrującego. Bez klucza nie będziesz mógł odczytać przesyłanych wartości, dlatego brak szyfrowania ułatwi integrację z systemem.

W przypadku zakupu używanej nakładki upewnij się, że sprzedawca dostarczył Ci rozkodowaną nakładkę lub przekazał klucz szyfrujący. Jeśli klucz szyfrujący nie jest dostępny, odczyt danych z wodomierza będzie niemożliwy.

Bezpieczeństwo

Klucz szyfrujący chroni dane przesyłane między wodomierzem a odbiornikiem. Szyfrowanie zapewnia, że odczyty są chronione przed nieautoryzowanym odczytem i manipulacją. Dzięki temu, możliwe jest zapobieganie podsłuchiwaniu i fałszowaniu danych, co jest szczególnie ważne w kontekście monitorowania zużycia wody, gdzie dokładność danych jest kluczowa dla zarządzania zasobami i kontrolowania kosztów.

Jednakże, bezpieczeństwo związane z kluczem szyfrującym może wprowadzać pewne utrudnienia, szczególnie w kontekście integracji z systemem ESPHome. Bez odpowiedniego klucza, nawet jeśli nakładka działa poprawnie, nie będziesz w stanie odczytać przesyłanych danych. W takim przypadku, konieczne jest uzyskanie klucza od producenta lub sprzedawcy, co może być dodatkowym krokiem w procesie konfiguracji.

Jeśli klucz szyfrujący nie jest ustawiony, system może działać w trybie „otwartym”, co znacznie upraszcza integrację, ale również zmniejsza poziom zabezpieczeń. Warto zatem znaleźć balans między bezpieczeństwem a wygodą – jeśli bezpieczeństwo danych nie jest priorytetem w Twoim zastosowaniu, brak szyfrowania może uprościć cały proces.

Krok 4 – Podłącz moduł radiowy do płytki

Aby umożliwić zdalny odczyt danych z wodomierza, konieczne jest podłączenie modułu radiowego CC1101 pracującego na częstotliwości 868 MHz do płytki ESP32. Do tego celu będziesz potrzebować lutownicy, ponieważ przewody muszą być przylutowane do modułu i płytki ESP32.

W zestawie z modułem radiowym znajdziesz krótką antenkę o częstotliwości 868 MHz, którą możesz wykorzystać. W mojej instalacji zdecydowałem się jednak na zastosowanie złącza BNC, aby móc podłączyć zewnętrzną antenę, co może poprawić zasięg sygnału.

Po przylutowaniu przewodów należy podłączyć je do odpowiednich pinów na płytce ESP32. Jeśli wolisz inny układ połączeń, nie ma problemu – wystarczy, że podasz odpowiednie piny w konfiguracji kodu, który zaprezentuję w dalszej części artykułu.

Podłącz przewody zgodnie z poniższymi pinami:

  • MOSI: GPIO32
  • CLK: GPIO33
  • MISO: GPIO19
  • GDO2: GPIO21
  • GDO0: GPIO22
  • CS: GPIO23

W mojej konfiguracji moduł radiowy oraz ESP32 znajdują się w szafie teletechnicznej. Dlatego zdecydowałem się również podłączyć do tej samej płytki czujnik temperatury DS18B20, co pozwala mi na monitorowanie temperatury w szafie teletechnicznej przy użyciu tego samego urządzenia.

Moduł CC1101 868 MHz

Opis pinów podłączeniowych jest opisany na odwrocie płytki CC1101.

Krok 5 – Wgraj kod w ESPHome

W tej sekcji wgramy teraz dodamy odpowiednie wpisy dotyczące konfiguracji połączenia z odbiorem wskazań z wodomierza. Skopiuj niezbędne elementy kodu do swojej instalacji. Skorzystamy z dostosowanego do ESPHome komponentu, opracowanego przez użytkownika z GitHub o nazwie SzczepanLeon. Komponent ten znajduje się w repozytorium esphome-components.

Za co odpowiada?

Customowy komponent bazujący na „wmbusmeters” dodaje obsługę modułu CC1101 w standardzie Wireless M-Bus, co jest kluczowe do komunikacji z wodomierzem Apator. Umożliwia on odczyt ramek danych wysyłanych przez nakładkę radiową do wodomierza, dekodowanie tych danych, a następnie przesyłanie ich do Home Assistant za pośrednictwem ESPHome.

W repozytorium znajdziesz dokładne instrukcje, jak skonfigurować i wgrać ten komponent. Po zakończeniu tego kroku będziesz mieć w pełni działający system zdalnego odczytu wodomierza
 
esphome:
  name: "esp02-watermeter"
  comment: "Water"
  area: "Office"  

esp32:
  board: esp32dev
  framework:
    type: arduino

web_server:
  port: 80
  local: true  

# Enable Home Assistant API
api:
  encryption:
    key: "HERE WILL BE THE CODE GENERATED BY ESPHOME"

ota:
  - platform: esphome
    password: "HERE WILL APPEAR THE PASSWORD GENERATED BY ESPHOME"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password  

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "esp02-watermeter Fallback Hotspot"
    password: "123456789"

captive_portal:

button:
  - platform: restart
    name: "Restart device"

sensor:
  - platform: wmbus
    meter_id: "0xXXXXXXXX"
    add_prefix: false
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
     name: "Cold water link quality"
     id: "cold_water_meter_lqi"
     unit_of_measurement: "lqi"
     state_class: "measurement"
    rssi:
     name: "Cold water signal strength"
     id: "cold_water_meter_rssi"
     unit_of_measurement: "dBm"
     entity_category: "diagnostic"
    total_water_m3:
     name: "Cold water meter"
     id: "cold_water_meter_m3"
     unit_of_measurement: "m³"
     state_class: total_increasing
     device_class: "water"
     accuracy_decimals: 3
     icon: "mdi:counter"
     filters:
      - offset: -XX.XX
  - platform: wmbus
    meter_id: "0xXXXXXXXX"
    add_prefix: false
    type: apator08
    lqi:
     name: "Hot water link quality"
     id: "hot_water_meter_lqi"
     unit_of_measurement: "lqi"
     state_class: "measurement"
    rssi:
     name: "Hot water signal strength"
     id: "hot_water_meter_rssi"
     unit_of_measurement: "dBm"
     entity_category: "diagnostic"
    total_water_m3:
     name: "Hot water meter"
     id: "hot_water_meter_m3"
     unit_of_measurement: "m³"
     state_class: total_increasing
     device_class: "water"
     accuracy_decimals: 3
     icon: "mdi:counter"   
     filters:
        - offset: -XXX.XXX

time:
  - platform: sntp
    id: time_sntp

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

wmbus:
  mosi_pin: GPIO32
  clk_pin: GPIO33
  miso_pin: GPIO19
  gdo2_pin: GPIO21
  gdo0_pin: GPIO22
  cs_pin: GPIO23

  log_unknown: "true"  

W kodzie konfiguracyjnym ESPHome, który wkleiłem do artykułu, definiujemy sposób, w jaki ESP32 będzie komunikować się z wodomierzem za pomocą modułu CC1101. Oto, co oznaczają poszczególne elementy konfiguracji:

Sensor – opis szczegółowy
  • platform: wmbus: Określa, że używamy platformy Wireless M-Bus do komunikacji z wodomierzem.
  • meter_id: "0xXXXXXXXX": To unikalny identyfikator (ID) wodomierza, który pozwala ESPHome zidentyfikować, z jakim urządzeniem się komunikuje. Numer ten powinien być zgodny z numerem seryjnym nakładki zamontowanej na wodomierzu.
  • add_prefix: false: Ustawienie to decyduje, czy dodawać prefiksy do nazw encji. W tym przypadku prefiksy nie są dodawane, co oznacza, że nazwy encji będą proste i bez dodatkowych oznaczeń.
  • type: apator162: Określa model nakładki do wodomierza, który używamy. Lista typów jest opisana w repozytorium na GitHubie.
  • key: "00000000000000000000000000000000": To klucz szyfrowania, który jest używany do dekodowania danych przesyłanych przez nakładkę radiową. W przypadku domyślnych ustawień, należy użyć wartości „00000000000000000000000000000000”.
Definicja poszczególnych czujników

lqi:

  • name: "Cold water link quality": Nazwa encji, która będzie przedstawiać jakość połączenia z wodomierzem.
  • id: "cold_water_meter_lqi": Identyfikator encji.
  • unit_of_measurement: "lqi": Jednostka miary, w tym przypadku wskaźnik jakości połączenia (Link Quality Indicator).
  • state_class: "measurement": Klasa stanu, która określa, że jest to pomiar.

rssi:

  • name: "Cold water signal strength": Nazwa encji, która pokazuje siłę sygnału.
  • id: "cold_water_meter_rssi": Identyfikator encji.
  • unit_of_measurement: "dBm": Jednostka miary dla siły sygnału, decybele miliwatów (dBm).
  • entity_category: "diagnostic": Kategoria encji, która oznacza, że jest to informacja diagnostyczna.

total_water_m3:

  • name: "Cold water meter": Nazwa encji, która wyświetla całkowite zużycie wody.
  • id: "cold_water_meter_m3": Identyfikator encji.
  • unit_of_measurement: "m³": Jednostka miary dla zużycia wody, metry sześcienne (m³).
  • state_class: total_increasing: Klasa stanu, która wskazuje, że wartość będzie rosnąć w miarę upływu czasu.
  • device_class: "water": Klasa urządzenia, która informuje, że jest to licznik wody.
  • accuracy_decimals: 3: Liczba miejsc po przecinku, do których będą zaokrąglane wyniki.
  • icon: "mdi:counter": Ikona, która będzie wyświetlana w interfejsie Home Assistant.
  • filters: - offset: -XX.XX: Filtr offsetu, który umożliwia korekcję wartości odczytów. Należy zastąpić „XX.XX” odpowiednią wartością, aby skompensować różnice między rzeczywistym zużyciem a odczytem.

Krok 6 – Odbiór danych z nakładki radiowej przy wodomierzu

Teraz zajmiemy się odbiorem danych z nakładki radiowej. W tym celu skonfigurujemy ESPHome, aby prawidłowo komunikował się z wodomierzem. Oto kroki, które należy wykonać:

  • Meter ID: W kodzie konfiguracyjnym ESPHome musisz wpisać Meter ID. Można go podać zarówno w formacie dziesiętnym, jak i szesnastkowym (hex). Na przykład, jeśli Twoja nakładka radiowa ma 7 cyfr, jak 12345678, wpisujesz ją jako 0x01234567w polu meter_id. To umożliwi prawidłowe rozpoznanie wodomierza przez system.
  • Sprawdzanie odczytów: Na początek możesz ustawić log_unknown: true w konfiguracji. Dzięki temu ESPHome będzie logować wszystkie nieznane odczyty. Sprawdź logi, aby zobaczyć, jakie dane są odbierane z nakładki. Jeżeli zarejestrowane dane zgadzają się z oczekiwanymi wartościami (czyli tymi, które są zgodne z rzeczywistością), to znaczy, że konfiguracja jest poprawna 🎉.
  • Kalibracja offsetu: Jeśli masz nowy wodomierz, ale używasz starszej nakładki radiowej, może być konieczne dostosowanie offsetu. W takim przypadku, zamiast od razu ustawiać meter_id, najpierw obserwuj, co odbiera moduł CC1101. Zwróć uwagę na wskazania nakładki, a następnie dostosuj offset w konfiguracji sensora, aby wyrównać odczyty z rzeczywistym zużyciem.
    • Sprawdź Logi: Przejrzyj logi ESPHome, aby zobaczyć, jakie wartości są odbierane.
    • Dostosuj Offset: Na podstawie odczytów, dostosuj offset w konfiguracji sensora, aby skompensować różnice.
    • Zaktualizuj Konfigurację: Wprowadź poprawki do konfiguracji i sprawdź, czy odczyty są teraz zgodne z rzeczywistością.

Krok 7 – Reverse proxy na Synology przy pomocy Nginx Proxy Manager

Czy korzystasz z Synology i chcesz usprawnić dostęp do swojego serwera Home Assistant? Oto szybki przewodnik krok po kroku, jak skonfigurować logowanie przy użyciu nazwy domeny i subdomeny, na przykład ha.xyz.com, zamiast wprowadzania adresu IP. Wszystko to możesz osiągnąć za pomocą Docker Compose w Portainerze.

👉 Sprawdź teraz i przygotuj swoje środowisko do kolejnych usprawnień!

Dzięki temu, korzystając z nazwy domeny, zamiast adresu IP, upraszczasz proces logowania do swojego serwera Home Assistant na Synology.

Krok 8 – Dodawanie urządzenia do Home Assistant

  • W sekcji powiadomień Home Assistant powinna pojawić się informacja, że nasz serwer automatyki domowej wykrył nowe urządzenie,
  • Przejdź do Ustawień, a następnie do Integracji i urządzeń
  • Nowe urządzenie będzie opatrzone błękitną ramką. Zatwierdzamy nowe urządzenie do integracji.
  • Ustaw obszar, gdzie będzie znajdować się dane urządzenie.
  • Gratulacje! Osiągnąłeś ten etap, co oznacza, że sukcesywnie przeszedłeś przez proces konfiguracji. Aby sprawdzić działanie nowego urządzenia, możesz bezpośrednio przejść do niego i z poziomu Home Assistant sprawdzić parametry, które są mierzone przez nakładkę radiową do wodomierza. 🚀
  • W zależności od ustawionego czasu raportowania – poczekaj chwilę, aż moduł radiowy zainstalowany przy płytce ESP wykryje komunikat nadany przez nakładkę przy wodomierzu. Podgląd surowych danych możesz podejrzeć z poziomu logów w ESPHome.
[XX:XX:XX][D][mbus:034]: Processing T1 A frame
[XX:XX:XX][D][wmbus:097]: Using driver 'apator162' for ID [0xXXXXXXXX] RSSI: -XX dBm LQI: XXX Frame: T1 A T: MESSAGE CONTENT
[XX:XX:XX][D][wmbus:104]: Decrypted T : MESSAGE CONTENT
[XX:XX:XX][D][sensor:094]: 'Cold water link quality': Sending state XX.00000 lqi with 0 decimals of accuracy
[XX:XX:XX][D][sensor:094]: 'Cold water signal strength': Sending state -XX.00000 dBm with 0 decimals of accuracy
[XX:XX:XX][D][sensor:094]: 'Cold water meter': Sending state XX.XXXXX m³ with 3 decimals of accuracy
ESPHome i CC1101, Wskazania z wodomierzy

Siła sygnału: Co jest w porządku, a co wymaga poprawy

Podczas monitorowania jakości sygnału radiowego w systemie Wireless M-Bus, siła sygnału mierzona w decybelach miliwatów (dBm) jest kluczowym wskaźnikiem. Oto, jakie wartości siły sygnału są typowe i kiedy warto zastanowić się nad poprawieniem sygnału.

Idealne Wartości Siły Sygnału

  • -30 dBm do -50 dBm: To zakres bardzo dobrego sygnału. Wartości te oznaczają, że komunikacja między modułem radiowym a wodomierzem jest stabilna i bez zakłóceń. W tym zakresie odczyty powinny być precyzyjne i niezawodne.

Wartości, które mogą wymagać uwagi

  • -50 dBm do -70 dBm: Wartości te oznaczają średni poziom sygnału. W większości przypadków komunikacja jest możliwa, ale może być narażona na pewne zakłócenia. Jeśli zauważysz problemy z odczytem danych, warto sprawdzić ustawienie anteny.

  • -70 dBm do -90 dBm: To niski poziom sygnału, który może prowadzić do niestabilności w komunikacji. W takim przypadku zaleca się poprawienie sygnału poprzez zwiększenie mocy anteny, użycie lepszej jakości anteny lub przemyślenie zmiany lokalizacji modułu radiowego.

  • Poniżej -90 dBm: Tak niski poziom sygnału zazwyczaj oznacza poważne problemy z komunikacją. W takich sytuacjach konieczne może być znaczne poprawienie sygnału, na przykład przez zastosowanie osobnej anteny lub poprawienie lokalizacji modułu, aby zmniejszyć zakłócenia.

Powodzenia!

Jeśli masz dodatkowe pytania dotyczące konfiguracji, śmiało zostaw komentarz pod tym artykułem lub skontaktuj się ze mną bezpośrednio. Chętnie odpowiem na wszelkie wątpliwości i pomogę rozwiązać ewentualne problemy. Twoje pytania mogą pomóc w ulepszeniu tego poradnika dla innych użytkowników.

Dodatkowe materiały i informacje

W celu dalszego zgłębienia tematu i uzyskania szczegółowych informacji, polecam sprawdzenie poniższych linków. Są one wartościowymi źródłami, które zostały wykorzystane podczas opracowywania tego poradnika.

Filip Chochół

Filip Chochol runs two blogs: personal “chochol.io” and together with his girlfriend “Warsaw Travelers” about travel. He specializes in IT resource management and technical support, and has been active in the field of cyber security awareness for almost two years. A proponent of open-source technologies, he previously worked in the film and television industry in the camera division (2013-2021). After hours, he develops interests in smart homes and networking.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


This site uses Akismet to reduce spam. Learn how your comment data is processed.