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.
Nie odpisuję na wpisy bez tych informacji – nie dorobiłem się jeszcze szklanej kuli .
Coś działa i jesteś zadowolony? Możesz postawić “kawę”.
mod-edit: Ten wątek pozostaje w ramach wsparcia dla starych wersji komponentu, aktualna wersja dla komponentu 2.x jest tam
Podaj jako HEX. Czyli przed numerkiem daj 0x
Jak niezałapie to nie definiuj żadnego sensora tylko czekaj w logu tego ESPHome (Info) aż odbierze telegram i wyświetli ID.
Czyli wszystko działa tak jak powinno? Odczyt jest prawidłowy?
TAK Wodomierz się obudził, a odczyt jest prawidłowy. Będę obserwował jak ze stabilnością przez najbliższe kilka dni.
Logi:
Time level Tag Message
08:48:10 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:48:10 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:48:34 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A220030854133DC99D973E9DAAEC7BC95B2358F4F92B87EC0BC36B64E04282F7E75399F0E3D85EC1C4F18732B99C8910E6B39482B (63)
08:48:34 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:48:34 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:50:47 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A25003085F8880B0E125A393B282E5F0E60C4698757F67B558E6339EB07283140C1FD5D08171DF2CD7176191D40BA7CB626F4E851 (63)
08:50:47 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:50:47 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:51:18 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A260030853F362FA7634BA15F06F706B6F042FA0FD5B1812CA199BA0A6C972B037764C743F30D9BD6480F55523DE756729DBA0393 (63)
08:51:18 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:51:18 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:52:41 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A280030851B0C39260B1953AAF558F141BB6D9520593838B977EEBE150FB1EC3CC88FF0C00287ABE227C77E40C5ECE3A02C19F143 (63)
08:52:41 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:52:41 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:53:19 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A29003085F55FA1D11D8C2D39BA0B3B963FB9D2E4F1D264129DEA33958B8C36F3827E09E2D7456802D951B7B2A6A9377383AE7358 (63)
08:53:19 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:53:19 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:54:09 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A2A003085A5A3B37B08464255FEA4BD2F68280F520F5372F41960608A6D9F7EF4095D31E56C4B4FAAD0C34EAB4C22F5FB4461A1BE (63)
08:54:09 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:54:09 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:55:28 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A2C0030853C8A3F706D747CE63495D7E112788E642C1E65C6CCDD027E4A09BBDF6263DEBE71A2E3464E1D402361B8110CED0A27E8 (63)
08:55:28 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:55:28 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:55:57 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A2D003085D6705C2CF5BDBC8110DD4C72A3F677F00F81722258D612F6FB715E170257DD6D1BED17E467DC0B7B9C784917636B628D (63)
08:55:57 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:55:57 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:57:18 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A2F0030853C21A623D5353A2E46DAE39E3300509734CAFDB3FF5F2049E53A37D4E3D0901575429AB0F15A88D5B5B72B6475F150BA (63)
08:57:18 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:57:18 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:58:12 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A300030851FB2148D85FE47BA877DE0E933D1C4EBA8F9C46B831756CBDD7E3BBF07E2F5D22572DF945B7C0B342AF449E6B8B0A389 (63)
08:58:12 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:58:12 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:58:43 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A3100308558D0410EC6F955A9F4E768CC7249647222C0EB20080976033991FCD62528B79359F4037713B26935E000240A297F24F1 (63)
08:58:43 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:58:43 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:59:14 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A3200308519C5A2818326DECE8A4545DC06AC5B3951871B88350D4447F98A5EAC2745513EDCEBA19291A3EBDC08686586BDBD3505 (63)
08:59:14 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:59:14 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
08:59:59 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A33003085C18C29928C1E99117FC980C7BA164579A0A1D75557BB69901502E21BC0FAF1AA22562A72B3E830C559482D757DED17EF (63)
08:59:59 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
08:59:59 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
09:00:36 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A3400308581F05EF8DB6E046550E35E1E6378B5F70196CE208C2AF4EC9297E15563A4D25BF4293E51E92C4F7E61791157D66854B2 (63)
09:00:36 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
09:00:36 [D] [sensor:126]
'Wodomierz': Sending state 5.95200 m³ with 3 decimals of accuracy
09:01:29 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A35003085611BDDDDE46D39F34D011EB2B76E8D58E27CEC1E7536027E2511CC4DAE8F22D05B811DE31BCFF119B19E7AE42AE815D4 (63)
09:01:29 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
09:01:29 [D] [sensor:126]
'Wodomierz': Sending state 5.95300 m³ with 3 decimals of accuracy
09:01:57 [I] [wmbus:035]
Telegram from ID [0x04829838]: 3E4401063898820405077A360030853AD6D79A46C7BB65453668C36213FE3854C3041CE8A307EAA63AFF197E01682318A241B9E02AC0C346957BAC170AF504 (63)
09:01:57 [D] [wmbus:042]
Using driver 'apator162' for ID [0x04829838]
09:01:57 [D] [sensor:126]
'Wodomierz': Sending state 5.95300 m³ with 3 decimals of accuracy
Dokładnie tak. Nie potrzeba go (chyba że masz coś aktualnie niewspieranego). Wgrywasz na ESP i konfigurujesz ile sensorów chcesz. Konfiguracja tak jak zwykłego sensora w ESPHome. Domyślnie tworzy zliczając m3. Nie powinno też być pików dla Apatora.
Jak chcecie wsparcie innych nakładek/wodomierzy to wystarczy dodac jeden plik z odpowiednią logiką mapującą odpowiednie pole w telegramie na interesujące dane.
Działa super na Apator-16-2, sprawdziłem do tego tworzy odrazu sensor widoczny w panelu Energia. Trzeba tylko przedefiniować piny CC1101 jeśli ktoś wcześniej używał repozytorium @Mariusz_Woszczyński
No teraz to już nie mam wyjścia:)
Cały czas mi zależało, żeby odczyty ogarnąć bez wmbusmerers.
Na razie jestem na wyjeździe, rzuce okiem jak wrócę do domu. Powiedz mi jak przesyłasz ID licznika? Bo w przypadku normalnego sensora byl problem z dluzszym ID, dlatego ja przeszedłem na text sensor.
Dobrze że nie zdążyłem apatora sprzedać
Goooooood jooooob
To powinno być ok.
A czy jest opcja nie wpisania ID? W sensie żeby czytał wszystko co jest w zasięgu?
W Apatorze ID jest nadrukowane, ale ID Izara musiałem sam zidentyfikować po swoim zużyciu
Obecnie każdy trace typu: [06:30:56][I][wmbus:038]: Telegram from ID [0x00B8DC58]: 1944304C58DCB8008800A26109001329409F32CACC3453B4E9B4 (26)
Jest wyświetlany w momencie odbioru telegramu, niezależnie czy sensor jest zdefiniowany w yaml’u.
Zostawił bym tak jak jest (ten wątek stworzyłem w momencie publikacji komponentu wmbus), wcześniejsze wpisy w sąsiednim wątku dotyczyły mojego pierwszego komponentu wmbusgw.
A dalsze dzielenie/czyszczenie z innych naleciałości to może być droga przez mękę.
Komponent wmbus od @_Szczepan w moim przypadku działa idealnie.
Obydwa liczniki są teraz odczytywane prawidłowo. Teraz zostawiam kilka dni na testach i jak nie będzie problemów to przechodzę z wmbusmeters na ESP8266 + CC1101.
Cześć.
Prośba o pomoc: mam cały czas problem z bootloopem.
Próbowałem wcześniejszych rozwiązań innych osób, teraz próbuję tą, która mi najbardziej odpowiada czyli ESPhome + CC1101. I cały czas mam problem z bootloopem.
Próbowałem połączyć CC1101 z esp32S2 mini, esp8266 D1 mini, nodeMCU v3 i wszędzie to samo.
Poprawiałem luty na CC1101, sprawdzałem poprawność podłączeń.
Same moduły esp działają mi poprawnie, mam szablon w ESPhome który wgrywam na wszystkie esp. Usuwałem też co się da z mojego szablonu szukając problemu.
zaczynają się bootloopy, nawet bez podłączonego CC1101.
[C][api:025]: Setting up Home Assistant API server...
CC1101 version: 0
CC1101 initialized
[I][app:062]: setup() finished successfully!
czasem jest CC1101 version:255 i też bootloop.
Z dziwnych rzeczy: przy cs_pin: GPIO2 czyli D4, cały czas świeci niebieska dioda na esp, zmieniłem na próbe na D8, przestała świecić, ale bootloopy zostają.
Na niektórych modelach płytek (zasadniczo ESP82xx, bo w ESP32 zwykle LED jest podpięty gdzie popadnie - niektórzy producenci dla kompatybilności z 82xx też podpinają pod GPIO2 inni do zupełnie losowych GPIO - trzeba dysponować schematem płytki) ten LED jest przylutowany przez rezystor na PCB właśnie do GPIO2 więc nie ma w tym nic dziwnego, możesz nie korzystać z GPIO2 a ustawić tam w konfiguracji diodę statusu.
Dysponujesz solidnym zasilaczem? bootloopy są typowe dla problemów z zasilaniem ESP, a ten projekt chyba jest dość wymagający pod względem obciążenia procka?
Niektóre klony D1 mini mają wlutowany za slaby regulator napięcia 3,3V, w związku z czym należy je zasilać zasilaczem 3,3V bezpośrednio na pinie 3V3
"problem: świecącego leda rozwiązałem zmieniając na D8 jeszcze na nodeMCU.
Zasilacz mam całkiem dobry, ładowarka 5V, ale porządna, zawsze rozwiązywała problemy z zasilaniem esp.
Przepiąłem CC1101 na ESP32 i nic się nie zmieniło, mam wrażenie że to jakiś głupi błąd będzie.
Ostatnia linia kodu przed bootloopem to: [C][api:025]: Setting up Home Assistant API server...
edit: momentami udaje mi się wejść po adresie IP, i pokazuje stronę bez żadnych informacji, jest logo ESP, ramki itd, ale żadnych danych z loga itp
może z tym coś będzie ? jeśli chodzi o api to mam tylko tyle, bez hasła i kodowania.
captive_portal:
logger:
level: DEBUG
api:
ota:
Przy okazji, usunąłem po raz kolejny build files i na żółto taki tekst się pojawił, ale skompilowało poprawnie.
src/esphome/components/wmbus/wmbus.cpp: In member function 'virtual void esphome::wmbus::WMBusComponent::dump_config()':
src/esphome/components/wmbus/wmbus.cpp:68:20: warning: structured bindings only available with -std=c++17 or -std=gnu++17
for (const auto& [key, driver] : this->drivers_) {
^
Jeśli zaś chodzi o sprawdzenie poprawności samego CC1101, to nie sprawdzałem inaczej. Mogę spróbować przez arduino nano, lub konwerter ftdi jeśli się da, innego pomysłu nie mam.