Komponent wM-Bus do ESPHome (SzczepanLeon) - minomess - liczniki wody

Hej - czy jest szansa na dodanie obsługi czegoś takiego jak: “minomess”?
Złapałem ramkę mojego licznika, i na stronie WSMusmeters ładnie dekoduje, ale właśnie jako minomess.
A z tego co rozumiem, to w komponencie nie ma tej obsługi? Niby to jakiś Apator, ale na naklejce ma “APT-OMS-NA-2”

Ustaw jako driver bmeters albo qwater, powinno zadziałać.

Niestety nie pomogło - oba się wykładają na dekodowaniu “telegramu”.

Co znaczy wykładają? Podeślij ten telegram.

[14:10:56][I][wmbus:071]: Using driver ‘bmeters’ for ID [0x03094702] RSSI: -76 dBm LQI: 130 T: 4E440106024709030B077AC8204085F5FC88948F30E859DE5D3826F68486C96EFB5F0BB2B8BD0C920A6D82BD7B6D4E1437955F8243ACA3E217EC03E52AF07FD8DE37C0D34C1EB89884D55CE7FE734C (79)
[14:10:56][D][wmbus:077]: Decrypted T : 4E440106024709030B077AC82040852F2F0413BF26070002279B0304933C0000000003FD17900000023B010084046D3B37DF2C840413E18506008D04931F0AD8DE37C0D34C1EB89884D55CE7FE734C (79)
[14:10:56][E][wmbus:153]: Can’t get value from telegram for ID [0x03094702] ‘bmeters’
[14:10:56][E][wmbus:154]: T : 4E440106024709030B077AC82040852F2F0413BF26070002279B0304933C0000000003FD17900000023B010084046D3B37DF2C840413E18506008D04931F0AD8DE37C0D34C1EB89884D55CE7FE734C (79)

@Kirsen Dla tych telegramów daj ultrimis jako driver.

Zadziałało, dzięki wielkie!

1 polubienie

Czesc, mam podobny problem co kolega w powyzszym wątku. Mianowicie mam nakladke radiowa Apator O3A-3 i dongla esp32 monemcu + cc1101 + projekt wmbus-reader Macieja Woszczynskiego - zlapalem ramke licznika ale przy probach roznych driverow nie udaje sie uzyskac odczytu. Jak sprawdzam ramke na wmbusmeters.org przy wyborze konkretnego drivera nie dekoduje ramki ale widze na dole opisu ‘encrypted’. Jak dodam key zlozony z 32zer to dekoduje ramke w kilku driverach ( w komentarzu pokazuje ze driver minomess jest najlepszy), natomiast jesli to samo wrzucam do kodu esphome to nie potrafi dekodować telegramu. Jelp!

Cytat
przykladowa ramka:
T: 5E440106179340060C077A03005085E91F1E7B38E42E4399BBC76AC214DDC3D9F5DC246CBACB55862A79B402B4C3B36576A441E19AF47246AE29D482C033534F652694B3A03574AEC45ACB5BBE4D9B1DC65BED5E30087F45A6A3EBA656426B

I dostaje komunikat:

Cytat
|20:14:09|[I]|[wmbus:084]|Using driver ‘hydrus’ for ID [0x06409317] RSSI: -55 dBm LQI: 128 Mode: T1 T: 5E440106179340060C077A03005085E91F1E7B38E42E4399BBC76AC214DDC3D9F5DC246CBACB55862A79B402B4C3B36576A441E19AF47246AE29D482C033534F652694B3A03574AEC45ACB5BBE4D9B1DC65BED5E30087F45A6A3EBA656426B (95)|
| — | — | — | — |
|20:14:09|[E]|[wmbus:163]|Can’t get value from telegram for ID [0x06409317] ‘hydrus’|
|20:14:09|[E]|[wmbus:164]|T : 5E440106179340060C077A03005085E91F1E7B38E42E4399BBC76AC214DDC3D9F5DC246CBACB55862A79B402B4C3B36576A441E19AF47246AE29D482C033534F652694B3A03574AEC45ACB5BBE4D9B1DC65BED5E30087F45A6A3EBA656426B (95)|
|20|

Natomiast wmbusmeters dekoduje tak:

Cytat
Telegram:
5e440106179340060c077a03005085e91f1e7B38e42e4399BBc76ac214ddc3d9f5dc246cBacB55862a79B402B4c3B36576a441e19af47246ae29d482c033534f652694B3a03574aec45acB5BBe4d9B1dc65Bed5e30087f45a6a3eBa656426B
Driver:
hydrus
Decryption key:
00000000000000000000000000000000
Analyze
telegram=|5E440106179340060C077A030050852F2F_046D0CB4E22A03FD170000000227A80004156F000000023D000084046D3BB7FF258404150A0000008D04951F1234FE0A0000000A0000000A0000006A0000000F2F2F2F2F2F2F2F2F2F2F2F2F2F2F|
Auto driver : not found!
Best driver : minomess 16/56
Using driver : hydrus 00/00
000 : 5e length (94 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : 0106 dll-mfct (APA)
004 : 17934006 dll-id (06409317)
008 : 0c dll-version
009 : 07 dll-type (Water meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : 03 tpl-acc-field
012 : 00 tpl-sts-field (OK)(OK)
013 : 5085 tpl-cfg 8550 (bidirectional AES_CBC_IV nb=5 cntn=0 ra=0 hc=0 )
015 : 2f2f decrypt check bytes (OK)
017 : 04 dif (32 Bit Integer/Binary Instantaneous value)
018 : 6D vif (Date and time type)
019 C!: 0CB4E22A (“meter_datetime”:“2023-10-02 20:12”)
023 : 03 dif (24 Bit Integer/Binary Instantaneous value)
024 : FD vif (Second extension FD of VIF-codes)
025 : 17 vife (Error flags (binary))
026 C?: 000000
029 : 02 dif (16 Bit Integer/Binary Instantaneous value)
030 : 27 vif (Operating time days)
031 C!: A800 (“operating_time_h”:4032)
033 : 04 dif (32 Bit Integer/Binary Instantaneous value)
034 : 15 vif (Volume 10⁻¹ m³)
035 C!: 6F000000 (“total_m3”:11.1)
039 : 02 dif (16 Bit Integer/Binary Instantaneous value)
040 : 3D vif (Volume flow 10⁻¹ m³/h)
041 C!: 0000 (“flow_m3h”:0)
043 : 84 dif (32 Bit Integer/Binary Instantaneous value)
044 : 04 dife (subunit=0 tariff=0 storagenr=8)
045 : 6D vif (Date and time type)
046 C?: 3BB7FF25
050 : 84 dif (32 Bit Integer/Binary Instantaneous value)
051 : 04 dife (subunit=0 tariff=0 storagenr=8)
052 : 15 vif (Volume 10⁻¹ m³)
053 C?: 0A000000
057 : 8D dif (variable length Instantaneous value)
058 : 04 dife (subunit=0 tariff=0 storagenr=8)
059 : 95 vif (Volume 10⁻¹ m³)
060 : 1F combinable vif (CompactProfile)
061 : 12 varlen=18
062 C?: 34FE0A0000000A0000000A0000006A000000
080 C?: 0F manufacturer specific data 2F2F2F2F2F2F2F2F2F2F2F2F2F2F
{
“media”:“water”,
“meter”:“hydrus”,
“name”:“”,
“id”:“06409317”,
“flow_m3h”:0,
“operating_time_h”:4032,
“total_m3”:11.1,
“meter_datetime”:“2023-10-02 20:12”,
“status”:“OK”,
“timestamp”:“2023-10-02T18:17:06Z”
}
Using: wmbusmeters: 1.14.0-19-g0b852fb
0b852fb420a931984b231eb363a1826091299761

Spedzilem nad tym juz dwa dni i nie moge dojsc dlaczego wmbusmeters.org dekoduje a wrzucone do kodu nie dziala. Moze macie pomysl jak to rozkodowac w HomeAssistant espHome? Moze kolega @_Szczepan cos pomoze? Pliz

EDIT:

Cześć, mam problem z odczytaniem telegramu wysylanego przez Apator APT-O3A-3. Uzywam ESP32 z nakladka radiowa. I dostaje komunikat jak ponizej:

|12:55:31|[I]|[wmbus:084]|Using driver ‘apator162’ for ID [0x06409317] RSSI: -55 dBm LQI: 128 Mode: T1 T: 5E440106179340060C077A500050853F8EF7852D1CF07E72091BEBB7D540FC6B0496D07DE9684ACE1F99ECCA9FDFD2C4490DD026C8F73DCC3AF77D18B81BB26F15C112550AF7B2A623F3E77BBDE0A3BDA74B067C6630950411E223EAF4C91C (95)|
| — | — | — | — |
|12:55:31|[D]|[wmbus:090]|Decrypted T : 5E440106179340060C077A500050852F2F046D35ACE32A03FD170000000227A900041570000000023D000084046D3BB7FF258404150A0000008D04951F12346F15C112550AF7B2A623F3E77BBDE0A3BDA74B067C6630950411E223EAF4C91C (95)|
|12:55:31|[E]|[wmbus:163]|Can’t get value from telegram for ID [0x06409317] ‘apator162’|
|12:55:31|[E]|[wmbus:164]|T : 5E440106179340060C077A500050852F2F046D35ACE32A03FD170000000227A900041570000000023D000084046D3BB7FF258404150A0000008D04951F12346F15C112550AF7B2A623F3E77BBDE0A3BDA74B067C6630950411E223EAF4C91C (95)|

Z kolei na stronie wmbusmeters.org udaje sie poprawnie odczytac stan licznika przy podaniu drivera auto (bo jesli nie wybiore ‘auto’ to zadnym z driverow nie daje sie odczytać stanu licznika.
Komunikaty z dekodowania telegramu z wmbusmeters.org:

telegram=|5E440106179340060C077A510050852F2F_046D39ACE32A03FD170000000227A900041570000000023D000084046D3BB7FF258404150A0000008D04951F123430BEBF3F4B617B920E344A55C18BA49139624BF208EB5558CFF5CE6B7B47490E|
Auto driver : not found!
Best driver : minomess 16/49
Using driver : minomess 16/49
000 : 5e length (94 bytes)
001 : 44 dll-c (from meter SND_NR)
002 : 0106 dll-mfct (APA)
004 : 17934006 dll-id (06409317)
008 : 0c dll-version
009 : 07 dll-type (Water meter)
010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh))
011 : 51 tpl-acc-field
012 : 00 tpl-sts-field (OK)
013 : 5085 tpl-cfg 8550 (bidirectional AES_CBC_IV nb=5 cntn=0 ra=0 hc=0 )
015 : 2f2f already decrypted check bytes
017 : 04 dif (32 Bit Integer/Binary Instantaneous value)
018 : 6D vif (Date and time type)
019 C!: 39ACE32A (“meter_datetime”:“2023-10-03 12:57”)
023 : 03 dif (24 Bit Integer/Binary Instantaneous value)
024 : FD vif (Second extension FD of VIF-codes)
025 : 17 vife (Error flags (binary))
026 C?: 000000
029 : 02 dif (16 Bit Integer/Binary Instantaneous value)
030 : 27 vif (Operating time days)
031 C!: A900 (“operating_time_h”:4056)
033 : 04 dif (32 Bit Integer/Binary Instantaneous value)
034 : 15 vif (Volume 10⁻¹ m³)
035 C!: 70000000 (“total_m3”:11.2)
039 : 02 dif (16 Bit Integer/Binary Instantaneous value)
040 : 3D vif (Volume flow 10⁻¹ m³/h)
041 C!: 0000 (“volume_flow_m3h”:0)
043 : 84 dif (32 Bit Integer/Binary Instantaneous value)
044 : 04 dife (subunit=0 tariff=0 storagenr=8)
045 : 6D vif (Date and time type)
046 C?: 3BB7FF25
050 : 84 dif (32 Bit Integer/Binary Instantaneous value)
051 : 04 dife (subunit=0 tariff=0 storagenr=8)
052 : 15 vif (Volume 10⁻¹ m³)
053 C!: 0A000000 (“target_m3”:1)
057 : 8D dif (variable length Instantaneous value)
058 : 04 dife (subunit=0 tariff=0 storagenr=8)
059 : 95 vif (Volume 10⁻¹ m³)
060 : 1F combinable vif (CompactProfile)
061 : 12 varlen=18
062 C?: 3430BEBF3F4B617B920E344A55C18BA49139
080 : 62 dif (16 Bit Integer/Binary Minimum value storagenr=1)
081 : 4B vif (Volume flow ext. cm³/s)
082 C?: F208
084 : EB dif (6 digit BCD Minimum value storagenr=1)
085 : 55 dife (subunit=1 tariff=1 storagenr=11)
086 : 58 vif (Flow temperature 10⁻³ °C)
087 C?: CFF5CE
090 : 6B dif (6 digit BCD Minimum value storagenr=1)
091 : 7B vif (First extension FB of VIF-codes)
092 C?: 47490E
{
“media”:“water”,
“meter”:“minomess”,
“name”:“”,
“id”:“06409317”,
“operating_time_h”:4056,
“target_m3”:1,
“total_m3”:11.2,
“volume_flow_m3h”:0,
“meter_datetime”:“2023-10-03 12:57”,
“timestamp”:“2023-10-03T11:04:12Z”

w kodzie mam taki zapis:

  - platform: wmbus
    meter_id: 0x06409317
    type: apator162
    add_prefix: false
    key: "00000000000000000000000000000000"
    lqi:
      name: "My lqi"
    rssi:
      name: "My RSSI"
    total_water_m3:
      name: "stan licznika m3"

Probowalem roznych modeli w polu ‘type:’ i zarowno z kluczem i bez klucza.
Może ktoś ma pomysł jak zapisać w kodzie aby poprawnie odczytalo licznik?
Bo rozumiem ze mbusmeters.org powinno być spójne z projektem github://SzczepanLeon/esphome-components@main?
z gory dziekuje za pomysly :slight_smile:

Źle rozumiesz, za pomocą firmware SzczepanLeon można rozkodować wybrane typy ramek (zgodnie z jego dokumentacją), a oprócz tego dowolne typy ramek można wysłać do instalacji wmbumeters po sieci (też jest to w dokumentacji) i sobie je tam odkodować.

Zgodnie z dokumentacją minomess nie jest obsługiwany

więc musisz mieć zainstalowany wmbusmeters i skonfigurować to w/g tej części dokumentacji

PS próbowałeś oczywiście z innymi driverami, które są obsługiwane?

Dzieki za odpowiedz - czyli jest nadzieja…tylko wiecej roboty …bede próbować instalować wmbusmeters.
Gdy wbijalem telegramy z kodem na wmbusmeters to niby dzialaly inne drivery (sprawdzalem apatora, bmeters, elf, hydrus, iperl, itron, izar, qwater, ultrimis, unismart), ale to chyba tylko minomess je odkodowywal jako tryb ‘auto’ - mimo ze go nie wybieralem. W wersji Apator08 cos tam dekodowal ale to byly zupelnie niepoprawne wartosci - tylku 749328 m3 przy realnym odczycie 11m3. Szkoda ze Apator zmienia kodowanie w kazdym modelu.

A próbowałeś ultrimis albo qwater?
bo widzę że przykładowy telegram z posta powyżej się dekoduje na obu
https://wmbusmeters.org/analyze/5e440106179340060c077a510050852f2f046d39ace32a03fd170000000227a900041570000000023d000084046d3BB7ff258404150a0000008d04951f123430BeBf3f4B617B920e344a55c18Ba49139624Bf208eB5558cff5ce6B7B47490e:ultrimis

to co masz na zielono to poprawnie zdekodowane dane na danym driverze

https://wmbusmeters.org/analyze/5e440106179340060c077a510050852f2f046d39ace32a03fd170000000227a900041570000000023d000084046d3BB7ff258404150a0000008d04951f123430BeBf3f4B617B920e344a55c18Ba49139624Bf208eB5558cff5ce6B7B47490e:qwater

minomess dekoduje najwięcej, ale powinieneś popróbować tych powyżej
https://wmbusmeters.org/analyze/5e440106179340060c077a510050852f2f046d39ace32a03fd170000000227a900041570000000023d000084046d3BB7ff258404150a0000008d04951f123430BeBf3f4B617B920e344a55c18Ba49139624Bf208eB5558cff5ce6B7B47490e:minomess

Tak probowalem ich i wlasnie mam to samo - na stronie dekoduje a w esphome jzu nie. Ale na stronie bierze chyba jednak ten minomess (tam jest jakos best driver).

Na stronie bierze taki driver jaki się wybierze z listy - przejrzyj linki - wybrałem tam 3 różne drivery i za każdym razem jest odkodowany inny podzbiór danych, ale za każdym razem prawidłowe zużycie.

Firmware ma tylko niektóre drivery zaimplementowane.

Logi które wrzuciłeś są z drivera apator162, więc zupełnie od czapy, zobacz, że na tym driverze masz czerwień wszędzie
https://wmbusmeters.org/analyze/5e440106179340060c077a510050852f2f046d39ace32a03fd170000000227a900041570000000023d000084046d3BB7ff258404150a0000008d04951f123430BeBf3f4B617B920e344a55c18Ba49139624Bf208eB5558cff5ce6B7B47490e:apator162

Konfiguracje innych driverów mogą być inne niż apator162 (może być np. wymagany brak klucza)

niestety - mam taki wynik:

[14:22:36][I][wmbus:084]: Using driver 'qwater' for ID [0x06409317] RSSI: -55 dBm LQI: 128 Mode: T1 T: 5E440106179340060C077A57005085C2F3419B073E3496886F0D6EE42BB7D69B5F6B4889D6790834D39C1F5E8707301A493EEFE7BB590ABAE55E4D42075A246E9B9E1BA2F212F0890B03F0E8C06F8147C8E9DEA32DC7D96973449F8B00BA03 (95)
[14:22:36][E][wmbus:163]: Can't get value from telegram for ID [0x06409317] 'qwater'
[14:22:36][E][wmbus:164]: T : 5E440106179340060C077A57005085C2F3419B073E3496886F0D6EE42BB7D69B5F6B4889D6790834D39C1F5E8707301A493EEFE7BB590ABAE55E4D42075A246E9B9E1BA2F212F0890B03F0E8C06F8147C8E9DEA32DC7D96973449F8B00BA03 (95)

a kod taki:

- platform: wmbus
    meter_id: 0x06409317
    type: qwater
    add_prefix: false
    #key: "00000000000000000000000000000000"
    lqi:
      name: "My lqi"
    rssi:
      name: "My RSSI"
    total_water_m3:
      name: "stan licznika m3"

z kluczem tez sprawdzalem...wiec moze to inaczej trzeba jakos?

driver qwater z kluczem i bez nie dzialają, a ultrimis daje taki efekt:

[14:39:05][I][wmbus:084]: Using driver 'ultrimis' for ID [0x06409317] RSSI: -55 dBm LQI: 128 Mode: T1 T: 5E440106179340060C077A59005085B7275F859C90C6E6179914629D5F48A8E2F015CE8519BAD318832C36C162164447489EB93737316E90731C5845359371F6DD93BEF523B475E5132B6B6516166DF3541F2F9DC4A628D6679595093B5949 (95)
[14:39:05][E][wmbus:163]: Can't get value from telegram for ID [0x06409317] 'ultrimis'
[14:39:05][E][wmbus:164]: T : 5E440106179340060C077A59005085B7275F859C90C6E6179914629D5F48A8E2F015CE8519BAD318832C36C162164447489EB93737316E90731C5845359371F6DD93BEF523B475E5132B6B6516166DF3541F2F9DC4A628D6679595093B5949 (95)

i wlasnie tez zauwazylem ze czasem dekoduje bez klucza a czasem z kluczem, zatem chyba jakis bug na stronie jest - albo bierze caly czas ten minomess…

zaraz zaraz, ale tego telegramu nawet nie dekoduje wmbusmeters
https://wmbusmeters.org/analyze/5E440106179340060C077A57005085C2F3419B073E3496886F0D6EE42BB7D69B5F6B4889D6790834D39C1F5E8707301A493EEFE7BB590ABAE55E4D42075A246E9B9E1BA2F212F0890B03F0E8C06F8147C8E9DEA32DC7D96973449F8B00BA03

tzn. dekoduje z kluczem 0000000000000000
https://wmbusmeters.org/analyze/5e440106179340060c077a57005085c2f3419B073e3496886f0d6ee42BB7d69B5f6B4889d6790834d39c1f5e8707301a493eefe7BB590aBae55e4d42075a246e9B9e1Ba2f212f0890B03f0e8c06f8147c8e9dea32dc7d96973449f8B00Ba03:ultrimis:0000000000000000

wlasnie to pisalem w edicie posta powyzej…jakos sie udaje dekodowac na wmbusmeters ale raz z kluczem a innym razem bez klucza…dziwne

To nie bug na stronie tylko driver sobie nie radzi z sytuacją, najwyraźniej są 2 typy ramek nadawane naprzemiennie.

ale z kluczem tez nie dekoduje zadnego telegramu:

14:46:15	[D]	[wmbus:090]	
Decrypted T : 5E440106179340060C077A590050852F2F046D2CAEE32A03FD170000000227A900041571000000023D000084046D3BB7FF258404150A0000008D04951F12343B04F206DB2D48325F128ADC6354A77C07B79C21A2C05221235731B0329295D6 (95)
14:46:15	[E]	[wmbus:163]	
Can't get value from telegram for ID [0x06409317] 'ultrimis'
14:46:15	[E]	[wmbus:164]	
T : 5E440106179340060C077A590050852F2F046D2CAEE32A03FD170000000227A900041571000000023D000084046D3BB7FF258404150A0000008D04951F12343B04F206DB2D48325F128ADC6354A77C07B79C21A2C05221235731B0329295D6 (95)
14:46:15	[W]	[component:204]	
Component wmbus took a long time for an operation (0.09 s).
14:46:15	[W]	[component:205]	
Components should block for at most 20-30ms.
14:46:34	[D]	[sensor:094]	
'WiFi Signal dB': Sending state -70.00000 dBm with 0 decimals of accuracy
14:47:34	[D]	[sensor:094]	
'WiFi Signal dB': Sending state -69.00000 dBm with 0 decimals of accuracy
14:48:25	[I]	[wmbus:084]	
Using driver 'ultrimis' for ID [0x06409317] RSSI: -55 dBm LQI: 128 Mode: T1 T: 5E440106179340060C077A59005085E12CAF13E553180A535BF42BB23E1B3DA0929F1E15A8D98326345C26C6ABD6A59DB01B3A4DFA58F83E990A258021318B1A6B8E5467E316A6CBCA0057220BB2A9187540DF3CB31D267079B863A381ED9D (95)
14:48:25	[D]	[wmbus:090]	
Decrypted T : 5E440106179340060C077A590050852F2F046D2EAEE32A03FD170000000227A900041571000000023D000084046D3BB7FF258404150A0000008D04951F12341A6B8E5467E316A6CBCA0057220BB2A9187540DF3CB31D267079B863A381ED9D (95)
14:48:25	[E]	[wmbus:163]	
Can't get value from telegram for ID [0x06409317] 'ultrimis'
14:48:25	[E]	[wmbus:164]	
T : 5E440106179340060C077A590050852F2F046D2EAEE32A03FD170000000227A900041571000000023D000084046D3BB7FF258404150A0000008D04951F12341A6B8E5467E316A6CBCA0057220BB2A9187540DF3CB31D267079B863A381ED9D (95)

No to pozostaje dekodować w wmbusmeters.

ale w sumie dziwne, bo kluczowe dane dekoduje też qwater jakkolwiek pełną wiedze ma chyba tylko autor komponentu.

tak jest,
dziekuje za podlinkowanie podpowiedzi.