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

Twierdzisz że polutowanie od strony ESP i polutowane przy CC1101 = bezpośrednie luty bez tzw “DuPont’ow” rozwiązała u Ciebie problem ?

Jeszcze na 100% nie powiem. Yaml się w tym czasie nie zmienił. Jak pisałem - użyłem drugiego CC1101 (który wcześniej nie działał z esp32) i polutowałem połączenia.
W tym tygodniu jeszcze raz podmienię radio i wtedy napiszę podsumowanie. Tylko czasu mało, a ileż można dodać po 4h;)

u Ciebie chociaż ruszyło cokolwiek, u mnie nawet bezpośrednio polutowane i nadal “Check connection to cc1101” wiec czekam na nowe radia na podmianę :confused:

[19:47:27][C][api:138]: API Server:
[19:47:27][C][api:139]:   Address: esp32.local:6053
[19:47:27][C][api:141]:   Using noise encryption: YES
[19:47:28][C][wmbus:394]: wM-Bus v2.2.31:
[19:47:28][C][wmbus:396]:   Clients:
[19:47:28][C][wmbus:403]:     wmbusmeters: 10.0.0.1:7227 TCP [rtl-wmbus]
[19:47:28][C][wmbus:407]:   LED:
[19:47:28][C][wmbus:408]:     Pin: GPIO2
[19:47:28][C][wmbus:409]:     Duration: 1000 ms
[19:47:28][C][wmbus:411]:   CC1101 SPI bus:
[19:47:28][C][wmbus:412]:     MOSI Pin: GPIO23
[19:47:28][C][wmbus:413]:     MISO Pin: GPIO19
[19:47:28][C][wmbus:414]:     CLK Pin:  GPIO18
[19:47:28][C][wmbus:415]:     CS Pin:   GPIO5
[19:47:28][C][wmbus:416]:     GDO0 Pin: GPIO22
[19:47:28][C][wmbus:417]:     GDO2 Pin: GPIO21
[19:47:28][E][wmbus:430]:   Check connection to CC1101!
[19:47:28][D][api:102]: Accepted 172.20.4.150
[19:47:28][D][api.connection:1032]: Home Assistant 2023.10.5 (172.20.4.150): Connected successfully

Podsyłam, moze to jednak pinologia źle i ktoś coś dopatrzy :slight_smile:


Zielony - VCC - do 3.3V
Niebieski - GND - do GND
Fioletowy - MOSI do GPIO23 VSPI_MOSI
Szary - SCLK - do GPIO18 VSPI_SCK
Biały - MISO do GPIO19 VSPI_MISO
Czarny - GDO2 do GPIO21 WIRE_SDA
Żółty - GDO0 do GPIO22 WIRE_SCL
Pomarańcz - CSN do GPIO5 VSPI_SS

Zgodnie z tym diagramem

@Revo7
Ja tu błędów nie widzę, o ile lutowanie jest prawidłowe (sprawdź rezystancję przejścia), to raczej powinno działać, więc chyba uwalony CC1101…

1 polubienie

Sproboj jeszcze polutować wg tego konfigu:

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

Miałem pytać - z czego wynika u Ciebie taki właśnie wybór pinów? Raczej nie drogą losowania je wybierałeś:-D

Miałem wizję, ze tak będzie najlepiej :joy:

1 polubienie

Popełniłem swój pierwszy projekt w ESPHome - ever
Z logów wynika, że sprzęt działa i coś odczytuje.

[C][wmbus:394]: wM-Bus v2.2.31:
[C][wmbus:411]:   CC1101 SPI bus:
[C][wmbus:412]:     MOSI Pin: GPIO13
[C][wmbus:413]:     MISO Pin: GPIO12
[C][wmbus:414]:     CLK Pin:  GPIO14
[C][wmbus:415]:     CS Pin:   GPIO2
[C][wmbus:416]:     GDO0 Pin: GPIO5
[C][wmbus:417]:     GDO2 Pin: GPIO4
[C][wmbus:424]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, c5isf, compact5, dme07, elf, evo868, fhkvdataiii, hydrocalm3, hydrus, iperl, itron, izar, mkradio3, mkradio4, qheat, qwater, sharky774, topaseskr, ultrimis, unismart, vario451
[C][wmbus:442]:   Meter:
[C][wmbus:443]:     ID: 370745992 [0x16192288]
[C][wmbus:444]:     Type: bmeters
[C][wmbus:445]:     Mode: T1
[C][wmbus:446]:     Key: '00004000000300000500001000000600'
[C][wmbus:448]:     Sensor 'Licznik wody LQI'
[C][wmbus:448]:       Device Class: 'signal_strength'
[C][wmbus:448]:       State Class: 'measurement'
[C][wmbus:448]:       Unit of Measurement: ''
[C][wmbus:448]:       Accuracy Decimals: 0
[C][wmbus:448]:     Sensor 'Licznik wody RSSI'
[C][wmbus:448]:       Device Class: 'signal_strength'
[C][wmbus:448]:       State Class: 'measurement'
[C][wmbus:448]:       Unit of Measurement: 'dBm'
[C][wmbus:448]:       Accuracy Decimals: 0
[C][wmbus:448]:     Sensor 'Licznik wody'
[C][wmbus:448]:       Device Class: 'water'
[C][wmbus:448]:       State Class: 'total_increasing'
[C][wmbus:448]:       Unit of Measurement: 'm³'
[C][wmbus:448]:       Accuracy Decimals: 3
[C][wmbus:448]:       Icon: 'mdi:water'
[D][api:102]: Accepted 192.168.2.218
[W][component:214]: Component api took a long time for an operation (0.29 s).
[W][component:215]: Components should block for at most 20-30ms.
[D][api.connection:1032]: Home Assistant 2023.9.3 (192.168.2.218): Connected successfully
[D][time:044]: Synchronized time: 2023-10-31 08:42:28
[I][ota:117]: Boot seems successful, resetting boot loop counter.
wMBus-lib: Processing T1 A frame
wMBus-lib:  Error during decoding '3 out of 6'
wMBus-lib: Processing T1 A frame
wMBus-lib:  Error during decoding '3 out of 6'

Mam nakładkę OMSv8 a na obudowie jest nr 16192288.
Doczytałem, że to może być bmeters więc ustawiłem tak jak w logu.
Wątpliwości mam co do Key: (które wziąłem z github).
Czekać, czy może coś skopałem?

Jak jeszcze jie widziałeś żadnego odebranego telegramu z tym ID to najlepiej zacząć z pustymi sensorami i w logu szukać czy coś odebrał jalo unknown.

1 polubienie

To jest na pewno bmeters (wygrawerowane na obudowie).

Wybacz za lemerstwo - zostawić tylko to?

sensor:
  - platform: wmbus # Licznik wody
    meter_id: 0x16192288
    type: bmeters
    key: "00004000000300000500001000000600"

…dostałem jeszcze ale rozumiem, że to nie moje mode:C1

wMBus-lib: Processing C1 A frame
 FullFrame: 0x54, 0xCD, 0x7C, 0xDE, 0x10, 0x91, 0x3F, 0xD1, 0xBC, 0xFF, 0x92, 0xA8, 0x04, 0xE1, 0x5A, 0xE0, 0x58, 0x22, 0x60, 0xE0, 0xC8, 0x81, 0xA2, 0x4B, 0xC6, 0xC2, 0x89, 0x1A, 0x76, 0xBC, 0xA7, 0x05, 0xC0, 0xD7, 0xFC, 0x10, 0x1E, 0x51, 0x7C, 0xE8, 0x41, 0xEA, 0x29, 0xF3, 0x91, 0xA1, 0xA9, 0x22, 0x9D, 0xFF, 0x9F, 0xF7, 0xFF, 0xFF, 0xFA, 0x9D, 0x3B, 0x00, 0x5D, 0x06, 0x70, 0x20, 0x13, 0x51, 0x5C, 0xF6, 0x5B, 0x62, 0x64, 0x73, 0x84, 0x47, 0x82, 0x0A, 0xCE, 0x82, 0x00, 0x4A, 0x6A, 0x9F, 0x0B, 0x2D, 0x41, 0xAE, 0x35, 0x16, 0x8A, 0x43, 0x5C, 0xE8, 0x40, 0xAA, 0x87, 0xBB, 0xFE, 0x7F, 0x9F, 0xFF, 0xF7, 0xFF, 0xEF, 0x54, 0x78, 0x1D, 0x02, 0xB9, 0x01, 0x31, 0xE4, 0xB3, 0x8C, 0x05, 0xE3, 0xCD, 0x61, 0xB9, 0x9A, 0xC6, 0xB2, 0x83, 0x53, 0x41, 0xDD, 0x55, 0x96, 0x26, 0x0F, 0x1C, 0xEF, 0x05, 0xC0, 0x54, 0x36, 0x14, 0x38, 0x81, 0x0F, 0x3B, 0x54, 0xDC, 0x50, 0x5D, 0x23, 0xEA, 0x75, 
   7CDE10913FD1BCFF92A8 CE2A [04E1]    5AE0582260E0C881A24BC6C2891A76BC 22CC [A705] C0D7FC101E517CE841EA29F391A1A922 6592 [9DFF] 9FF7FFFFFA9D3B005D06702013515CF6 F2CB [5B62] 64738447820ACE82004A6A9F0B2D41AE 5CFC [3516] 8A435CE840AA87BBFE7F9FFFF7FFEF54 82A0 [781D] 02B90131E4B38C05E3CD61B99AC6B283 CB14 [5341] DD5596260F1CEF05C054361438810F3B 40AB [54DC]    505D23 AE89 [EA75] 
[D][wmbus:179]: Meter ID [0xFFBCD13F] RSSI: -92 dBm LQI: 173 Mode: C1 not found in configuration T: 7CDE10913FD1BCFF92A85AE0582260E0C881A24BC6C2891A76BCC0D7FC101E517CE841EA29F391A1A9229FF7FFFFFA9D3B005D06702013515CF664738447820ACE82004A6A9F0B2D41AE8A435CE840AA87BBFE7F9FFFF7FFEF5402B90131E4B38C05E3CD61B99AC6B283DD5596260F1CEF05C054361438810F3B505D23 (125)

tak, trochę z innej beczki, poratuje ktoś może jakimś projektem obudowy do wydruku dla CC1101 montowanego na D1 mini ESP32 ?

Witam,
Poskładałem sobie taki zestaw, ładnie czyta telegramy tylko mam problem z dziwnymi wskazaniami. Przeważająca wartość to 1 392 508,875 m³ a faktyczne zużycie wody to ok 202 m³.

Poniżej dwa telegramy jeden z dobrą wartością a drugi ze złą:

[18:42:23][I][wmbus:078]: Using driver 'apator08' for ID [0x000C49DB] RSSI: -46 dBm LQI: 128 Mode: T1 T: 66441486DB490C000303A0787E0A00084000010C1207030B17346F7F310205FF0AF5770A00030000000037B805304E464E1F000000002000000000000023000000002400000000000027000000280000000000002C0000000000002F0000000000003100000000 (103)
[18:42:23][D][sensor:093]: '0xC49DB Zimna woda': Sending state 229.24533 m³ with 3 decimals of accuracy
[18:42:23][I][wmbus:078]: Using driver 'apator08' for ID [0x000C49DB] RSSI: -50 dBm LQI: 136 Mode: T1 T: 72441486DB490C000303B60AFFFFF84414864E12B671A0787E0A00084000010C1207030B17346F7F310205FF0AF5770A00030000000037B805304E464E1F000000002000000000000023000000002400000000000027000000280000000000002C0000000000002F0000000000003100000000 (115)
[18:42:23][D][sensor:093]: '0xC49DB Zimna woda': Sending state 1392508.87500 m³ with 3 decimals of accuracy

A tutaj moja konfiguracja sensorów:

  - platform: wmbus
    meter_id: 0x000C49DB
    type: apator08
    total_water_m3:
      name: "Zimna woda"
  - platform: wmbus
    meter_id: 0x000C7068
    
    type: apator08
    total_water_m3:
      name: "Ciepła woda"
      id: ciepla

Co może być nie tak?

Zacznij od prawidłowego kodu (definicji sensorów), poniżej masz źródło:

Skoro widzisz telegram to przeszedł on dekodowanie - na 90% jest dobry :slight_smile:

Widocznie taki został wysłany - może te apatory08 mają jakieś dziwne telegramy okresowo?

https://wmbusmeters.org/analyze/72441486DB490C000303B60AFFFFF84414864E12B671A0787E0A00084000010C1207030B17346F7F310205FF0AF5770A00030000000037B805304E464E1F000000002000000000000023000000002400000000000027000000280000000000002C0000000000002F0000000000003100000000

Przyglądnij się obu - widać że za nagłówkiem są dodatkowe dane.
Łatwo to rozróżnić polem tpl-ci-field

Czyli driver wymaga ulepszenia.
Stwórz ticketa na wmbusmeters z oboma telegramami.

Ja mam apator 03a i jak uzywalem tego drivera (apator08) to dostawalem bledne odczyty- jakby byly brane ze zlego miejsca telegramu. U mnie dzialal tylko minomess ktory nie jest obslugiwany przez addon…sprawdz na wmbusmeters.org jaki driver Ci dziala.

Ok, kombinowałem już z wieloma konfiguracjami i lipa.
Czy da się jakoś odfiltrować telegramy? np. po ich długości?
Wszystkie poprawne telegramy mają długość 103

Nie.
Oba telegramy są poprawne – tylko driver nie jest dostosowany.

Możesz samemu poprawić ten driver:

Najprawdopodobniej trzeba dodać takiego if’a:

i odpowiednio ustawiać offset tu:

Albo odrzucać wszystko z B6

Dzięki, z c czy c++ problemów nie mam. Ale nie jestem biegły w strukturach ESPHome i nie wiem gdzie szukać tego pliku

  1. klonujesz projekt
    GitHub - SzczepanLeon/wmbus-drivers

  2. zmieniasz plik

  3. wypychasz do githuba aby wszyscy mogli korzystac

Dziękuję bardzo! :slight_smile:
Już to zrobiłem, czekam na efekty :slight_smile: