Komponent wM-Bus do ESPHome (SzczepanLeon) wersja 2.x - wątek ogólny

Na github’ie pojawiła się wersja 2.0.0.

Wprowadziłem możliwość dodawania wielu sensorów dla jednego miernika. Na przykład można dodać RSSI, LQI, oraz zużycie wody na raz.

Zmienił się format YAMLa. Stary format już nie jest wspierany!!
Dokumentacja na razie “się pisze”…

wmbus jest komponentem do ESPHome umożliwiającym odczyt radiowych wodomierzy wM-Bus oraz bezpośrednią integrację z Home Assistant (wodomierz “widoczny” jako sensor). Obecnie wspierane są różne wodomierze/gazomierze/watomierze/ciepłomierze. Aktualna lista jest dostępna po zainstalowaniu komponentu… Do uruchomienia wymagany jest moduł CC1101 oraz ESP32 lub ESP8266.

Coś nie działa? Podeślij DEBUG logi (jako tekst a nie obrazek) razem z numerem wersji, którą masz.
obraz
Nie odpisuję na wpisy bez tych informacji – nie dorobiłem się jeszcze szklanej kuli :wink: .

Coś działa i jesteś zadowolony? Możesz postawić “kawę”.


mod-edit:
Tworzymy bazę liczników, które dają się odczytywać

Ponadto w ramach porządków z pierwotnego wątku zostały wydzielone tematy, więc czytelniku, jeśli chcesz dodać posta, a pasowałby on do któregoś z nich zrób to w już wydzielonym wątku:

2 wątki powiązane z licznikami wody Sensus iPerl (może nie związane bezpośrednio, ale zawierają informacje)
Wmbusmeter Licznik wody Sensus iPerl

Wemos D1 Mini + CC1101 i odczyt z licznika Sensus Iperl


3 polubienia

@_Szczepan Czy jest możliwość dodania w yamlu wersji wmbus? Jeśli chciabym np używać v1.x, a nie v2.0?

Oczywiście:

Mam to samo, nie mogę uaktualnić do 2023.4.2

Szklaną kulę mam w serwisie. Potrzebuję więcej logów informacji. A zresztą “u mnie działa” :wink:

INFO Reading configuration /config/esphome/woda.yaml...
INFO Updating https://github.com/SzczepanLeon/esphome-components.git@main
INFO Detected timezone 'Europe/Warsaw'
Failed config

sensor.wmbus: [source /config/esphome/woda.yaml:47]
  platform: wmbus
  
  [name] is an invalid option for [sensor.wmbus]. Please check the indentation.
  name: Stan licznika wody Apator
  meter_id: 000000
  type: apator162
  key: 00000000000000000000000000000000
  
  [filters] is an invalid option for [sensor.wmbus]. Please check the indentation.
  filters: 
    offset: -71.577

Nie mogę uaktualnić do 2023.4.2. Obecnie wszystko działa, ale nie da się uaktualnić kodu do nowej wersji. Wersja HAOS, esphome 2023.4.2

Wersja ESPHome nie wpływa na wmbus. Poczytaj tu Failed config · Issue #21 · SzczepanLeon/esphome-components · GitHub

Zmienił się format YAMLa w nowszym wmbus

@_Szczepan widzę, ze w v2.0 wywaliłeś filtry. To byla przydatna opcja, w przypadku np. używanych nakladek, gdy trzeba było wpisać offset

Wszystko działa offset też, tylko trzeba umieścić pod total_water_m3:

Aaa, no to ok, jeszcze nie testowałem, widzialem tylko ze w v2.0 podkresla na czerwono :grin:

Nie. Wszystko jest jak poprzednio (dziedziczy z sensora). Tylko poziom się zmienił o “jedno wcięcie”.

Dokładnie. Teraz “total_” itp jest sensorem a poziom wyżej (tam gdzie meter_id) to jest cały miernik. Jest to spowodowane dodaniem możliwości pobierania wielu wartości/danych z pojedyńczego miernika.

Ostatnie pytanie zmieniła się też nazwa sensora, po dodaniu nowej nazwy i usunięciu starej znikają stare dane z panelu energii. Jak to teraz skorygować, zeby nie było dwoch sensorów w zakładce energii?

cześć, chcę zapytać, twój komponent wysyła tylko telegram do wmbusmeters ha add on bez żadnych modyfikacji?
chodzi o to, że kiedy pozwalam wmbusmetrs.org odczytać telegram, „time stamp” jest w porządku, ale kiedy wmbusmeter ha add on ho czita, pokazuje tę wartość:

Telegram jest przesyłany bez modyfikacji, ale timestamp jest nie w telegramie a w ramce WMBUS_RTL (tak samo jak RSSI). Ten timestamp jest tam wpisywany w moim komponencie a czas jest brany z komponentu time. Więc na ESPHome musi nastąpić synchronizacja czasu z HA albo sntp.

Po dostosowaniu nowego konfiga, w HA tworzy mi encję o nazwie “ID+Nazwa”.
Tak ma być?
image

image

Tak ma być. Jak nie chcesz żeby tak było to istnieje parametr add_prefix
Od wersji 2.1.0 dostępny jest też log_unknown (domyślnie na false).
Od wersji 2.1.3 w przypadku dodania “meter’a” z ID 0 (bez potrzeby definiowania typu i klucza), oraz dodania sensorów rssi i lqi. Powstaną sensory w HA a ich wartości LQI i RSSI będą odwzorowywać każdy odebrany telegram dla niezdefiniowanego meter’a.

1 polubienie

Posiadam esp8266 z wgranym esphome, w logach otrzymuje informacje

[15:04:55][C][wmbus:294]: wM-Bus v2.1.3:

[15:04:55][C][wmbus:311]:   CC1101 SPI bus:
[15:04:55][C][wmbus:312]:     MOSI Pin: GPIO13
[15:04:55][C][wmbus:313]:     MISO Pin: GPIO12
[15:04:55][C][wmbus:314]:     CLK Pin:  GPIO14
[15:04:55][C][wmbus:315]:     CS Pin:   GPIO15
[15:04:55][C][wmbus:316]:     GDO0 Pin: GPIO5
[15:04:55][C][wmbus:317]:     GDO2 Pin: GPIO4
[15:04:55][C][wmbus:324]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, compact5, elf, evo868, fhkvdataiii, hydrocalm3, hydrus, itron, izar, mkradio3, mkradio4, qheat, qwater, sharky774, topaseskr, ultrimis, unismart, vario451
[15:04:55][C][wmbus:342]:   Meter:
[15:04:55][C][wmbus:343]:     ID: 3363XXX [0x00335XXX]
[15:04:55][C][wmbus:344]:     Type: apator162
[15:04:55][C][wmbus:345]:     Key: '00000000000000000000000000000000'
[15:04:55][C][wmbus:347]:     Sensor '0x335XXX kotlownia_mama_water_lqi'
[15:04:55][C][wmbus:347]:       Device Class: 'signal_strength'
[15:04:55][C][wmbus:347]:       State Class: 'measurement'
[15:04:55][C][wmbus:347]:       Unit of Measurement: ''
[15:04:55][C][wmbus:347]:       Accuracy Decimals: 0
[15:04:55][C][wmbus:347]:     Sensor '0x335XXX kotlownia_mama_water_RSSI'
[15:04:55][C][wmbus:347]:       Device Class: 'signal_strength'
[15:04:55][C][wmbus:347]:       State Class: 'measurement'
[15:04:55][C][wmbus:347]:       Unit of Measurement: 'dBm'
[15:04:55][C][wmbus:347]:       Accuracy Decimals: 0
[15:04:55][C][wmbus:347]:     Sensor '0x335XXX kotlownia_mama_water'
[15:04:55][C][wmbus:347]:       Device Class: 'water'
[15:04:55][C][wmbus:347]:       State Class: 'total'
[15:04:55][C][wmbus:347]:       Unit of Measurement: 'm³'
[15:04:55][C][wmbus:347]:       Accuracy Decimals: 3
[15:04:55][C][wmbus:347]:       Icon: 'mdi:water'

Niestety ESP nie odczytuje żadnych danych z licznika który jest niecały metr od niego. Próbowałem zamienić piny miejscami to od razu był komunikat w logach o problemach z połączeniem. Jakiś pomysł co sprawdzić?

Piny mają być podpięte zgodnie z konfiguracją YAML (to warunek poprawnej komunikacji).

Sugeruję skorzystać z loggera za pomocą portu szeregowego, o ile twój moduł to umożliwia - większość tych ESP8266, które mają mostek UART-USB ma taką możliwość po USB (łącząc z dowolnym terminalem, pod windows choćby putty), bo to co oferuje GUI ESPHome to może być za mało dla długiego nasłuchu.

moge isc z laptopem i sie podłaczyć ale zazwyczaj jest to samo co w logu z esphome. Czy szukać czegoś specyficznego?

Hej Izerowcy!!! Zainstalujcie sobie wersję 2.1.10 - dodałem więcej pól do dekodowania.

Dodaj do YAMLa jeszcze:

wmbus:
  log_unknown: True

Oraz ustaw logowanie na VERBOSE.