Wątek archiwalny - Komponent wM-Bus do ESPHome (SzczepanLeon) starsze wersje do 1.5.1 włącznie

nie mogę zidentyfikować liczników, numery id nijak mają się do nadruków na liczydłach :slight_smile:

wydaje mi się że total to to co pokazuje fizyczny licznik…więc dla pomiaru wystarczy,
target być może odnosi się do momentu kiedy licznik został wyposażony w nakładkę a na nim były już jakieś wartości.

@reaper7 Spróbuj wersje 1.2.4, na szybko coś doskrobałem (nawet nie kompilowałem jeszcze).

1 polubienie

Hej, cieszę się, że znalazłem ten projekt, wygląda bardzo obiecująco, ale potrzebuję pomocy.
Polutowałem wszystko tak jak tutaj:


Mam taki kod:

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO15
  gdo0_pin: GPIO4
  gdo2_pin: GPIO5

sensor:
  - platform: wmbus
    name: wmbus1
    meter_id: xxxxxxxx
    type: bmeters
  - platform: wmbus
    name: wmbus2
    meter_id: xxxxxxxx
    type: bmeters

Numery biorę z nakładki bmeters, każdy ma 8 cyfr. No i niestety nie działa.
Już początek mnie zastanawia, bo jest tak:

CC1101 version: 20

W innym repo widziałem sprawdzenie, że wersja jest 4, więc może tutaj leży problem?
Dalej już niestety tylko tyle:

Error during decoding: 1

Trochę z tym utknąłem. Jak z tym ruszyć?

_Szczepan świetna robota, i mam prośbę : dało by radę dorobić kawałek kodu aby po odebraniu pakietu i poprawnym zdekodowaniu ramki, ESP mignął dodatkowa dioda LED ? port GPIO konfigurowalny w YAML tak jak piny SPI, jeśli nie skonfigurowany port to nie wykonuj migania. Chcę upchać ESP + CC1101 do obudowy 1-modułowej na szyne DIN i wsadzic do rozdzielnicy elektrycznej w mieszkaniu i fajnie by było zobaczyć że pakiet odebrano. Z góry dzięki.

1 polubienie

On nie wygląda, on jest.

Wywal sekcje “sensor:” ustaw logi na DEBUG i podeślij loga. Powinien pokazywać coś w stylu:

[D][wmbus:076]: Meter ID [0x50870382] RSSI: -65 dBm not found in configuration T: 2F446850820387507462A2069F2D54001023070000000106060606080708070809070903000000000000000000000000 (48)

Jak będziesz miał takiego loga to oznacza że CC1101 jest poprawnie podłączony i coś odbiera.

po zrobieniu sobie takiej ściągawki, widzę, że konfigurację masz niezgodną ze schematem

No to zadziałała stara prawda, że jak coś nie działa, to trzeba komuś o tym opowiedzieć :wink:
Miałem zamienione kable względem konfiguracji, poprawna konfiguracja dla potomny:

wmbus:
  gdo0_pin: GPIO5 # d1
  gdo2_pin: GPIO4 # d2
  clk_pin: GPIO14 # d5
  mosi_pin: GPIO13 # d7
  miso_pin: GPIO12 # d6
  cs_pin: GPIO15 # d8

Teraz logi się pokazują, ale jest problem z parsowaniem:

[12:06:47][I][wmbus:045]: Using driver 'bmeters' for ID [0x19213222] RSSI: -65 dBm T: 4E44B4092232211913077A57004005AA12701D3280DFD71E56EA3735F59D13487EB3F4878B9756A4197CED751070D9ADF602BB3BC433A4F488ECCC3E5D128B08E14090D1674F74AB86E3B6A121018E (79)
[12:06:47][E][wmbus:072]: Can't get value from telegram for ID [0x19213222] 'bmeters'
[12:06:47][E][wmbus:073]: T : 4E44B4092232211913077A57004005AA12701D3280DFD71E56EA3735F59D13487EB3F4878B9756A4197CED751070D9ADF602BB3BC433A4F488ECCC3E5D128B08E14090D1674F74AB86E3B6A121018E (79)

@szopen O, dzięki! Właśnie na to samo wpadłem :slight_smile:

1 polubienie

Dodaj klucz do konfiguracji tego sensora (same zera).

Generalnie mając prawidłowo zdeklarowaną płytkę w ESPHome, to sa obsługiwane aliasy.

Dla D1 mini (i klonów, bo klony zwykle wyglądają jak na obrazku, tyle, że bez logo WeMos’a) taka deklaracja wygląda tak

esp8266:
  board: d1_mini

i wtedy konfig wygląda tak

wmbus:
  gdo0_pin: D1
  gdo2_pin: D2
  clk_pin: D5
  mosi_pin: D7
  miso_pin: D6
  cs_pin: D8

To działa!!! :rocket: Pięknie dziękuję! Kawał dobrej roboty

Edit:

Przy okazji mam jeszcze jedno pytanie. Na klatce mam 3 liczniki bmeters, 2 do wody i jeden do ogrzewania Ciepłomierz kompaktowy HYDROCAL M3 || BMETERS.
Liczniki wody wysyłają wiadomość o długości 79, natomiast ogrzewanie ma długość 143.
Twój kod bardzo dobrze parsuje stan wody na ciepłomierzu, ale zastanawiam się, czy nie dałoby się wyciągnąć z tej wiadomości również zużycia energii.
Telegram wygląda tak:

[13:09:08][I][wmbus:045]: Using driver 'bmeters' for ID [0x02234523] RSSI: -74 dBm T: 8E44B409234523020B0D7AB30080056B2282E04848F6E04CF92256AF945791365D867B8B43D3FC495F029CD16F4CAC97D1377229651E772822C84C3395F897571F4DDD222094CD468A596EC2ED7EF808177753C3A6254FEA55428E7429267E83E59B23EAF932EA251784447482C64C52B30B2E1364C7D20533A8DEF81C510EDD5E2E6310973B70EB221CD629D51866 (143)
1 polubienie

Dało by się. Która wartość Ciebie interesuje:

  • total_heating_kwh 5959.166667
  • total_heating_m3 174.51

total_heating_m3 już teraz mam, interesuje mnie total_heating_kwh.

Właśnie miałem pisać że na driverze bmeters będzie podawało w m3.
Zaciągnij wersję 1.2.5 i ustaw driver hydrocalm3, powinno podawać w kWh. Daj znać czy zadziałało i odczyt jest poprawny.

Niestety aktualnie możesz zdefiniować tylko jeden sensor o takim samym ID, więc musisz wybierać czy chcesz m3 czy kWh.

Działa! Pewnie fajnie byłoby mieć oba, ale płacę za energię, więc jeden wystarczy :slight_smile:
Jedyna uwaga: dostaję jeszcze inną wartość :slight_smile: Mam wartość 21.453 m³ i jednostka powinna być GJ. Oczywiście mogę sobie to sam zmienić, ale jeżeli możesz to od razu poprawić w kodzie, to może inni się ucieszą.
Wielkie dzięki!

To nie poprawia się w kodzie. Ustaw sobie w yamlu odpowiednią jednostkę dla sensora. Tak jest prościej i szybciej. Jak chcesz mieśc ładniej i więcej informacji to polecam mój drugi komponent + wmbusmeters gdzieś na maszynie.

Ok, zmyliło mnie, że domyślnie jest m3.

Ta wartość wynika z tego co licznik podaje w telegramie. Wg opisu są to MJ, ale nie mam takiego licznika więc nie porównam z tym co on wyświetla.

Tak, dla każdego tworzonego sensora domyślnie jest w m3 oraz ikonka wody. Jak chcesz mieć coś innego to po prostu w yaml’u nadpisujesz/ustawiasz swoje.

Kiedy ma migać? Jak odebrano dowolny telegram czy też jak odebrano jakiś znany i udało się z niego wyciągnąć dane? Chyba ta druga opcja jest lepsza.

Sprawdź wersję 1.2.6 - dodając do yaml’a
led_pin: GPIOxy

4 polubienia

Cześć,

Na początek musze powiedzieć, że bardzo mi się podoba to podejście do zbierania info z liczników i ogólnie to super robota! Lecz wzoraj zainstalowałem gotowy odbiornik i po zlokalizowaniu ID wodomierza (IZAR) i utworzeniu sensora, soft mi się wywala na próbie zdekodowania telegramu.

Telegram bez problemu jestem w stanie zdekodować na stronie: WMBusmeters Analyze Telegram

A błąd jaki mam wygląda mniej wiecej tak:

Cały stack trace:

Config:

Soft skompilowałęm i wrzuciłem przez ESPHome na HA.

Czy możecie mnie naprowadzić co jest nie tak?

Wywal z yamla linię:

key: "00000000000000000000000000000000"

To już nie trzeba klucza?