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

Coś się dziwnego odebao w esphome 10.2. Nie wiem czemu ładuje wszystkie drivery, mimo iż jest zaznaczone all_drivers: false. Kompilacja trwała 3 lata, a jak już skompilowało to na końcu zonk: za duży rozmiar flash: 104%… WTF?

Post został scalony z istniejącym tematem: Komponent wM-Bus do ESPHome (SzczepanLeon) wersja 3.x - wątek ogólny

Mam ten sam problem:
RAM: [= ] 14.2% (used 46560 bytes from 327680 bytes)
Error: The program size (1908206 bytes) is greater than maximum allowed (1835008 bytes)
:bulb: TIP: Your ESP32 with Arduino framework has run out of flash space.
To fix this, switch to the ESP-IDF framework which is more memory efficient:

  1. In your YAML configuration, modify the framework section:
    esp32:
    framework:
    type: esp-idf

Jednak kompilacja z “type: esp-idf” kończy się błędem o braku biblioteki ELECHOUSE dla CC1101.

Zmiana na ESPHome (SzczepanLeon) wersja 3 -pomaga, kompiluje się i działa ale jest inna struktura pliku yaml.

Czy ktoś może pomóc rozwiązać ten problem w wersji 4?
Może jest sposób na podanie sterowników, które mają być wkompilowane do programu?

mam to na 2025.8.3 i działa, ktoś kompilował na 2025.11.1 ?

Dla osób którym brakuje miejsca w pamięci flash esp32 ( u mnie było 97,9 % zajętości ale kompilacja trwała sakramencko długo )
Mój zbójecki sposób:

  1. Załóż konto na GitHub
  2. Z konta naszego dobrodzieja ( Tu wielkie dzięki dla Szczepana ) pobierz komponent na swój dysk
  3. Z katalogu lokalnego komponentu wywal wszystkie sterowniki z wyjątkiem auto i tych których potrzebujesz
  4. Wgraj to na swój github ( z zachowaniem katalogów )
  5. Zmień adres github w piliku konfiguracyjnym swojego esphome na własny github
  6. Zapisz konfigurację
  7. Wykonaj Clean Build files przed kompilacją ( ważne )
  8. Zainstaluj wsad
    Postaw flaszkę Szczepanowi
    U mnie zwolniło prawie 400KB
1 polubienie

Witam proszę o pomoc bo siedzę już nad tym kilka dni. Nakładka Apator konfiguracja Esphome jak poniżej. W logach widać że odbiera i chyba dekoduje ramki. Ale nie przekazuje wartości do sensor’a i niewidze odczytów e Homeassistant. Próbowałem już różne wersje Esphome i ciągle jest to samo. Co robię źle ???

Konfiguracja esphome:

external_components:

  • source: github://SzczepanLeon/esphome-components@version_4
    refresh: 0d
    components: [ wmbus ]

time:

  • platform: sntp
    id: time_sntp

wmbus:
mosi_pin: GPIO23
miso_pin: GPIO19
clk_pin: GPIO18
cs_pin: GPIO5
gdo0_pin: GPIO12
gdo2_pin: GPIO27

frequency: 868.950
all_drivers: False
sync_mode: True
log_all: True

sensor:

  • platform: wmbus
    meter_id: 0x001222C6
    type: apator162
    key: “00000000000000000000000000000000”
    sensors:
    • name: “Woda”
      field: “total”
      accuracy_decimals: 3
      unit_of_measurement: “m3”
      device_class: “water”
      state_class: “total_increasing”
      icon: “mdi:water”

text_sensor:

  • platform: wmbus
    meter_id: 0x001222C6
    type: apator162
    sensors:
    • name: “Apator total”
      field: “total_m3”

logi:
[22:12:02][D][mbus:035]: Received T1 A frame
[22:12:02][V][mbus:046]: Frame: 6B271C58D59A656B1936C58D599593D0E4CE4E69B2596696B1936C3AC96595C35AC9C96CC9A6AC8E32D964EC6666697170E34BC74A653A534E3AC9B28DA8F28E6C59C722CD69968E58EC746667234D3D232F22CD66C2F23698CE7312CE716725D1AC56999996D2C7233B2C4BD2671CA7499366C95398ED2372969A993C74C72593B1A68B36CCA3B1A8D936C3A372994D9AC34EC66371D295A5959C9CD264D938DC6365AD29C69D1C71A356C99726971B13D2C8F4A4D3667315962D9B29A4D5 (191) [RAW]
[22:12:02][VV][3of6:095]: Decode 3 out of 6 OK.
[22:12:02][V][mbus:053]: Frame: 6E440106508518010507C2727AAE0060851828999416E498E668BB3552DA5A9D4213DCF9291228AEB6BEBAD5DE31656202DC5A4B77CB3E31583E1FB24D324049C6D0A5A0C84B2ED3CA44FCA75897A2CB4F66A7DCDE07866318EB86B5182B4F91A812DA1DCF0995E4CA7521DB56CFDFC44610E54A9D87C8BCF11A4D00358FF1 (127) [with CRC]
[22:12:02][V][mbus:096]: Validating CRC for Block1
[22:12:02][V][crc:031]: calculated: 0xC272, read: 0xC272
[22:12:02][V][mbus:116]: Validating CRC for Block2
[22:12:02][V][crc:031]: calculated: 0x52DA, read: 0x52DA
[22:12:02][V][mbus:116]: Validating CRC for Block3
[22:12:02][V][crc:031]: calculated: 0x6562, read: 0x6562
[22:12:02][V][mbus:116]: Validating CRC for Block4
[22:12:02][V][crc:031]: calculated: 0xC6D0, read: 0xC6D0
[22:12:02][V][mbus:116]: Validating CRC for Block5
[22:12:02][V][crc:031]: calculated: 0xA7DC, read: 0xA7DC
[22:12:02][V][mbus:116]: Validating CRC for Block6
[22:12:02][V][crc:031]: calculated: 0xCF09, read: 0xCF09
[22:12:02][V][mbus:116]: Validating CRC for Block7
[22:12:02][V][crc:031]: calculated: 0xC8BC, read: 0xC8BC
[22:12:02][V][mbus:116]: Validating CRC for Block8
[22:12:02][V][crc:031]: calculated: 0x8FF1, read: 0x8FF1
[22:12:02][V][mbus:063]: Frame: 6E4401065085180105077AAE0060851828999416E498E668BB355A9D4213DCF9291228AEB6BEBAD5DE3102DC5A4B77CB3E31583E1FB24D324049A5A0C84B2ED3CA44FCA75897A2CB4F66DE07866318EB86B5182B4F91A812DA1D95E4CA7521DB56CFDFC44610E54A9D87F11A4D0035 (111) [without CRC]
[22:12:02][VV][wmbus:058]: Have data from RF …
[22:12:02][V][Telegram.cpp:1131]: (wmbus) parseDLL @0 111
[22:12:02][V][Telegram.cpp:1178]: (wmbus) parseELL @10 101
[22:12:02][V][Telegram.cpp:1333]: (wmbus) parseNWL @10 101
[22:12:02][V][Telegram.cpp:1391]: (wmbus) parseAFL @10 101
[22:12:02][V][Telegram.cpp:2078]: (wmbus) parseTPL @10 101
[22:12:02][I][wmbus:106]: apator162 [0x01188550] RSSI: -27dBm T: 6E4401065085180105077AAE0060851828999416E498E668BB355A9D4213DCF9291228AEB6BEBAD5DE3102DC5A4B77CB3E31583E1FB24D324049A5A0C84B2ED3CA44FCA75897A2CB4F66DE07866318EB86B5182B4F91A812DA1D95E4CA7521DB56CFDFC44610E54A9D87F11A4D0035 (111) T1 A
[22:12:02][W][component:239]: Component wmbus took a long time for an operation (263 ms).
[22:12:02][W][component:240]: Components should block for at most 30 ms.
[22:12:27][D][sntp:067]: Synchronized time: 2025-12-21 22:12:27

Jeżeli twoja wartość to

total_m3 = 0.003

to zmień ID na takie jak w logu jest.

Już działa. Ubzdurałem sobie że nr na nakładce jest w DEC i przeliczyłem na HEX i cały czas miałem zły nr nakładki. W WMBusmeters też można wywnioskować że nr jest w DEC

{
“_”:“telegram”,
“media”:“water”,
“meter”:“apator162”,
“name”:“”,
“id”:“01188550”, <----- brakuje 0x i wszystko było by jasne
“total_m3”:0.003,
“timestamp”:“2025-12-21T20:42:22Z”
}

Dla potomnych można napisać że nr na nakładce jest w HEX !!!

Dzięki - naprowadziłeś mnie.
Nie trzeba konta na githubie - wrzucamy lokalnie do HA a w kodzie :

external_components:
  - source:
      type: local
      path: /config/esphome/esphome-components/components
    components: [wmbus_common, wmbus_radio, wmbus_meter]

Możecie mi pomóc z tym? Pobrałem z github ale nie mam tam folderów wmbus_common… i wyrzuca błąd:

external_components: [source /config/esphome/woda.yaml:24]

  • source:
    type: local
    path: /config/esphome/esphome-components/components
    components:

    Could not find init.py file for component wmbus_common. Please check the component is defined by this source (search path: /config/esphome/esphome-components/components/wmbus_common/init.py).

    • wmbus_common
    • wmbus_radio
    • wmbus_meter

Ale po co pobierać?
Ustaw tak i zadziała:

external_components:
   - source: github://SzczepanLeon/esphome-components@main
     components: [wmbus_common, wmbus_radio, wmbus_meter]
     refresh: 0d    

Bo się nie mieści projekt na płytce. Jak daję Wszystkie drivery na false to się mieści ale płytka nie wstaje. Ma jakieś problemy z pinami mosi i cs.
Płytka to esp32 c3 super mini.
Działało mi to do nie dawna całkiem dobrze ale był problem ze startem i zacząłem kombinować i teraz nie chce to ruszyć.

To cofnij ESPHome. Przecież nie trzeba mieć najnowszej wersji, tego nikt nie sprawdza, serio:D

Próbuje na starszej wersji na której wcześniej mi działało a dokładniej: 2025.8.4 i też nie działa.

Na pewno na 6.3 jeszcze działało. Potem rzeczywiście z C3 jest problem.

Skompilowałem na 6.1 bo taki mi działał ale dziwna sprawa na starym HA encje są widoczne ale już na najnowszym są wyszarzone.

Jakieś pomysły ?

Najprawdopodobniej radio Ci przestało gadać. Sam się z tym męczyłem , wprawdzie na innej płytce ale na nowej wersji Home ESP.
Dlatego zerknij czy w logu nie masz głuchego radia , samoistnego wyłączenia AP lub innych podobnych objawów.
Nie - to nie jest uszkodzenie płytki.

To jest publiczne forum, zmien dobór słów. To ,że niektóre stają się potoczne i ty ich używasz nie oznacza, że nie są odbierane za wulgarne przez czytających to forum.

Zrozumiałem - treść poprawiona.

2 polubienia

Podczas kompilacji 2025.6.3 mam takie błędy:

Compiling .pioenvs/wmbus/src/esphome/components/wmbus_common/address.cc.o
Compiling .pioenvs/wmbus/src/esphome/components/wmbus_common/aes.cc.o
src/esphome/components/wmbus_common/address.cc:18:10: fatal error: address.h: No such file or directory

*****************************************************************
* Looking for address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:address.h"
* Web  > https://registry.platformio.org/search?q=header:address.h
*
*****************************************************************

 #include "address.h"
          ^~~~~~~~~~~
compilation terminated.
Compiling .pioenvs/wmbus/src/esphome/components/wmbus_common/aescmac.cc.o
*** [.pioenvs/wmbus/src/esphome/components/wmbus_common/address.cc.o] Error 1
src/esphome/components/wmbus_common/aes.cc:42:10: fatal error: aes.h: No such file or directory

*************************************************************
* Looking for aes.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:aes.h"
* Web  > https://registry.platformio.org/search?q=header:aes.h
*
*************************************************************

 #include "aes.h"
          ^~~~~~~
compilation terminated.
*** [.pioenvs/wmbus/src/esphome/components/wmbus_common/aes.cc.o] Error 1
src/esphome/components/wmbus_common/aescmac.cc:18:10: fatal error: aescmac.h: No such file or directory

*****************************************************************
* Looking for aescmac.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:aescmac.h"
* Web  > https://registry.platformio.org/search?q=header:aescmac.h
*
*****************************************************************

 #include "aescmac.h"
          ^~~~~~~~~~~
compilation terminated.
*** [.pioenvs/wmbus/src/esphome/components/wmbus_common/aescmac.cc.o] Error 1
========================== [FAILED] Took 1.76 seconds ==========================