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

Tak
meter_id: 0x00126858
key: “00000000000000000000000000000000”
ale w telegramach powinieneś to widzieć
bez ustawionych parametrów meter dla widzę takie logi
To są wodomierze

22:51:43	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077AD6006085DEB3D7472DA6894C8236F8258673EA8E765EF57C7EC8481AE2DC6F3C6AD9A3FD7EE3CE4E8FFE491AE43EC21EDE90AA806EF857713C4BB0ED82ECFE8F74DFCCB556B4D00FABA232FF4271596E1945069D1E9C92D00DC2F263605088013DFEB466 (111)
23:02:05	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077AD8006085DFA520967A545B33063D2FFD33D892827856F2789CEA28D64725D3279DF9927DF915BAC6EBAA89DF3D0CDF8EAB24CE1236BE13BE299338634CC0745CA0AA05BFCC2163A5B22CE693AC580697DA748C8B7FA15F52049C0BC9672078FE607AA09C (111)
23:04:26	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -60 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB10060852E122AA0AD9D38546B9721F8A2B39B1CD08387D14EBD47B0016E0C2DA64A180C6479E6FE776CDB1C8877E051B9085910BE65FA537EC5ACCD9770B914292143F77C98C0985749D752527FA8AD7CF9521E64904B5AA905DCE815466CB401241703 (111)
23:07:42	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077AD9006085F7701245948F9558656C07F334126C32E062685252DCA815BA60021BA2A03BBE04E6FEE31BFA70FEC656D38DD988C2F84C808568E75162EDDE8BADD0D305B234E6E7F650F9620EE1F9F51BC230E1258914AFE829AC433D24541CAA25992FF8D0 (111)
23:08:31	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -60 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB20060850DB2178F20F15EE2A5E561A69A45F3447EA298666955234F7D17F27DB3485C6ABFA5FD9BB6CC447A663AAFD15A7DEDD94EED76474F855AD8C682134531BA6A6BB5E6B5E8343A8D9F4CF5B50DAC1FAAAEAB08A7BDEBE429DC5C561969775A5FC1 (111)
23:15:13	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -60 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB3006085B4C035FEF4D6EBCA2D5526D1CD4338EF0811F077851115AA3C23A8A7A8889500D2966262FBCAD981E9E7F784B23CE02431D577D32BE39CED4884058E1D9CB2BCB953CD5502F2B7428A4E179D606A0B3AE6F728C47CC79C42ECEBF4B00D8B3C1C (111)
23:19:54	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -60 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB400608571F74FD1014D8AFA55A183A90F7D7B082464A5F34DD904D00530A8BC32543078F0D3A236AFD9D90DD196C72657632BC7BD5E0A3268B4344F8C754E386F390CF3007E24D1A2E1B075A181EAE4D5C9C65C1885CFC0B32EF348EA56F8005870F369 (111)
23:24:54	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -61 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB50060858CFB6BB5CBF172631025121C1BB9BFE9496A76A88562FFF1D20A1B1B1FFB246E358789981B8320D3B46D7753E6D8034FBBE5ED21C76A6070C3B636114808E52B8F7BEF980C2B48730AB6E0A05BFECE5E055D0C28351C163AAE7EC8A2E0253310 (111)
23:26:19	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077ADD0060857BF0D9BF392D53B509D5423E7FE200195191FD11DBD0E2891407104958F9A5FC9841B1FF46D7633372B5CBEFA6872144CC5CA51384D68DF226A5A828B1D9531A77D17A9AC38519175770677CD5BDB021352A0D7F97DA33F8E95BBF3F7163E0C2 (111)
23:30:05	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -60 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB60060859B95B5B8CD26F4938119ECAA5C64BC6235B2E6050724D7681F49B206280FE00D99F92A0779E7CCE619CC62B313A85B27168C8C08B251AC3B4C74AC4601FA6F117FBD33FD1E40A323A4E704280782FBE532F70F9A5BFFEE9A9C5070485CC4406D (111)
23:34:51	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -59 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB7006085B13DADB709CB2939288CB5FBD1E77E0E095587D817AD50DE8CCDA10BAE976641D3E489C793AB976F19A762B61640C66D15828668CE6E2903634450E7CDC917BD1205EE8EF113B52B547DAC76084CD681FB19B5BB4387916BDFF13207FC27974C (111)
23:38:25	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077ADF0060855DC0DF5BA9AED79F7D35129BAA2A5D0EF5DB94823495A5DC293AA38D35EB8C4BBB0066CA7F4E3F6134854B9A2A2905358BB3B8AF5338D1C1898ADE723F024B1657F946117614ACF0A9137D8AACD21BAA25F669DB8D19966D1E1E0689BB95A35C (111)
23:40:13	[D]	[wmbus:174]	
Meter ID [0x00061085] RSSI: -59 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401068510060005077AB800608518BEE4A499E2B3D0078E45E12548EA047B583F5100C417833CFC85945F666A42B29AAA43633BC04A587877038E5DF674B294702DF16051C96FA426BBEA5469076C19FA8878F3D6E1E6236DE4D01296C51E082871189CBF035A8F8FC25BED00F3 (111)
23:43:06	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077AE0006085C9A29125B32E55ADFB756E51F4E196E41C17448427038C01205FABA71B41136FDE69F54BF1FD6C4DD1DFC8E7820CEA8C333FC02955630C06698BA39CCB628D37A209FD6E9A70079FDBA7717E3F766632FCAA025CDBECD7E1A28E5AC9C197BE0F (111)
23:48:25	[D]	[wmbus:174]	
Meter ID [0x00126858] RSSI: -44 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401065868120005077AE1006085E9E9DE2B04018FB5477A44DE459CBCA5B1C5AE8971AFCE0DC30418EA8F21AA0904AF84168B0110B1666AC5841E00151E4B62EFDDBEBCEAAC66CC1ECFDFDC704EC21606E8DE304FCF3FB6A861A08C10F86CA7923095FC77993E895253986FACE4 (111)

Z racji tego, że mieszkam w wieżowcu to 2-3 telegramy mam na sekundę. Widzę je w logach. Wpisałem wczoraj wieczorem środek z obudowy, czyli 0x00019913 i resztę z pokoi. Póki co brak odczytów. Moim zdaniem przez całą noc powinien chociaż jeden być wysłany więc:

  1. To nie jest meter id podzielnika
  2. jest to jakaś nowa wersja, która nie jest obsługiwana.

  - platform: wmbus # C.O. kuchnia
    meter_id: 0x00019916
    type: apatoreitn
    key: "00000000000000000000000000000000"
    add_prefix: false # nie dodaje ID do encji
    lqi:
      name: "C.O. Kuchnia LQI"
    rssi:
      name: "C.O. Kuchnia RSSI"
    current_hca:
      name: "C.O. Kuchnia aktualnie"
    previous_hca:
      name: "C.O. Kuchnia poprzednio"
    temp_room_avg_c:
      name: "C.O. Kuchnia Śr. temp."

  - platform: wmbus # C.O. Salon
    meter_id: 0x00019913
    type: apatoreitn
    key: "00000000000000000000000000000000"
    add_prefix: false # nie dodaje ID do encji
    lqi:
      name: "C.O. Salon LQI"
    rssi:
      name: "C.O. Salon RSSI"
    current_hca:
      name: "C.O. Salon aktualnie"
    previous_hca:
      name: "C.O. Salon poprzednio"
    temp_room_avg_c:
      name: "C.O. Salon Śr. temp."

  - platform: wmbus # C.O. Sypialnia
    meter_id: 0x00019915
    type: apatoreitn
    key: "00000000000000000000000000000000"
    add_prefix: false # nie dodaje ID do encji
    lqi:
      name: "C.O. Sypialnia LQI"
    rssi:
      name: "C.O. Sypialnia RSSI"
    current_hca:
      name: "C.O. Sypialnia aktualnie"
    previous_hca:
      name: "C.O. Sypialnia poprzednio"
    temp_room_avg_c:
      name: "C.O. Sypialnia Śr. temp."

Cześć,

Mam problem z odczytem ciepłomierza Hydrocal M4 w ESPHome - nie dekoduje wartości total_heating_kwh.

Dekoder webowy z użyciem drivera hydrocalm3 potrafi zdekodować wartości zwracane przez ciepłomierz:

020 C!: 1E29F42C ("device_datetime":"2023-12-20 09:30")
026 C!: 17413529 ("total_heating_kwh":81.539214)
032 C!: 05140100 ("total_heating_m3":11.405)

Telegram ciepłomierza - link

Tymczasem ESPHome pomija total_heating_kwh, zwraca tylko total_heating_m3, lqi, rssi. Log z odczytu:

09:51:52	[I]	[wmbus:087]	

Using driver 'hydrocalm3' for ID [0x05131668] RSSI: -68 dBm LQI: 164 Mode: T1 T: 3A44B409681613051A0D8C00907A84000000046D3429F42C0C09357450290C13311401008C1008526711008C1013300000000F640100000000000F (59)

09:51:52	[D]	[sensor:094]	

'0x5131668 My lqi': Sending state 164.00000  with 0 decimals of accuracy

09:51:52	[D]	[sensor:094]	

'0x5131668 My RSSI': Sending state -68.00000 dBm with 0 decimals of accuracy

09:51:52	[D]	[sensor:094]	

'0x5131668 Ciepłomierz m3': Sending state 11.43100 m³ with 3 decimals of accuracy

09:51:52	[D]	[sensor:094]	

'0x5131668 Ciepłomierz m3': Sending state 11.43100 m³ with 3 decimals of accuracy

09:51:52	[W]	[component:214]	

Component wmbus took a long time for an operation (0.07 s).

09:51:52	[W]	[component:215]	

Components should block for at most 20-30ms.

09:51:52	[W]	[component:215]	

Components should block for at most 20-30ms.

Konfiguracja sensora

# third sensor (heating)
  - platform: wmbus
    meter_id: 0x05131668
    type: hydrocalm3
    add_prefix: true
    lqi:
      name: "My lqi"
    rssi:
      name: "My RSSI"
    total_heating_kwh:
      name: "Ciepłomierz kWh"
    total_water_m3:
      name: "Ciepłomierz m3"

ESPHome w wersji 2023.11.6
Spotkał się ktoś z takim zachowaniem?

Aktualnie nie mam obsługi 0C09
obraz

I wszystko jasne :slight_smile:
Czy jest szansa że pojawi się w kolejnym release?

Szansa zawsze jest.
Ale najszybciej to się pojawi jak sam dopiszesz :smiley:

Wrzuciłem pull request na Githubie :wink:

edit: jednak wymaga jeszcze poprawki bo wywala się na kompilacji, poprawię i dam znać. Zapomniałem driver.h zaktualizować :man_facepalming:


In file included from .piolibdeps/wmbus-reader/wmbus-drivers/drivers.h:14,
                 from src/esphome/components/wmbus/wmbus.h:21,
                 from src/esphome/components/wmbus/wmbus.cpp:1:
.piolibdeps/wmbus-reader/wmbus-drivers/driver_hydrocalm3.h: In member function 'virtual esphome::optional<std::map<std::__cxx11::basic_string<char>, double> > Hydrocalm3::get_values(std::vector<unsigned char>&)':
.piolibdeps/wmbus-reader/wmbus-drivers/driver_hydrocalm3.h:22:52: error: 'struct Hydrocalm3' has no member named 'get_0C09'; did you mean 'get_0C0E'?
     add_to_map(ret_val, "total_heating_kwh", this->get_0C09(telegram)); /* Hydrocal M4 kWh metering map value */
1 polubienie

Sprawdź czy wersja 2.4.7 działa.

Częściowo działa, tylko pochrzaniłem i nie podzieliłem wartości przez co odczyt jest trochę… nawyrost :slight_smile: . Wrzuciłem request z fixem.

obraz

2.4.8 dostępne – powinno być z fix’em

Jest lepiej. Rząd wielkości się zgadza, lecz gubi wszystko po przecinku jakby wartość nie była float’em :thinking:

telegram: 3a44B409681613051a0d8c00907a78000000046d382df42c0c09590212310c13921601008c1008526711008c1013300000000f640100000000000f
[...]
024   : 0C dif (8 digit BCD Instantaneous value)
025   : 09 vif (Energy 10¹ J)
026 C!: 59021231 ("total_heating_kwh":86.445164)

[13:55:52][D][sensor:094]: '0x5131668 Ciepłomierz kWh': Sending state 86.00000 kWh with 3 decimals of accuracy

Bug przeszedł :wink:
Popraw na:

ret_val = usage / 360000.0;
1 polubienie

Zapomina człowiek że takie rzeczy w pythonie przechodzą :see_no_evil:

Teraz jest pięknie - oficjalnie można wpisać BMeters Hydrocal M4 na listę supported devices :smiley:

[14:52:52][D][sensor:094]: '0x5131668 Ciepłomierz kWh': Sending state 87.52538 kWh with 3 decimals of accuracy

2 polubienia

Lista jest per driver. Więc teraz ustawiając hydrocalm3 można i z M3 i z M4 odczytywać dane.
Może zmienię nazwę drivera na hydrocal

2 polubienia

Witam, posiadam podzielniki ciepła apator eitn 36.2. Nie potrafię odczytac danych z tych podzielników. Poniżej zamieszczam konfigurację.
Konfiguracja sensora

  - platform: wmbus
    meter_id: 0x"numer podzielnika"
    type: apatoreitn
    lqi:
      name: "Podzielnik Salon"
    rssi:
      name: "Podzielnik Salon RSSI"
    current_hca:
      name: "Podzielnik Salon aktualnie"
    previous_hca:
      name: "Podzielnik Salon poprzednio"
    temp_room_avg_c:
      name: "Podzielnik Salon średnia temperatura"

Mogę prosić o pomoc?

Jaką masz wersję komponentu zainstalowaną? Czy łapie jakieś telegramy?

wersja 2023.12.9
odczytuje dwa liczniki wody apatora bez problemu

Wersje komponentu a nie wersje ESPHOME.
obraz

Masz wpisane poprawne ID podzielników?
W logach nie widzisz czegoś takiego, tylko z Twoimi ID?

nie umiem teraz tego odczytać, zauważyłem że mój wmbus-reader jest offline i nie mogę ściągnąć logów… nie wiem dlaczego, wcześniej nie miałem takiego problemu i nie wiem kiedy to się popsuło. Odczyty liczników mimo to cały czas przychodzą

EDIT. ponownie podłączyłem urządzenie i zaczął odczytywać

Wersja komponentu to wM-Bus v2.5.1

mam takie coś w logach:

Meter ID [0x01046342] RSSI: -58 dBm LQI: 128 Mode: T1 not found in configuration T: 6E4401064263040105077A7300608596BF8C125AA691B464F2B517BA9B26A01DEC288FF978CF8A552A66410B0DEB07F64ACCB23044EE829D6C5D34A19379E0ACDC2303DAC3A7F4DB53691144A5FE4133B40064690341E0D9A0E9CB14512A6DAF8938371A0FDD7310FD982BDE3AB893 (111)

Witam.
Jestem początkujący w temacie odczytu liczników a potrzebuję odczytać ciepłomierze Sharky775 które mam w piwnicy 3 sztuki (jeden zakładu energetycznego i dwa zamontowane przeze mnie mierzące zużycie moje i brata)
Zamysł jest taki że HA będzie odczytywał stan tych podliczników ostatniego dnia każdego miesiąca, tzn. spróbuję ogarnąć to jakoś w NodeRedzie ale muszę najpierw dostać jakieś dane z encji.
Latam po tematach i kompletnie nie wiem jak to ugryźć. Czy moglibyście krok po kroku podpowiedzieć co i jak zrobić aby uzyskać encje z danymi ?
Mam CC1101 podłączony do NodeMcuv3 zainstalowane ESPhome i
wmbusmeters w którym to nie wiem co wpisać w sekcji meters itd. Piszecie też o telegramie który to nie wiem jak zapędzić do roboty
z góry dziękuję za pomoc

esphome:
  name: cieplomierz
  friendly_name: Podzielnik

esp8266:
  board: nodemcuv2

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxxxxxxxxx"

ota:
  password: "0xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

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

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

captive_portal:

time:
  - platform: sntp
    id: time_sntp

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

wmbus:
  mosi_pin: GPIO13 # D7
  miso_pin: GPIO5 # D1
  clk_pin:  GPIO2 # D4
  cs_pin:   GPIO14  # D5
  gdo0_pin: GPIO15  # D8
  gdo2_pin: GPIO16  # D0

sensor:
  - platform: wmbus
    meter_id: 0x00012A85
    type: sharky775
    key: "00000000000000000000000000000000"
    lqi:
      name: "licznikLQI"
    rssi:
      name: "LicznikRSSI"