Komponent wM-Bus do ESPHome (SzczepanLeon) - liczniki ciepła i podzielniki kosztów ciepła

To możliwe w tych warunkach?

V4 nie działa na ESP8266

external_components:
  - source: github://SzczepanLeon/esphome-components@version_3
    components: [ wmbus ]

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

sensor:
  - platform: wmbus
    meter_id: 0x05249317
    type: hydrocalm3
    add_prefix: false
    lqi:
      name: "My lqi"
    rssi:
      name: "My RSSI"
    total_heating_kwh:
      name: "Heat meter kWh"
      force_update: true
    total_water_m3:
      name: "Heat meter m3"
      force_update: true
[13:38:47][V][rxLoop:167]: Have 104 bytes from CC1101 Rx, RSSI: -82 dBm LQI: 129
[13:38:47][D][mbus:034]: Processing T1 A frame
[13:38:47][V][mbus:045]: Frame: 2E671C8DC5A535394B39C5993665B158D58DB345968CE4E6D1C59659659659C6B13933B139A2CB5B45ACB25D195965965965965B434B596596596596B343565AC59659659668D366596B3435634B5965965965965A968B58D5965965965965968CED165A9963B255 (104) [RAW]
[13:38:47][V][mbus:052]: Frame: 3A44B409179324051A0D01018C00B27AC4000000046D272D26330C0889C5000000000C13000000008C1008000000611A008C1013000000000F63010000000000B2C00F9B89 (69) [with CRC]
[13:38:47][V][mbus:095]: Validating CRC for Block1
[13:38:47][V][crc:031]:     calculated: 0x0101, read: 0x0101
[13:38:47][V][mbus:115]: Validating CRC for Block2
[13:38:47][V][crc:031]:     calculated: 0x89C5, read: 0x89C5
[13:38:47][V][mbus:115]: Validating CRC for Block3
[13:38:47][V][crc:031]:     calculated: 0x611A, read: 0x611A
[13:38:47][V][mbus:115]: Validating CRC for Block4
[13:38:47][V][crc:031]:     calculated: 0xB2C0, read: 0xB2C0
[13:38:47][V][mbus:115]: Validating CRC for Block5
[13:38:47][V][crc:031]:     calculated: 0x9B89, read: 0x9B89
[13:38:47][V][mbus:062]: Frame: 3A44B409179324051A0D8C00B27AC4000000046D272D26330C08000000000C13000000008C1008000000008C1013000000000F630100000000000F (59) [without CRC]
[13:38:47][D][wmbus:090]: Using driver 'hydrocalm3' for ID [0x05249317] RSSI: -82 dBm LQI: 129 Frame: T1 A T: 3A44B409179324051A0D8C00B27AC4000000046D272D26330C08000000000C13000000008C1008000000008C1013000000000F630100000000000F (59)
[13:38:47][V][sensor:043]: 'My lqi': Received new state 129.000000
[13:38:47][D][sensor:093]: 'My lqi': Sending state 129.00000  with 0 decimals of accuracy
[13:38:47][V][json:020]: Attempting to allocate 512 bytes for JSON serialization
[13:38:47][V][json:040]: Size after shrink 68 bytes
[13:38:47][V][sensor:043]: 'My RSSI': Received new state -82.000000
[13:38:47][D][sensor:093]: 'My RSSI': Sending state -82.00000 dBm with 0 decimals of accuracy
[13:38:47][V][json:020]: Attempting to allocate 512 bytes for JSON serialization
[13:38:47][V][json:040]: Size after shrink 72 bytes
[13:38:47][V][wmbus:121]: Publishing 'total_water_m3' = 0.0000
[13:38:47][V][sensor:043]: 'Heat meter m3': Received new state 0.000000
[13:38:47][D][sensor:093]: 'Heat meter m3': Sending state 0.00000 m³ with 3 decimals of accuracy
[13:38:47][V][json:020]: Attempting to allocate 512 bytes for JSON serialization
[13:38:47][V][json:040]: Size after shrink 80 bytes

(0,00 kWh/m3 jest prawidłową wartością)

Przy upgrade HW - tak :wink:
Przecież to nie są duże koszty.

@mikeb9x
Dla tego telegramu 0.0 jest poprawną wartością
https://wmbusmeters.org/analyze/3A44B409179324051A0D8C00B27ABC000000046D1F2D26330C08000000000C13000000008C1008000000008C1013000000000F630100000000000F

Więc wszystko działa.

1 polubienie

Tak, wiem sam to napisałem.

Wartość kWh nie działa

Widać w logu, że dekoduje się tylko m3, lqi i RSSI

Nie patrzylem w loga bo jest tak wklejony ze nie dam rady go na komórce przeglądać sensownie.

W v3 nie bedzie nic wiecej (chyba ze ktoś zrobi update drivera) - dlatego pisałem o v4.

Z tego, co widzę, jest zaktualizowany driver:

    add_to_map(ret_val, "total_heating_kwh", this->get_0C09(telegram)); /* Hydrocal M4 kWh metering map value */ 

Log zastąpiony wersją bardziej przejrzystą.

Wolę użyć, to co mam wolne, niż zamawiać kolejne rzeczy.
Szczególnie, że z tego co widzę na v2.4.8 (czyli z obsługą ESP8266) już działało.

Sprawdziłem jeszcze V2 i jest to samo - działa, ale nie dekoduje kWh.

@_Szczepan
Przyczyna chyba znaleziona. Driver szuka 0C09, a w moim przypadku jest to 0C08.

024   : 0C dif (8 digit BCD Instantaneous value)
025   : 08 vif (Energy J)
026 C!: 00000000 ("total_heating_kwh":0)

_

Podmieniłem 0C09 na 0C08 i wygląda na to, że działa prawidłowo. Nie wiem jeszcze, czy wartości będą prawidłowe, ale to się okaże jak zacznie coś przez licznik przepływać, najwyżej będę modyfikował.

[17:36:47][D][wmbus:090]: Using driver 'hydrocalm3' for ID [0x05249317] RSSI: -84 dBm LQI: 129 Frame: T1 A T: 3A44B409179324051A0D8C00B27AB2000000046D253126330C08000000000C13000000008C1008000000008C1013000000000F630100000000000F (59)
[17:36:47][V][sensor:043]: 'My lqi': Received new state 129.000000
[17:36:47][D][sensor:093]: 'My lqi': Sending state 129.00000  with 0 decimals of accuracy
[17:36:47][V][sensor:043]: 'My RSSI': Received new state -84.000000
[17:36:47][D][sensor:093]: 'My RSSI': Sending state -84.00000 dBm with 0 decimals of accuracy
[17:36:47][V][wmbus:121]: Publishing 'total_heating_kwh' = 0.0000
[17:36:47][V][sensor:043]: 'Heat meter kWh': Received new state 0.000000
[17:36:47][D][sensor:093]: 'Heat meter kWh': Sending state 0.00000 kWh with 3 decimals of accuracy
[17:36:47][V][wmbus:121]: Publishing 'total_water_m3' = 0.0000
[17:36:47][V][sensor:043]: 'Heat meter m3': Received new state 0.000000
[17:36:47][D][sensor:093]: 'Heat meter m3': Sending state 0.00000 m³ with 3 decimals of accuracy

Chciałbym się dowiedzieć czy jest jakiś sposób na nasłuch wszystkiego co lata po radiu? Aktualnie próbuję “namierzyć” podzielniki kosztów z Apatora E-ITN 30.2 bezskutecznie. Odczytuję wodomierze z Apatora i ciepłomierz sharky774. Z tego co zauważyłem w wątku są użytkownicy którym udaje się również nasłuchać podzielniki kosztów. Czy ktoś może mi coś doradzić ?

Witam.
Udało się komuś uzyskać odczyt z podzielnika ciepła firmy ista doprimo 3?

Cześć,
nie umiem odczytać wartości z mojego ciepłomierza Hydrocal M4.
Udało mi się odczytywać tylko dane dotyczące sygnału RSSI.
Na tym samym urządzeniu odczytuje dane z wodomierza i dział to dobrze.
Mam ESP32 z CC1101.
Moja wersja esphome 2026.1.4

Mój plik YAML - próbowałem też ustawić type: hydrocalm3 ale to też nie działa

sensor:
#WODOMIERZ
  - platform: wmbus
    meter_id: 0x22344709
    type: bmeters
    key: "00000000000000000000000000000000"
    sensors:
      - name: "ZimnaWoda"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "ZimnaWoda RSSi"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"

#CIEPŁOMIERZ		
  - platform: wmbus
    meter_id: 0x05046730
    type: hydrocalm4
    sensors:
      - name: "Hydrocal M4 Energia Ogrzewania"
        field: "total_heating_kwh"
        accuracy_decimals: 2
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        icon: "mdi:fire"
      
      - name: "Hydrocal M4 Objętość Ogrzewania"
        field: "total_heating_m3"
        accuracy_decimals: 2
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      
      - name: "Hydrocal M4 Energia Chłodzenia"
        field: "total_cooling_kwh"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        icon: "mdi:snowflake"
      
      - name: "Hydrocal M4 Objętość Chłodzenia"
        field: "total_cooling_m3"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        state_class: "total_increasing"
        icon: "mdi:water-minus"
      
      - name: "Hydrocal M4 RSSI"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        entity_category: "diagnostic"

Log zwraca takie dane.

[08:34:13.337][W][wmbus:090]: Selected driver hydrocalm4 doesn't exist, using hydrocalm3
[08:34:13.337][I][wmbus:100]: hydrocalm3 [0x05046730] RSSI: -50dBm T: 8644B409306704051A0D8C00B07A13000000046D03294D320C0B685324370C13898334008C1008207001008C1013030000000F640100000000000F0B0D5659359329317740283675257860238288227422229127211684192926185437165190130B08207001207001207001000000000000000000000000000000000000000000000000000000 (135) T1 A
[08:34:13.352][D][meters.cpp:1985]: (meter) created ESPHome hydrocalm3 05046730 not-encrypted
[08:34:13.427][D][meters.cpp:909]: (meter) ESPHome(0) hydrocalm3  handling telegram from 05046730.M=BMT.V=1a.T=0d
[08:34:13.427][D][Telegram.cpp:563]: (telegram) ELL CI=8c CC=00 (slow_resp) ACC=b0
[08:34:13.617][D][sensor:129]: 'Hydrocal M4 RSSI' >> -50 dBm
[08:34:13.617][W][wmbus:156]: Can't get requested field 'total_cooling_kwh' with unit 'kWh'
[08:34:13.617][W][wmbus:156]: Can't get requested field 'total_cooling_m3' with unit 'm³'
[08:34:13.617][W][wmbus:156]: Can't get requested field 'total_heating_kwh' with unit 'kWh'
[08:34:13.618][W][wmbus:156]: Can't get requested field 'total_heating_m3' with unit 'm³'
[08:34:13.618][W][component:547]: wmbus took a long time for an operation (128 ms)
[08:34:15.114][W][component:550]: Components should block for at most 30 ms

Czytałem wcześniejsze wiadomości ale nie rozumiem co powinienem zmienić / poprawić.
Czy da się w ogóle odczytać dane z tego ciepłomierza co robię źle?

Czytać logi, a jak ci one nic nie mówią, tu użyć AI.

EDIT:
Złapany telegram warto sprawdzić na tej stronie:
WMBusmeters Analyze Telegram

OK. Zmieniałem na hydrocalm3 ale to też nie działa.
Nie bardzo wiem jak sobie z tym poradzić?
Dopiero w tym temacie raczkuję.

To zamieszczaj bardziej kompletne YAMLe i logi (nikt nie zgadnie istotnej reszty) - przykładowo - jak nie wiemy z jakiej wersji komponentu korzystasz, to nawet nie wiadomo gdzie szukać dokumentacji…

z nazwy pola trzeba uciąć przyrostek total_cooling_m3total_cooling itd.
zaraz zaraz, ale driver hydrocalm3 nie obsługuje takich pól - wywal zbędną cześć kodu

To jest pełny YAML



esphome:
  name: licznikwody
  friendly_name: LicznikWody

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  level: DEBUG  
   
# Enable Home Assistant API
api:
  encryption:
    key: "xxxx"

ota:
  - platform: esphome
    password: "xxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Licznikwody Fallback Hotspot"
    password: "xxxx"

captive_portal:

time:
  - platform: sntp
    id: time_sntp

external_components:
  - source: github://SzczepanLeon/esphome-components@version_4
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO23
  miso_pin: GPIO19
  clk_pin:  GPIO18
  cs_pin:   GPIO15
  gdo0_pin: GPIO4
  gdo2_pin: GPIO27

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

sensor:
  - platform: wmbus
    meter_id: 0x22344709
    type: bmeters
    key: "00000000000000000000000000000000"
    sensors:
      - name: "ZimnaWoda"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "ZimnaWoda RSSi"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"

  - platform: wmbus
    meter_id: 0x05046730
    type: hydrocalm4
    sensors:
      - name: "Hydrocal M4 Energia Ogrzewania"
        field: "total_heating_kwh"
        accuracy_decimals: 2
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        icon: "mdi:fire"
      
      - name: "Hydrocal M4 Objętość Ogrzewania"
        field: "total_heating_m3"
        accuracy_decimals: 2
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      
      - name: "Hydrocal M4 Energia Chłodzenia"
        field: "total_cooling_kwh"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        icon: "mdi:snowflake"
      
      - name: "Hydrocal M4 Objętość Chłodzenia"
        field: "total_cooling_m3"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        state_class: "total_increasing"
        icon: "mdi:water-minus"
      
      - name: "Hydrocal M4 RSSI"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        entity_category: "diagnostic"

Taki mam natomiast LOG:


INFO ESPHome 2026.1.4
INFO Reading configuration /config/esphome/licznikwody.yaml...
INFO Detected timezone 'Europe/Warsaw'
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from licznikwody.local using esphome API
INFO Successfully resolved licznikwody.local in 0.172s
INFO Successfully connected to licznikwody @ 192.168.0.113 in 0.556s
INFO Successful handshake with licznikwody @ 192.168.0.113 in 0.395s
[08:05:19.593][I][app:206]: ESPHome version 2026.1.4 compiled on 2026-02-12 17:51:40 +0100
[08:05:19.601][I][app:213]: ESP32 Chip: ESP32 r3.1, 2 core(s)
[08:05:19.601][W][app:222]: Set minimum_chip_revision: "3.1" to reduce binary size
[08:05:19.601][C][logger:316]: Logger:
[08:05:19.601][C][logger:316]:   Max Level: DEBUG
[08:05:19.601][C][logger:316]:   Initial Level: DEBUG
[08:05:19.601][C][logger:322]:   Log Baud Rate: 115200
[08:05:19.601][C][logger:322]:   Hardware UART: UART0
[08:05:19.601][C][logger:332]:   Task Log Buffer Size: 768 bytes
[08:05:19.601][C][captive_portal:128]: Captive Portal:
[08:05:19.601][C][wifi:1304]: WiFi:
[08:05:19.601][C][wifi:1304]:   Local MAC: 48:E7:29:B3:00:4C
[08:05:19.601][C][wifi:1304]:   Connected: YES
[08:05:19.602][C][wifi:1037]:   IP Address: 192.168.0.113
[08:05:19.613][C][wifi:1048]:   SSID: [redacted]
[08:05:19.613][C][wifi:1048]:   BSSID: [redacted]
[08:05:19.613][C][wifi:1048]:   Hostname: 'licznikwody'
[08:05:19.613][C][wifi:1048]:   Signal strength: -22 dB ▂▄▆█
[08:05:19.613][C][wifi:1048]:   Channel: 6
[08:05:19.613][C][wifi:1048]:   Subnet: 255.255.255.0
[08:05:19.613][C][wifi:1048]:   Gateway: 192.168.0.1
[08:05:19.613][C][wifi:1048]:   DNS1: 192.168.0.1
[08:05:19.613][C][wifi:1048]:   DNS2: 0.0.0.0
[08:05:19.613][C][sntp:059]: SNTP Time:
[08:05:19.615][C][sntp:062]:   Server 0: '0.pool.ntp.org'
[08:05:19.622][C][sntp:062]:   Server 1: '1.pool.ntp.org'
[08:05:19.622][C][sntp:062]:   Server 2: '2.pool.ntp.org'
[08:05:19.644][C][time:028]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[08:05:19.675][C][esphome.ota:075]: Over-The-Air updates:
[08:05:19.675][C][esphome.ota:075]:   Address: licznikwody.local:3232
[08:05:19.675][C][esphome.ota:075]:   Version: 2
[08:05:19.676][C][esphome.ota:082]:   Password configured
[08:05:19.676][C][safe_mode:021]: Safe Mode:
[08:05:19.676][C][safe_mode:021]:   Successful after: 60s
[08:05:19.676][C][safe_mode:021]:   Invoke after: 10 attempts
[08:05:19.676][C][safe_mode:021]:   Duration: 300s
[08:05:19.686][C][safe_mode:038]:   Bootloader rollback: support unknown
[08:05:19.686][C][web_server.ota:231]: Web Server OTA
[08:05:19.686][C][api:221]: Server:
[08:05:19.686][C][api:221]:   Address: licznikwody.local:6053
[08:05:19.686][C][api:221]:   Listen backlog: 4
[08:05:19.686][C][api:221]:   Max connections: 8
[08:05:19.702][C][api:228]:   Noise encryption: YES
[08:05:19.702][C][mdns:177]: mDNS:
[08:05:19.702][C][mdns:177]:   Hostname: licznikwody
[08:05:19.703][C][wmbus:413]: wM-Bus v4.2.1-1.17.1-b8f4a945:
[08:05:19.704][C][wmbus:431]:   Chip ID: 4C00B329E748
[08:05:19.704][C][wmbus:433]:   CC1101 frequency: 868.950 MHz
[08:05:19.704][C][wmbus:434]:   CC1101 SPI bus:
[08:05:19.712][C][wmbus:152]:     MOSI Pin: GPIO23
[08:05:19.712][C][wmbus:152]:     MISO Pin: GPIO19
[08:05:19.724][C][wmbus:152]:     CLK Pin:  GPIO18
[08:05:19.727][C][wmbus:152]:     CS Pin:   GPIO15
[08:05:19.727][C][wmbus:152]:     GDO0 Pin: GPIO4
[08:05:19.727][C][wmbus:152]:     GDO2 Pin: GPIO27
[08:05:19.761][C][wmbus:449]:   Available drivers: wme5, weh_07, watertech, waterstarm, vario451mid, vario451, vario411, unknown, unismart, ultrimis, ultraheat, tsd2, topaseskr, supercom587, sontex868, sharky774, sharky, sensostar, rfmtx1, rfmamb, qwater, qualcosonic, qsmoke, qheat_55_us, qheat, qcaloric, q400, pollucomf, piigth, omnipower, nemo, munia, multical21, mkradio4a, mkradio4, mkradio3, minomess, microclima, lse_08, lse_07_17, lansenth, lansensm, lansenrp, lansenpu, lansendw, kampress, kamheat, izar, iwm
[08:05:19.761][C][wmbus:463]:   Meter:
[08:05:19.762][C][wmbus:464]:     ID: 84174640 [0x05046730]
[08:05:19.786][C][wmbus:465]:     Type: hydrocalm4
[08:05:19.791][C][wmbus:466]:     Key: ''
[08:05:19.791][C][wmbus:468]:     Field: 'rssi'
[08:05:19.794][C][wmbus:016]:      Name: 'Hydrocal M4 RSSI'
[08:05:19.794][C][wmbus:016]:        State Class: ''
[08:05:19.794][C][wmbus:016]:        Unit of Measurement: 'dBm'
[08:05:19.794][C][wmbus:016]:        Accuracy Decimals: 0
[08:05:19.805][C][wmbus:026]:        Device Class: 'signal_strength'
[08:05:19.805][C][wmbus:468]:     Field: 'total_cooling_kwh'
[08:05:19.812][C][wmbus:016]:      Name: 'Hydrocal M4 Energia Chłodzenia'
[08:05:19.812][C][wmbus:016]:        State Class: 'total_increasing'
[08:05:19.812][C][wmbus:016]:        Unit of Measurement: 'kWh'
[08:05:19.812][C][wmbus:016]:        Accuracy Decimals: 3
[08:05:19.838][C][wmbus:026]:        Device Class: 'energy'
[08:05:19.838][C][wmbus:030]:        Icon: 'mdi:snowflake'
[08:05:19.845][C][wmbus:468]:     Field: 'total_cooling_m3'
[08:05:19.871][C][wmbus:016]:      Name: 'Hydrocal M4 Objętość Chłodzenia'
[08:05:19.871][C][wmbus:016]:        State Class: 'total_increasing'
[08:05:19.871][C][wmbus:016]:        Unit of Measurement: 'm³'
[08:05:19.871][C][wmbus:016]:        Accuracy Decimals: 3
[08:05:19.871][C][wmbus:030]:        Icon: 'mdi:water-minus'
[08:05:19.880][C][wmbus:468]:     Field: 'total_heating_kwh'
[08:05:19.880][C][wmbus:016]:      Name: 'Hydrocal M4 Energia Ogrzewania'
[08:05:19.880][C][wmbus:016]:        State Class: 'total_increasing'
[08:05:19.880][C][wmbus:016]:        Unit of Measurement: 'kWh'
[08:05:19.880][C][wmbus:016]:        Accuracy Decimals: 2
[08:05:19.885][C][wmbus:026]:        Device Class: 'energy'
[08:05:19.890][C][wmbus:030]:        Icon: 'mdi:fire'
[08:05:19.897][C][wmbus:468]:     Field: 'total_heating_m3'
[08:05:19.897][C][wmbus:016]:      Name: 'Hydrocal M4 Objętość Ogrzewania'
[08:05:19.897][C][wmbus:016]:        State Class: 'total_increasing'
[08:05:19.897][C][wmbus:016]:        Unit of Measurement: 'm³'
[08:05:19.897][C][wmbus:016]:        Accuracy Decimals: 2
[08:05:19.918][C][wmbus:026]:        Device Class: 'water'
[08:05:19.929][C][wmbus:030]:        Icon: 'mdi:water'
[08:05:19.929][C][wmbus:463]:   Meter:
[08:05:19.937][C][wmbus:464]:     ID: 573851545 [0x22344799]
[08:05:19.942][C][wmbus:465]:     Type: bmeters
[08:05:19.942][C][wmbus:466]:     Key: '00000000000000000000000000000000'
[08:05:19.947][C][wmbus:468]:     Field: 'rssi'
[08:05:19.947][C][wmbus:016]:      Name: 'ZimnaWoda RSSi'
[08:05:19.947][C][wmbus:016]:        State Class: 'measurement'
[08:05:19.947][C][wmbus:016]:        Unit of Measurement: 'dBm'
[08:05:19.947][C][wmbus:016]:        Accuracy Decimals: 0
[08:05:19.962][C][wmbus:026]:        Device Class: 'signal_strength'
[08:05:19.969][C][wmbus:468]:     Field: 'total'
[08:05:19.982][C][wmbus:016]:      Name: 'ZimnaWoda'
[08:05:19.982][C][wmbus:016]:        State Class: 'total_increasing'
[08:05:19.982][C][wmbus:016]:        Unit of Measurement: 'm³'
[08:05:19.982][C][wmbus:016]:        Accuracy Decimals: 3
[08:05:19.983][C][wmbus:026]:        Device Class: 'water'
[08:05:19.989][C][wmbus:030]:        Icon: 'mdi:water'
[08:05:23.613][D][mbus:014]: Received C1 A frame
[08:05:24.066][D][crc:035]:     calculated: 0x9D68, read: 0x9465  !!!
[08:06:10.037][D][mbus:014]: Received C1 A frame
[08:06:10.293][D][crc:035]:     calculated: 0xE4C3, read: 0xE4C6  !!!
[08:06:20.516][D][mbus:035]: Received T1 A frame
[08:06:49.756][D][mbus:035]: Received T1 A frame
[08:06:49.757][W][wmbus:090]: Selected driver bmeters doesn't exist, using iwmtx5
[08:06:49.757][I][wmbus:100]: iwmtx5 [0x22344799] RSSI: -50dBm T: 5144B4099947342218078C00517A4A804005BB6E6048801DA5EDAC0402E6DFEA07638B55777E12DD374FD709C392AFD6AF64AA64FBE23C7D680BE424C29D592FA7ED15FE44F84A72B656F78D3A48F76C81F9 (82) T1 A
[08:06:49.757][D][meters.cpp:1985]: (meter) created ESPHome iwmtx5 22344799 encrypted
[08:06:49.757][D][meters.cpp:909]: (meter) ESPHome(0) iwmtx5  handling telegram from 22344799.M=BMT.V=18.T=07
[08:06:49.757][D][Telegram.cpp:563]: (telegram) ELL CI=8c CC=00 (slow_resp) ACC=51
[08:06:50.178][D][sensor:129]: 'ZimnaWoda RSSi' >> -50 dBm
[08:06:50.195][D][sensor:129]: 'ZimnaWoda' >> 373.425 m³
[08:06:50.420][D][mbus:014]: Received C1 A frame
[08:06:50.473][D][crc:035]:     calculated: 0xFCB4, read: 0xC144  !!!
[08:07:23.582][D][mbus:035]: Received T1 A frame
[08:07:24.165][D][mbus:035]: Received T1 A frame
[08:07:51.707][D][mbus:035]: Received T1 A frame
[08:07:51.712][I][wmbus:100]: hydrocalm3 [0x05045337] RSSI: -53dBm T: 8644B409375304051A0D8C00B07A5A000000046D1C284D320C0B795729300C13290356008C1008314911008C1013510000000F640100000000000F0B0D2294281619257294224680208144209214206682196760195227193483189147189417170B08314911314911314911314911314911314911314911314911314911314911314911314911 (135) T1 A
[08:08:12.030][D][mbus:035]: Received T1 A frame
[08:08:13.446][D][mbus:035]: Received T1 A frame
[08:08:14.556][D][mbus:035]: Received T1 A frame
[08:08:32.228][D][mbus:035]: Received T1 A frame
[08:08:34.305][D][mbus:035]: Received T1 A frame
[08:08:34.986][D][mbus:035]: Received T1 A frame
[08:08:40.479][D][mbus:035]: Received T1 A frame
[08:09:06.510][D][mbus:035]: Received T1 A frame
[08:09:16.630][D][mbus:014]: Received C1 A frame
[08:09:16.665][D][crc:035]:     calculated: 0x7910, read: 0x6B0A  !!!
[08:09:26.250][D][mbus:014]: Received C1 A frame
[08:09:26.427][I][wmbus:100]: fhkvdataiv [0x13602657] RSSI: -77dBm T: 294468505726601394087AD8001025E1EF9CB6BE584D2101BC6C282036B5BD0F0FA39620247B0685F35F (42) C1 A
[08:09:29.242][D][mbus:035]: Received T1 A frame
[08:09:32.419][D][mbus:035]: Received T1 A frame
[08:09:37.046][D][mbus:035]: Received T1 A frame
[08:10:07.182][D][mbus:035]: Received T1 A frame
[08:10:07.187][I][wmbus:100]: hydrocalm3 [0x05045432] RSSI: -47dBm T: 8644B409325404051A0D8C00C67AB1000000046D1B284D320C0B093601870C13290060018C1008211007018C1013830500000F640100000000000F0B0D6375843709789755724802682170643690639911633006629131611236590618571169530B09027110027110027110027110027110027110027110027110027110027110027110027110 (135) T1 A
[08:10:26.353][D][mbus:035]: Received T1 A frame
[08:10:26.552][I][wmbus:100]: hydrocalm3 [0x05045337] RSSI: -55dBm T: 8644B409375304051A0D8C00B07A5D000000046D1F284D320C0B795729300C13290356008C1008314911008C1013510000000F640100000000000F0B0D2294281619257294224680208144209214206682196760195227193483189147189417170B08314911314911314911314911314911314911314911314911314911314911314911314911 (135) T1 A
[08:10:33.954][D][mbus:035]: Received T1 A frame
[08:10:52.437][D][mbus:035]: Received T1 A frame
[08:10:52.728][D][mbus:035]: Received T1 A frame
[08:11:01.089][D][mbus:035]: Received T1 A frame
[08:11:14.327][D][mbus:035]: Received T1 A frame
[08:11:46.423][D][mbus:035]: Received T1 A frame
[08:12:13.181][D][mbus:014]: Received C1 A frame
[08:12:13.465][I][wmbus:100]: fhkvdataiv [0x13602698] RSSI: -77dBm T: 294468509826601394087AC70010258148510C4D68E25CC41A48A75ACBCDC70F0F9A2FA7232224FB8DCD (42) C1 A
[08:12:15.033][D][mbus:035]: Received T1 A frame
[08:12:25.295][D][mbus:035]: Received T1 A frame
[08:12:40.851][D][mbus:035]: Received T1 A frame
[08:12:51.118][D][mbus:014]: Received C1 A frame
[08:12:51.336][D][crc:035]:     calculated: 0x010B, read: 0x91DB  !!!
[08:12:58.827][D][mbus:035]: Received T1 A frame
[08:13:12.388][D][mbus:035]: Received T1 A frame
[08:13:12.612][D][mbus:035]: Received T1 A frame
[08:13:14.399][D][mbus:014]: Received C1 A frame
[08:13:14.702][D][crc:035]:     calculated: 0x1C23, read: 0x0228  !!!
[08:13:18.247][D][mbus:035]: Received T1 A frame
[08:13:29.016][D][mbus:014]: Received C1 A frame
[08:13:29.145][I][wmbus:100]: fhkvdataiv [0x13602657] RSSI: -76dBm T: 294468505726601394087AD9001025131F89A94E3D44A5ACEACEEA6A38EB6C0F0FA3DDA31A6BEEAAFE7B (42) C1 A
[08:13:40.857][D][mbus:035]: Received T1 A frame
[08:13:52.534][D][mbus:035]: Received T1 A frame
[08:14:34.037][D][mbus:035]: Received T1 A frame
[08:14:36.012][D][mbus:035]: Received T1 A frame
[08:14:40.234][D][mbus:035]: Received T1 A frame
[08:14:40.292][I][wmbus:100]: hydrocalm3 [0x05045373] RSSI: -74dBm T: 8644B409735304051A0D8C00BF7AA4000000046D29284D320C0B317368450C13700841008C1008990120008C1013470100000F640100000000000F0B0D1463448890413250392237379377358559341000344801331283315746307997284705270B08990120990120990120990120990120990120990120990120990120990120990120990120 (135) T1 A
[08:14:43.660][D][mbus:035]: Received T1 A frame
[08:14:44.099][I][wmbus:100]: hydrocalm3 [0x05045337] RSSI: -56dBm T: 8644B409375304051A0D8C00B07A61000000046D23284D320C0B795729300C13290356008C1008314911008C1013510000000F640100000000000F0B0D2294281619257294224680208144209214206682196760195227193483189147189417170B08314911314911314911314911314911314911314911314911314911314911314911314911 (135) T1 A
[08:14:50.832][D][mbus:035]: Received T1 A frame
[08:14:50.984][D][mbus:035]: Received T1 A frame
[08:15:12.735][D][mbus:035]: Received T1 A frame
[08:15:26.382][D][mbus:035]: Received T1 A frame
[08:15:32.643][D][mbus:035]: Received T1 A frame
[08:15:45.093][D][sntp:100]: Synchronized time: 2026-02-13 08:15:45
[08:16:00.728][D][mbus:035]: Received T1 A frame
[08:16:27.974][D][mbus:035]: Received T1 A frame
[08:16:28.115][I][wmbus:100]: hydrocalm3 [0x05045657] RSSI: -71dBm T: 8644B409575604051A0D8C00B37A60000000046D36284D320C0B116126430C13599581008C1008856976018C1013820800000F640100000000000F0B0D2576415488378208358614339113322942312365305782295302295708281393264843250B09986617986617986617986617986617986617986617986617986617986617986617986617 (135) T1 A
[08:16:28.825][D][mbus:035]: Received T1 A frame
[08:16:30.823][D][mbus:035]: Received T1 A frame
[08:16:47.101][D][mbus:035]: Received T1 A frame
[08:17:15.614][D][mbus:035]: Received T1 A frame
[08:17:15.653][I][wmbus:100]: fhkvdataiii [0x13602657] RSSI: -75dBm T: 33446850572660139480A20F9F330000D00400001159083408000000000000000000000000000000000000000000000000000000 (52) T1 A
[08:17:21.877][D][mbus:035]: Received T1 A frame
[08:17:21.880][W][wmbus:090]: Selected driver bmeters doesn't exist, using iwmtx5
[08:17:21.880][I][wmbus:100]: iwmtx5 [0x22344799] RSSI: -50dBm T: 5144B4099947342218078C005A7A538040055D64F5AAD61F5E3DAA8900E9800748B4D5FFF7DF46AA66FECFC4FB6EB937467F85BA388D56867A7EA46A7141542E1B5F2203D5F4705302DC25112259DE13D1BB (82) T1 A
[08:17:21.913][D][meters.cpp:1985]: (meter) created ESPHome iwmtx5 22344799 encrypted
[08:17:21.913][D][meters.cpp:909]: (meter) ESPHome(0) iwmtx5  handling telegram from 22344799.M=BMT.V=18.T=07
INFO Processing unexpected disconnect from ESPHome API for licznikwody @ 192.168.0.113
WARNING Disconnected from API
INFO Successfully resolved licznikwody @ 192.168.0.113 in 0.000s
INFO Successfully connected to licznikwody @ 192.168.0.113 in 0.264s
INFO Successful handshake with licznikwody @ 192.168.0.113 in 0.115s
[08:18:09.280][W][component:547]: wmbus took a long time for an operation (155 ms)
[08:18:09.399][W][component:550]: Components should block for at most 30 ms
[08:18:22.842][I][safe_mode:066]: Boot seems successful; resetting boot loop counter
[08:18:25.261][D][esp32.preferences:155]: Writing 1 items: 0 cached, 1 written, 0 failed
[08:18:31.956][D][mbus:035]: Received T1 A frame

hmm. Przepraszam ale nie rozumiem która część jest zbędna?

więc dokumentację masz tam
https://github.com/SzczepanLeon/esphome-components/tree/version_4

ale jak pisałem wyżej - musisz wywalić (lub zakomentować) pola które nie są dekodowane przez hydrocalm3 (jak w przyszłości przejdziesz na v5 i driver hydrocalm4 to pewnie będą, nie mam takich liczników, to nie wiem jak to wygląda obecnie)

ta w której definiujesz te sensory

i jeszcze jedno zgodnie z dokumentacją v4
z nazwy pola (tych które są dekodowane w hydrocalm3) trzeba uciąć przyrostek total_heating_kwhtotal_heating itd.
jakbyś zamieścił telegram z licznika wody (tam też wypadałoby dodać poprawkę, bo widzę, że jest używany inny driver licznika wody niż deklarujesz), to bym pokazał jak tam to jest rozegrane, ale masz to na rysunku w dokumentacji

Czyli rozumiem, że na ta chwilę nie jestem w stanie odczytać tych danych nawet jak przeszedłbym na wersję v5 ?

wmbusmeters

o grzaniu możesz czytać, o chłodzeniu nie

Nie mam bladego pojęcia jak wygląda kwesta drivera hydrocalm4 w v5 (a nie chce mi się ryć po repozytorium, obsługa pewnie będzie, ale czy jest już dzisiaj nie wiem, nie jestem autorem, tylko zwykłym użytkownikiem takim samym jak Ty).

Zauważ że v5 ma inną konfigurację, więc polecam żebyś najpierw dopracował sobie v4 i zachował w pełni działający YAML oraz wsad do MCU zanim przejdziesz na v5.

PS wszystko to wyczytałem z twoich logów i konfiguracji oraz “dorozumiałem” dekodując twoje telegramy na stronie, którą linkował @angler i tam ręcznie zmieniając sterownik/dekoder

PPS można do sprawy podejść też od innej strony - dekodować surowe telegramy w Dodatku/Aplikacji wmbusmeters zainstalowanej w HA
https://github.com/SzczepanLeon/esphome-components/blob/version_4/docs/wmbus.md
i tą metodą możesz użyć dowolny istniejący sterownik/dekoder na poziomie wmbusmeters

na tą chwilę zależy mi tylko na tym by mieć wartość zużytego ciepła czyli “total_heating_kwh”:10345.935556)

ps. Gdzie tego szukać?
“a nie chce mi się ryć po repozytorium, obsługa pewnie będzie, ale czy jest już dzisiaj nie wiem, nie jestem autorem, tylko zwykłym użytkownikiem takim samym jak Ty).”
Może sam spróbuję przez to przejść.

to zmień w YAMLu
total_heating_kwh na total_heating
w sekcji konfiguracji z jednostką kWh

  - platform: wmbus
    meter_id: 0x05046730
    type: hydrocalm3
    sensors:
      - name: "Hydrocal M4 Energia Ogrzewania"
        field: "total_heating"
        accuracy_decimals: 2
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        icon: "mdi:fire"
      
      - name: "Hydrocal M4 Objętość Ogrzewania"
        field: "total_heating"
        accuracy_decimals: 2
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"

analogicznie do tego


a że w logach widać, że masz użyty inny driver niż deklarujesz
to sugeruję też zmianę tutaj

  - platform: wmbus
    meter_id: 0x22344709
    type: iwmtx5
    key: "00000000000000000000000000000000"
    sensors:
      - name: "ZimnaWoda"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"

być może lepszy byłby driver hydrodigit od iwmtx5 - musisz samodzielnie poeksperymentować, jakkolwiek dane wychodzą bzdurne
https://wmbusmeters.org/analyze/5144B4099947342218078c00517a4a804005BB6e6048801da5edac0402e6dfea07638B55777e12dd374fd709c392afd6af64aa64fBe23c7d680Be424c29d592fa7ed15fe44f84a72B656f78d3a48f76c81f9:hydrodigit:00000000000000000000000000000000

ALE jeśli dane dotyczące napięcia ogniwa są OK, to ta nakładka wkrótce skończy pracę (2.3V dla chemii Li-SOCl2 to praktycznie napięcie końcowe)

Zmieniłem i już dane ładnie są zbierane. Usunę tylko nie działający kod dotyczący chłodzenia i będzie ok. Muszę jeszcze zrobić przeliczenie kWh na GJ bo w takiej jednostce mam rozliczenia i tak też wyświetla licznik.

Dziękuje !