Odczyt nakładki wodomierza Apator w wmbusmeters

Hej, mam w domu licznik z nakładką Apator. Używam wmbusmeters w wersji 1.16.1-105-g6874b33 jako kontener dockerowy z donglem USB DVB-T RTL2832U. Gdy korzystam z narzędzia rtl_433, widzę nadchodzące telegramy:

# rtl_433 -R 104 -f 868.95M
rtl_433 version 23.11-153-g38214989 branch master at 202408022150 inputs file rtl_tcp RTL-SDR

New defaults active, use "-Y classic -s 250k" if you need the old defaults

Found Fitipower FC0012 tuner
[SDR] Using device 0: Realtek, RTL2838UHIDIR, SN: 00000001, "Generic RTL2832U OEM"
Exact sample rate is: 1000000.026491 Hz
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2024-08-14 06:47:48
model     : Wireless-MBus Mode      : T            Manufacturer: APA         ID        : 4950491
Version   : 20           Device Type: 0x07         Device Type String: Water Control   : 0x44
Data Length: 29          Data      : 1a440106910495041407a09b015685b0a5378a6a897bb49cc24c2b0763a4a9
Integrity : CRC
Control Info: 0xA0       Access number: 0x00       Device Type: 0x00         Configuration Word: 0x0000
Max Volume flow[0]: 4910.601 m3/min                Max Volume of month -1: 0.000 m3
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2024-08-14 06:47:57
model     : Wireless-MBus Mode      : T            Manufacturer: APA         ID        : 4950491
Version   : 20           Device Type: 0x07         Device Type String: Water Control   : 0x44
Data Length: 29          Data      : 1a440106910495041407a19c014b2b259fb80804dadc741ae14a7913d7e242
Integrity : CRC
Control Info: 0xA1       Access number: 0x00       Device Type: 0x00         Configuration Word: 0x0000
Max Volume flow[0]: 4910.601 m3/min                Max Volume of month -1: 0.000 m3

Mogę zdekodować telegram:

/wmbusmeters/wmbusmeters --analyze=apator08 1a440106910495041407a09b015685b0a5378a6a897bb49cc24
c2b0763a4a9
(wmbus) telegram length byte (the first) 0x1a (26) is probably wrong. Expected 0x1e (30) based on the length of the telegram.
Auto driver    : not found!
Similar driver : unknown 00/00
Using driver   : apator08 00/00
000   : 1a length (26 bytes)
001   : 44 dll-c (from meter SND_NR)
002   : 0106 dll-mfct (APA)
004   : 91049504 dll-id (04950491)
008   : 14 dll-version
009   : 07 dll-type (Water meter)
010   : a0 tpl-ci-field (Mfct specific)
011 C?: 9B015685B0A5378A6A897BB49CC24C2B0763A4A9 mfct specific
025 C!: *** 10|9b015685 total consumption (-685987.020333 m3)

{
    "media":"water",
    "meter":"apator08",
    "name":"",
    "id":"04950491",
    "total_m3":-685987.020333,
    "timestamp":"2024-08-14T06:52:58Z"
}

lub

(wmbus) telegram length byte (the first) 0x1a (26) is probably wrong. Expected 0x1e (30) based on the length of the telegram.
Auto driver    : not found!
Similar driver : unknown 00/00
Using driver   : apator08 00/00
000   : 1a length (26 bytes)
001   : 44 dll-c (from meter SND_NR)
002   : 0106 dll-mfct (APA)
004   : 91049504 dll-id (04950491)
008   : 14 dll-version
009   : 07 dll-type (Water meter)
010   : a0 tpl-ci-field (Mfct specific)
011 C?: D101F8B5718E75FBED2EB1EC2919234B8846A985 mfct specific
025 C!: *** 10|d101f8b5 total consumption (-414012.602333 m3)

{
    "media":"water",
    "meter":"apator08",
    "name":"",
    "id":"04950491",
    "total_m3":-414012.602333,
    "timestamp":"2024-08-14T06:57:01Z"
}

lub

(wmbus) telegram length byte (the first) 0x1a (26) is probably wrong. Expected 0x1e (30) based on the length of the telegram.
Auto driver    : not found!
Similar driver : unknown 00/00
Using driver   : apator08 00/00
000   : 1a length (26 bytes)
001   : 44 dll-c (from meter SND_NR)
002   : 0106 dll-mfct (APA)
004   : 91049504 dll-id (04950491)
008   : 14 dll-version
009   : 07 dll-type (Water meter)
010   : a0 tpl-ci-field (Mfct specific)
011 C?: CB01DD0BE29955BA01688574416EEF3EF0913A96 mfct specific
025 C!: *** 10|cb01dd0b total consumption (66344.430333 m3)

{
    "media":"water",
    "meter":"apator08",
    "name":"",
    "id":"04950491",
    "total_m3":66344.430333,
    "timestamp":"2024-08-14T06:56:17Z"
}

Wszystkie powyższe telegramy odebrałem w krótkim oknie czasowym (kilka minut), ale jak widać atrybut total_m3 mocno różni się za każdym razem, w dodatku czasem jest liczbą ujemną. Wiecie dlaczego tak jest?

Drugim problemem jest to, że gdy odpalę wmbusmeters do nasłuchu, to niestety tych telegramów nie widać w ogóle, może tak wisieć kilka godzin:

# docker-compose logs -f wmbusmeters
wmbusmeters  | Started config rtlwmbus[00000001] listening on none
wmbusmeters  | No meters configured. Printing id:s of all telegrams heard!

Mój wmbusmeters.conf (próbowałem mnóstwa opcji):

lloglevel=normal
device=rtlwmbus
logtelegrams=true
format=json
meterfiles=/wmbusmeters_data/logs/meter_readings
meterfilesaction=overwrite
logfile=/dev/stdout

@dobrogi mam też nakładkę Apator i od lat korzystam z dodatku do HA - GitHub - wmbusmeters/wmbusmeters-ha-addon: To become the new public ha-addon repository for wmbusmeters. i wszystko działa poprawnie. Moja konfiguracja z tego dodatku:

device=rtlwmbus:868.9M:t1
donotprobe=/dev/ttyAMA0
format=json
logfile=/dev/stdout
loglevel=normal
logtelegrams=false
shell=/wmbusmeters/mosquitto_pub.sh "wmbusmeters/$METER_NAME" "$METER_JSON"

Tu masz 2x “l”.

Dzięki. Musiałem się pomylić przy wklejaniu. W configu jest ok.

Z jaką nakładką Apator?

czy ten wynik jest prawdopodobny?
https://wmbusmeters.org/analyze/1a440106910495041407a19c014b2b259fb80804dadc741ae14a7913d7e242:apator08:000000000000

Apator APT-WMBUS-NA-1 (HW:02)

Wskazania licznika powinny teraz być w okolicach 350-400 m3, więc niestety wynik nie pasuje.

Spróbowałem użyć powyższej konfiguracji użytkownika @macek, niestety output jest następujący:

wmbusmeters  | No such key:
wmbusmeters  | No wmbus device detected, waiting for a device to be plugged in.
wmbusmeters  | No meters configured. Printing id:s of all telegrams heard!

Czyli w Twoim dockerze nie widać podłączonego urządzenia albo urządzenie jest używane przez inny kontener dlatego ja jestem leniwy i używam dodatków, które rozwiązuja sporo problemów konfiguracyjnych, po prostu ułatwiam sobie życie :grin:.

To proste - użyłem sterownika dla innej nakładki (apator08), jeśli w tym serwisie online, do którego linkowałem nie jesteś prawidłowo rozkodować swoich telegramów, to nie zrobi tego też lokalny wmbusmeters więc zacznij tu
https://wmbusmeters.org/

być może sterownik dla tych nakładek nadal nie istnieje, ale poszukaj w issues na githubie

Z moim konfigiem wykrywa urządzenie. rtl_433 używałem na tym samym kontenerze wmbusmeters, więc urządzenie działa i jest widoczne. U mnie HA działa jako kontener, więc nie mam możliwości instalowania dodatków. Poza tym dodatek, to też kontener, więc zawsze mogę go uruchomić samodzielnie.

Jest dyskusja na temat obsługi tego urządzenia w mbusmeters:

Wygląda, że jeszcze nie ma działającego natywnego rozwiązania, choć skrypt do którego zalinkowałem powyżej faktycznie zwrócił mi poprawną wartość licznika. Trzeba śledzić postępy, może wkrótce dorzucą obsługę tej nakładki.

Pomijając to, że licznik nie jest wspierany przez wmbusmeters, to czy mimo wszystko telegramy nie powinny być widoczne z błędnie zdekodowanymi odczytami?

Jak nie ma drivera to nie ma też presetu, więc musiałbyś sobie zdefiniować urządzenie (licznik) ręcznie. Swoją drogą nawet jak będzie driver to nadal nie musi być presetu autodetekcji, więc pewnie też będziesz musiał sobie to ogarnąć.