Spróbuj tak .
Jeżeli masz dwie płytki porównaj hexy na tym samym sofcie.
Jeżeli masz jedną to wgraj inny soft i porównaj hexy.
Zobacz do log płytki czy ona widzi to jako C1/2.
Ja nie mam takowego licznika niestety .
EDIT - poprawiłem kod.
O co Cię teraz proszę :
U Ciebie to nie wygląda jak “zły klucz”, tylko jak uszkodzone telegramy po radiu, a wmbusmeters wtedy często mylnie wyświetla wrong key i potrafi jeszcze licznik zablokować (Permanently ignoring…).
Teraz mam w firmware diagnostykę, która rozdziela te dwa przypadki.
Co proszę wklej
- Jedną wiadomość MQTT z topicu
wmbus/diag (event: summary)
- 10–20 linii logu z ESPHome, żeby było widać:
Have data (... mode: C1 ...) albo
DROPPED ... mode=C1 reason=...
Jak to czytać (prosto)
- Jeśli w
wmbus/diag w sekcji c1 masz ok > 0 (czyli choć czasem przechodzą poprawne telegramy DLL CRC), a wmbusmeters dalej krzyczy o CRC po decrypt → wtedy to klucz/konfiguracja albo wmbusmeters ma blacklistę po wcześniejszych próbach.
Wtedy trzeba wyczyścić “permanently ignoring”/stan wmbusmeters i dopiero testować key.
- Jeśli w
wmbus/diag c1 ma ok = 0 i crc_failed = total oraz avg_drop_rssi typu -95…-100 dBm, to nie ma sensu grzebać w key: telegramy padają na CRC już na warstwie radiowej/DLL → problem to RF (anteny/pozycja/zakłócenia).
Co robić gdy to RF
- antena 868 MHz (nie “jakaś losowa”),
- przestaw odbiornik/antenę (czasem 30–50 cm robi różnicę),
- odsuń od USB/zasilaczy/routera,
- jeśli licznik jest w trudnym miejscu (szacht/piwnica) – często jedyne sensowne rozwiązanie to postawić odbiornik bliżej licznika.
Podeślij wmbus/diag + 2–3 linie z Have data/DROPPED.
Abyś wiedział czego szukać to tak to wygląda:
A ponieważ dorobiłem jeszcze aby nie czytać encyklopedii to :
{
"event": "summary",
"total": 31,
"ok": 21,
"truncated": 0,
"dropped": 10,
"crc_failed": 1,
"crc_fail_pct": 3,
"drop_pct": 32,
"trunc_pct": 0,
"avg_ok_rssi": -74,
"avg_drop_rssi": -93,
"t1": {
"total": 30,
"ok": 21,
"dropped": 9,
"per_pct": 30,
"crc_failed": 0,
"crc_pct": 0,
"avg_ok_rssi": -74,
"avg_drop_rssi": -93,
"sym_total": 5290,
"sym_invalid": 82,
"sym_invalid_pct": 1
},
"c1": {
"total": 1,
"ok": 0,
"dropped": 1,
"per_pct": 100,
"crc_failed": 1,
"crc_pct": 100,
"avg_ok_rssi": 0,
"avg_drop_rssi": -94
},
"dropped_by_reason": {
"too_short": 0,
"decode_failed": 9,
"dll_crc_failed": 1,
"unknown_preamble": 0,
"l_field_invalid": 0,
"unknown_link_mode": 0,
"other": 0
},
"reasons_sum": 10,
"reasons_sum_mismatch": 0,
"hint_code": "C1_INTERFERENCE_OR_RX",
"hint_en": "C1 frames fail DLL CRC despite decent RSSI; check interference/RX settings",
"hint_pl": "C1: CRC DLL nie przechodzi mimo niezłego RSSI; sprawdź zakłócenia/ustawienia RX"
}
Na końcu telegramu jest podpowiedź rozwiązania problemu.