Wmbusmeters brak odczytu telegramów

Cześć,
Od jakiegoś czasu walczę z wmbusmeters. Pewnego dnia przestał raportować w logach telegramy.
Niby działa ale nie ma żadnego telegramu.
Czy ktoś może podpowiedzieć co może się dziać ?
Dzięki z góry za pomoc.

wmbusmeters.log
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M

Logi z dodatku
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nginx.sh
cont-init: info: /etc/cont-init.d/nginx.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
s6-rc: info: service legacy-services successfully started
[17:12:52] INFO: CONFIG_CONF …
[17:12:52] INFO: {“device”:“rtlwmbus:868.9M:t1”,“format”:“json”,“logfile”:"/config/wmbusmeters/wmbusmeters.log",“loglevel”:“normal”,“logtelegrams”:true,“meterfiles”:"/config/wmbusmeters/logs/meter_readings/",“shell”:"/wmbusmeters/mosquitto_pub.sh “wmbusmeters/$METER_NAME” “$METER_JSON”"}
[17:12:52] INFO: CONFIG_METERS …
[17:12:52] INFO: [{“driver”:“apator162”,“id”:“01071599”,“key”:“00000000000000000000000000000000”,“meterfilesnaming”:“meter-0001”,“name”:“WaterMeterZimna”},{“driver”:“apator162”,“id”:“00024963”,“key”:“00000000000000000000000000000000”,“meterfilesnaming”:“meter-0002”,“name”:“WaterMeterCiepla”},{“driver”:“fhkvdataiii”,“id”:“10315473”,“key”:“00000000000000000000000000000000”,“meterfilesnaming”:“meter-0003”,“name”:“MiernikCieplaSypialnia”}]
[17:12:52] INFO: Syncing wmbusmeters configuration …
[17:12:52] INFO: Registering meters …
[17:12:52] INFO: Adding meter-0001 …
[17:12:53] INFO: Adding meter-0002 …
[17:12:53] INFO: Adding meter-0003 …
[17:12:53] INFO: Generating MQTT configuration …
[17:12:55] INFO: Broker 192.168.0.111 will be used.
[17:12:56] INFO:
MQTT Discovery …
tar: wmbusmeters-master/ha-addon/mqtt_discovery: not found in archive
[17:12:58] INFO: Adding meter: WaterMeterZimna …
[17:12:58] INFO: File /config/wmbusmeters/etc/mqtt_discovery/apator162.json not found.
[17:12:58] INFO: Adding meter: WaterMeterCiepla …
[17:12:58] INFO: File /config/wmbusmeters/etc/mqtt_discovery/apator162.json not found.
[17:12:58] INFO: Adding meter: MiernikCieplaSypialnia …
[17:12:58] INFO: File /config/wmbusmeters/etc/mqtt_discovery/fhkvdataiii.json not found.
[17:12:58] INFO: MQTT Discovery cleanup…
[17:12:59] INFO: Starting web configuration service.
[17:12:59] INFO: Running wmbusmeters …
Found invalid key “meterfilesnaming” in meter config file
[17:13:01] INFO: Starting Nginx…
2023/07/15 17:13:01 [notice] 84#84: using the “epoll” event method
2023/07/15 17:13:01 [notice] 84#84: nginx/1.24.0
2023/07/15 17:13:01 [notice] 84#84: OS: Linux 6.1.25
2023/07/15 17:13:01 [notice] 84#84: getrlimit(RLIMIT_NOFILE): 1073741816:1073741816
2023/07/15 17:13:01 [notice] 84#84: start worker processes
2023/07/15 17:13:01 [notice] 84#84: start worker process 306

Jeżeli wmbusmeters to dodatek do HA to problem może wynikać z aktualizacji dodatku, sprawdź wersję wmbusmeters przed i po wystąpieniu problemu, wersję poprzednie możesz sprawdź w backupach HA.

Mam najnowszą wersje ale po aktualizacji wydaje mi się że działało. Niestety Backup ma 7 dni do tyłu tylko i tam już mam najnowszą wersje. A jak można zainstalować wersje niższą ?

Automatycznie kasujesz backupy przed dogłębnym przetestowaniem aktualnej konfiguracji?
U siebie niektóre backupy powstające przy aktualizacjach trzymam do 2 lat wstecz (lokalnie można sobie pozwolić, na chmurze i owszem trzymam tylko kilka zbiorczych - koło miesiąca czy 2 wstecz - to w sumie wynik 2 czynników, tego że mam internet LTE z ograniczonym pakietem danych oraz z tego, że bezpłatny gdrive ma stosunkowo niewielką pojemność).
Znany i lubiany Dodatek do backupów na gdrive (który zarządza automatycznymi backupami u mnie) jest na tyle elastyczny, że może ignorować backupy aktualizacyjne, więc można ich sobie trzymać lokalnie tyle ile się na dysku mieści (oczywiście to powoduje konieczność zajęcia się śmietnikiem starych backupów raz na jakiś czas, ale parę razy takie podejście ułatwiło mi życie).


Wracając do tematu - sprawdź dokumentację, bo konfiguracja zmieniła się kiedyś dość radykalnie.

No cóż tak się stało. Masz rację trzeba to u mnie zmienić.

Edit:

Jeszcze trochę grzebałem w konfiguracji jednak nic mi się nie udało.
Loglevel przestawiłem na debug poniżej log.
Jeśli możecie coś podpowiedzieć będę wdzięczny.

Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
(wmbusmeters) version: 1.14.0
(config) using device: rtlwmbus:868.9M:t1
(config) number of meters: 2
(shell) exec (capture output) “/bin/sh”
(shell) arg “-c”
(shell) arg “rtl_sdr < /dev/null”
(shell) output: >>>rtl_sdr, an I/Q recorder for RTL2832 based SDR-receivers
rtl_sdr version 0.8 librtlsdr · GitHub (May 3 2023)
rtl-sdr library 0.8 librtlsdr · GitHub (May 3 2023)

Usage: rtl_sdr -f frequency_to_tune_to [Hz]
[-s samplerate (default: 2048000 Hz)]
[-w tuner_bandwidth (default: automatic)]
[-d device_index or serial (default: 0)]
[-g gain (default: 0 for auto)]
[-p ppm_error (default: 0)]
[-O set RTL driver options seperated with ‘:’, e.g. -O ‘bc=30000:agc=0’ ]
f= set tuner frequency
bw=<bw_in_kHz> set tuner bandwidth
bc=<if_in_Hz> set band center relative to the complex-base-band ‘0’ frequency
puts the tuner frequency onto this if frequency (default: 0)
sb= set tuner sideband/mirror: ‘L’ or ‘0’ for lower side band,
‘U’ or ‘1’ for upper side band. default for R820T/2: ‘L’
agc=<tuner_gain_mode> activates tuner agc with ‘1’. deactivates with ‘0’
gain=<tenth_dB> set tuner gain. 400 for 40.0 dB
ifm=<tuner_if_mode> set R820T/2 tuner’s variable-gain-amplifier (VGA). default: 10011
0: activate agc controlled from RTL2832’s feedback
around 0: set gain in 10th dB. 408 for +40.8 dB
5000+val: set gain to val in 10th dB. 5408 for +40.8 dB
10000+idx: set gain idx 0 … 15: 10015 for maximum gain
dagc=<rtl_agc> set RTL2832’s digital agc (after ADC). 1 to activate. 0 to deactivate
ds=<direct_sampling> deactivate/bypass tuner with 1
dm=<ds_mode_thresh> set dynamic direct threshold mode or threshold frequency:
0: use I & Q; 1: use I; 2: use Q; 3: use I below threshold frequency;
4: use Q below threshold frequency (=RTL-SDR v3)
other values set the threshold frequency
harm=<Nth_harmonic> R820T/2: use Nth harmonic for frequencies above 1.76 GHz. default: 5
vcocmin= set R820T/2 VCO current min: 0…7: higher value is more current
vcocmax= set R820T/2 VCO current max: 0…7
vcoalgo= set R820T/2 VCO algorithm. 0: default. 1: with vcomax=3.9G. 2: Youssef/Carl
Tp=<gpio_pin> set GPIO pin for Bias T, default =0 for rtl-sdr.com compatible V3
T=<bias_tee> 1 activates power at antenna one some dongles, e.g. rtl-sdr.com’s V3
[-b output_block_size (default: 16 * 16384)]
[-n number of samples to read (default: 0, infinite)]
[-S force sync output (default: async)]
[-N no dithering (default: use dithering)]
[-H write wave Header to file (default: off)]
filename (a ‘-’ dumps samples to stdout)

<<<
(shell) return code 1
(shell) 255 exited
(main) rtl_srd found in path
(shell) exec (capture output) “/bin/sh”
(shell) arg “-c”
(shell) arg “rtl_wmbus < /dev/null”
(serial) EVENT thread interrupted
(shell) output: >>><<<
(shell) return code 0
(shell) 256 exited
(serial) EVENT thread interrupted
(main) rtl_wmbus found in path
(main) rtlsdr device 00000001 not currently used.
(main) found specified device (rtlwmbus:868.9M:t1) that matches detected device (:rtlwmbus[00000001]:0/0)
(main) opening rtlwmbus:868.9M:t1
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
(rtlwmbus) using command: /usr/bin/rtl_sdr -d 0 -f 868.9M -s 1.6e6 - 2>/dev/null | /usr/bin/rtl_wmbus
(rtlwmbus) opening 00000001
(bgshell) exec background “/bin/sh”
(bgshell) arg “-c”
(bgshell) arg “/usr/bin/rtl_sdr -d 0 -f 868.9M -s 1.6e6 - 2>/dev/null | /usr/bin/rtl_wmbus”
(serialcmd) opened /bin/sh pid 261 fd 5 (rtlwmbus)
(main) regular reset of rtlwmbus will happen every 82800 seconds
(wmbus) no alarm (expected activity) for rtlwmbus
(serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
(serial) waiting for stop
(serial) EVENT thread interrupted

Wklej jak skonfigurowałeś dodatek.

Wszysko skonfigurowane z interfejsu wmbusmeters, ale wklejam zawartość plików.

/config/wmbusmeters/etc/wmbusmeters.conf

device=rtlwmbus:868.9M:t1
donotprobe=/dev/ttyAMA0
format=json
logfile=/config/wmbusmeters/wmbusmeters.log
loglevel=debug
logtelegrams=true
shell=/wmbusmeters/mosquitto_pub.sh “wmbusmeters/$METER_NAME” “$METER_JSON”

/config/wmbusmeters/etc/wmbusmeters.d/meter-0001

driver=apator162
id=01071599
key=00000000000000000000000000000000
name=WaterMeterZimna

/config/wmbusmeters/etc/wmbusmeters.d/meter-0002

driver=apator162
id=00024963
key=00000000000000000000000000000000
name=WaterMeterCiepla

Wpis:

device=rtlwmbus:868.9M:t1

zastąp

device: rtlwmbus[00000001]:t1

oraz usuń poniższy wpis:

donotprobe=/dev/ttyAMA0

Jeśli liczniki które zdefiniowałeś są Twoje to wpis:

logtelegrams=true

jest zbędny.

Jak zmienisz wklej co pojawia się w pliku:

/config/wmbusmeters/wmbusmeters.log

Zmieniłem conf. poniżej log.

(serial) stopping manager
(serial) MAIN thread interrupted
(serial) closing 1 devices
(shell) sending SIGTERM to process group 261
(bgshell) sent sigterm, now waiting for child 261 to exit.
(serial) EVENT thread interrupted
(serial) event loop stopped!
(serial) TIMER thread interrupted
(bgshell) 261 terminated due to signal 15
(wmbus) disconnected 00000001 rtlwmbus
(serialcmd) closed /bin/sh pid=261 fd=5 (rtlwmbus)
(wmbus) deleted rtlwmbus
(serial) closing 1 devices
(wmbusmeters) version: 1.14.0
(config) using device: rtlwmbus[00000001]:t1
(config) number of meters: 2
(shell) exec (capture output) “/bin/sh”
(shell) arg “-c”
(shell) arg “rtl_sdr < /dev/null”
(shell) output: >>>rtl_sdr, an I/Q recorder for RTL2832 based SDR-receivers
rtl_sdr version 0.8 librtlsdr · GitHub (May 3 2023)
rtl-sdr library 0.8 librtlsdr · GitHub (May 3 2023)

Usage: rtl_sdr -f frequency_to_tune_to [Hz]
[-s samplerate (default: 2048000 Hz)]
[-w tuner_bandwidth (default: automatic)]
[-d device_index or serial (default: 0)]
[-g gain (default: 0 for auto)]
[-p ppm_error (default: 0)]
[-O set RTL driver options seperated with ‘:’, e.g. -O ‘bc=30000:agc=0’ ]
f= set tuner frequency
bw=<bw_in_kHz> set tuner bandwidth
bc=<if_in_Hz> set band center relative to the complex-base-band ‘0’ frequency
puts the tuner frequency onto this if frequency (default: 0)
sb= set tuner sideband/mirror: ‘L’ or ‘0’ for lower side band,
‘U’ or ‘1’ for upper side band. default for R820T/2: ‘L’
agc=<tuner_gain_mode> activates tuner agc with ‘1’. deactivates with ‘0’
gain=<tenth_dB> set tuner gain. 400 for 40.0 dB
ifm=<tuner_if_mode> set R820T/2 tuner’s variable-gain-amplifier (VGA). default: 10011
0: activate agc controlled from RTL2832’s feedback
around 0: set gain in 10th dB. 408 for +40.8 dB
5000+val: set gain to val in 10th dB. 5408 for +40.8 dB
10000+idx: set gain idx 0 … 15: 10015 for maximum gain
dagc=<rtl_agc> set RTL2832’s digital agc (after ADC). 1 to activate. 0 to deactivate
ds=<direct_sampling> deactivate/bypass tuner with 1
dm=<ds_mode_thresh> set dynamic direct threshold mode or threshold frequency:
0: use I & Q; 1: use I; 2: use Q; 3: use I below threshold frequency;
4: use Q below threshold frequency (=RTL-SDR v3)
other values set the threshold frequency
harm=<Nth_harmonic> R820T/2: use Nth harmonic for frequencies above 1.76 GHz. default: 5
vcocmin= set R820T/2 VCO current min: 0…7: higher value is more current
vcocmax= set R820T/2 VCO current max: 0…7
vcoalgo= set R820T/2 VCO algorithm. 0: default. 1: with vcomax=3.9G. 2: Youssef/Carl
Tp=<gpio_pin> set GPIO pin for Bias T, default =0 for rtl-sdr.com compatible V3
T=<bias_tee> 1 activates power at antenna one some dongles, e.g. rtl-sdr.com’s V3
[-b output_block_size (default: 16 * 16384)]
[-n number of samples to read (default: 0, infinite)]
[-S force sync output (default: async)]
[-N no dithering (default: use dithering)]
[-H write wave Header to file (default: off)]
filename (a ‘-’ dumps samples to stdout)

<<<
(shell) return code 1
(shell) 255 exited
(main) rtl_srd found in path
(shell) exec (capture output) “/bin/sh”
(shell) arg “-c”
(shell) arg “rtl_wmbus < /dev/null”
(serial) EVENT thread interrupted
(shell) output: >>><<<
(shell) return code 0
(shell) 256 exited
(main) rtl_wmbus found in path
(main) rtlsdr device 00000001 not currently used.
(serial) EVENT thread interrupted
(main) found specified device (rtlwmbus[00000001]:t1) that matches detected device (:rtlwmbus[00000001]:0/0)
(main) opening rtlwmbus[00000001]:t1
Started config rtlwmbus[00000001] listening on t1
(rtlwmbus) using command: /usr/bin/rtl_sdr -d 0 -f 868.625M -s 1.6e6 - 2>/dev/null | /usr/bin/rtl_wmbus -s
(rtlwmbus) opening 00000001
(bgshell) exec background “/bin/sh”
(bgshell) arg “-c”
(bgshell) arg “/usr/bin/rtl_sdr -d 0 -f 868.625M -s 1.6e6 - 2>/dev/null | /usr/bin/rtl_wmbus -s”
(serialcmd) opened /bin/sh pid 261 fd 5 (rtlwmbus)
(main) regular reset of rtlwmbus will happen every 82800 seconds
(wmbus) no alarm (expected activity) for rtlwmbus
(serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
(serial) waiting for stop
(serial) EVENT thread interrupted

MQTT masz skonfigurowane w HA?, jeśli tak to w ustawieniach mqtt w zakładce “Nasłuch tematu” wpisz jak poniżej i kliknij “Rozpocznij nasłuch”:

P.S. W ustawieniach wmbusmeters zmień jeszcze:

loglevel=debug

na

loglevel=normal

Ostatni wpis z logu

Started config rtlwmbus[00000001] listening on t1

i nasłuch z mqtt niestety stare wpisy tylko

Wiadomość 1 otrzymana w wmbusmeters/WaterMeterCiepla o godzinie 22:34:
{
“media”: “water”,
“meter”: “apator162”,
“name”: “WaterMeterCiepla”,
“id”: “00024963”,
“total_m3”: 12.87,
“timestamp”: “2023-07-10T19:59:47Z”,
“device”: “rtlwmbus[00000001]”,
“rssi_dbm”: 135
}
QoS: 0 - Retain: true
Wiadomość 0 otrzymana w wmbusmeters/WaterMeterZimna o godzinie 22:34:
{
“media”: “water”,
“meter”: “apator162”,
“name”: “WaterMeterZimna”,
“id”: “01071599”,
“total_m3”: 27.133,
“timestamp”: “2023-07-10T19:52:57Z”,
“device”: “rtlwmbus[00000001]”,
“rssi_dbm”: 108
}
QoS: 0 - Retain: true

Ale teraz może być zadziej nadawany sygnał bo noc.

Akurat tego bym nie usuwał w każdej konfiguracji - RPi się np. zawiesza bez tego (tylko jeśli mamy device: auto), ponadto jeśli do sprzętu mamy podłączone niektóre urządzenia serial, to również należy je wykluczyć z procedury autowykrywania (bo powoduje ona nieprzewidywalne rezultaty)

Akurat na RPI nie testowałem ale na pozostałych moich instalacjach wkluczenie tej ścieżki jest zbędne.
Można potestować.

Dokładnie to dotyczy specyficznych konfiguracji RPi (używających Bluetooth), na innych platformach ttyAMA0 nie występuje, więc akurat taki wpis jest zbędny na x86-64, ale autodetekcja dongla wywraca niektóre inne urządzenia (akurat po serialach mam dość sporo popodpinane).

Sensory w HA zdefiniowałeś?, jeśli tak to poczekaj do jutra.

Oki to poczekamy do jutra.
Co do platformy mam to x68-64 na proxmoxie.
A konfiguracje przenosiłem z RPi stąd mogła zostać opcja donotprobe.

No niestety od rana cisza i spokój. Czyli żadnych odczytów :(.

W dodatku zakładkę “MQTT section” skonfigurowałeś?

Dokładnie tak to ma.

Licznik/liczniki też dodałeś w konfiguracji dodatku?

Wklej jeszcze log ze startu dodatku

Hej tak całą konfigurację ma.

Poniżej log ze startu.

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/nginx.sh
cont-init: info: /etc/cont-init.d/nginx.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
s6-rc: info: service legacy-services successfully started
[21:31:58] INFO: CONFIG_CONF …
[21:31:58] INFO: {“device”:“rtlwmbus[00000001]:t1”,“format”:“json”,“logfile”:"/config/wmbusmeters/wmbusmeters.log",“loglevel”:“normal”,“shell”:"/wmbusmeters/mosquitto_pub.sh “wmbusmeters/$METER_NAME” “$METER_JSON”",“logtelegrams”:true}
[21:31:58] INFO: CONFIG_METERS …
[21:31:58] INFO: [{“driver”:“apator162”,“id”:“01071599”,“key”:“00000000000000000000000000000000”,“name”:“WaterMeterZimna”},{“driver”:“apator162”,“id”:“00024963”,“key”:“00000000000000000000000000000000”,“name”:“WaterMeterCiepla”}]
[21:31:58] INFO: Syncing wmbusmeters configuration …
[21:31:58] INFO: Registering meters …
[21:31:58] INFO: Adding meter-0001 …
[21:31:58] INFO: Adding meter-0002 …
[21:31:58] INFO: Generating MQTT configuration …
[21:31:59] INFO: Broker 192.168.0.111 will be used.
[21:31:59] INFO:
MQTT Discovery …
tar: wmbusmeters-master/ha-addon/mqtt_discovery: not found in archive
[21:32:00] INFO: Adding meter: WaterMeterZimna …
[21:32:00] INFO: File /config/wmbusmeters/etc/mqtt_discovery/apator162.json not found.
[21:32:00] INFO: Adding meter: WaterMeterCiepla …
[21:32:00] INFO: File /config/wmbusmeters/etc/mqtt_discovery/apator162.json not found.
[21:32:00] INFO: MQTT Discovery cleanup…
[21:32:01] INFO: Starting web configuration service.
[21:32:01] INFO: Running wmbusmeters …
[21:32:02] INFO: Starting Nginx…
2023/07/18 21:32:02 [notice] 83#83: using the “epoll” event method
2023/07/18 21:32:02 [notice] 83#83: nginx/1.24.0
2023/07/18 21:32:02 [notice] 83#83: OS: Linux 6.1.34
2023/07/18 21:32:02 [notice] 83#83: getrlimit(RLIMIT_NOFILE): 1073741816:1073741816
2023/07/18 21:32:02 [notice] 83#83: start worker processes
2023/07/18 21:32:02 [notice] 83#83: start worker process 273

Włączyłem ponownie logowanie telegramów i niestety nic tu nie ma.
I obawiam się że problem jest z komunikacją między USB Proxmox a HA.