Wmbusmeters (W-MBus to MQTT) jako addon Supervisora

Może to wina tego że mój HA pracuje w Virtualboxie i usb dongle są “użyczane” z windowsa. Druga sprawa to że tuner DVBT nieraz potrafił zniknąć bez przyczyny i potrzebne było wyłączenie całego kompa.

Sam wmbusmeters mocno obciążał mi CPU więc stąd było zużycie energii a nie z uwagi na dongla włożonego w USB

@Bratmat Fajnie by było gdybyś napisał jaki masz procek.

Procesor Intel(R) Core™ i5-4570T CPU @ 2.90GHz, 2901 MHz, Rdzenie: 2, Procesory logiczne: 4

Lenovo M93P tiny

Windows 10 Virtualbox = 1 rdzeń + wątek przeznaczone dla HA OS 9.5

1 polubienie

Hej

Podepnę się pod wątek. Dongiel podłączany pod Windowsa z virtualboxem.
W logach wmbusmeters widzę, że pobiera dane. W Mqtt nasłuch włączyłem również mam, ale w encji nie zbiera. Co robię źle? Co podesłać do analizy?




(shell) exec "/bin/sh"
(shell) arg "-c"
(shell) arg "/wmbusmeters/mosquitto_pub.sh "wmbusmeters/$METER_NAME" "$METER_JSON""
(shell) env "METER_JSON={"media":"water","meter":"izar","name":"Woda-licznik","id":"214ff17b","prefix":"H22KA","serial_number":"016379","total_m3":252.218,"last_month_total_m3":234.128,"last_month_measure_date":"2023-01-01","remaining_battery_life_y":9.5,"current_alarms":"no_alarm","previous_alarms":"no_alarm","transmit_period_s":8,"manufacture_year":"2022","timestamp":"2023-02-13T15:41:26Z","device":"rtlwmbus[00000001]","rssi_dbm":170}"
(shell) env "METER_ID=214ff17b"
(shell) env "METER_NAME=Woda-licznik"
(shell) env "METER_MEDIA=water"
(shell) env "METER_TYPE=izar"
(shell) env "METER_TIMESTAMP=2023-02-13T15:41:26Z"
(shell) env "METER_TIMESTAMP_UTC=2023-02-13T15:41:26Z"
(shell) env "METER_TIMESTAMP_UT=1676302886"
(shell) env "METER_TIMESTAMP_LT=2023-02-13 16:41.26"
(shell) env "METER_DEVICE=rtlwmbus[00000001]"
(shell) env "METER_RSSI_DBM=170"
(shell) env "METER_PREFIX=H22KA"
(shell) env "METER_SERIAL_NUMBER=016379"
(shell) env "METER_TOTAL_M3=252.218"
(shell) env "METER_LAST_MONTH_TOTAL_M3=234.128"
(shell) env "METER_LAST_MONTH_MEASURE_DATE=2023-01-01"
(shell) env "METER_REMAINING_BATTERY_LIFE_Year=9.5"
(shell) env "METER_CURRENT_ALARMS=no_alarm"
(shell) env "METER_PREVIOUS_ALARMS=no_alarm"
(shell) env "METER_TRANSMIT_PERIOD_Second=8"
(shell) env "METER_MANUFACTURE_YEAR=2022"
(shell) waiting for child 4625 to complete.
(shell) /bin/sh: return code 0
(serial) received ascii "T1;1;1;2023-02-13 15:41:44.000;150;144;214FF17B;0x1944304c7bf14f212c04a16113001372447ef7e24c9b4d3e89e7<0A>"
(rtlwmbus) checkRTLWMBusFrame "T1;1;1;2023-02-13 15:41:44.000;150;144;214FF17B;0x1944304c7bf14f212c04a16113001372447ef7e24c9b4d3e89e7<0A>"
(rtlwmbus) received full frame
(wmbus) skipping already handled telegram leng=26.
(serial) received ascii "T1;0;0;2023-02-13 15:41:53.000;173;30;FFF6EDF6;0x1944ff5ff6edf6ffffff03ffffffff71ffffffffffffffffffff<0A>"
(rtlwmbus) checkRTLWMBusFrame "T1;0;0;2023-02-13 15:41:53.000;173;30;FFF6EDF6;0x1944ff5ff6edf6ffffff03ffffffff71ffffffffffffffffffff<0A>"
(rtlwmbus) telegram received but incomplete or with errors, since rtl_wmbus reports that CRC checks failed.
(rtlwmbus) error in received message.
Wiadomość 2 otrzymana w wmbusmeters/Woda-licznik o godzinie 16:47:
{
    "media": "water",
    "meter": "izar",
    "name": "Woda-licznik",
    "id": "214ff17b",
    "prefix": "H22KA",
    "serial_number": "016379",
    "total_m3": 252.218,
    "last_month_total_m3": 234.128,
    "last_month_measure_date": "2023-01-01",
    "remaining_battery_life_y": 9.5,
    "current_alarms": "no_alarm",
    "previous_alarms": "no_alarm",
    "transmit_period_s": 8,
    "manufacture_year": "2022",
    "timestamp": "2023-02-13T15:44:43Z",
    "device": "rtlwmbus[00000001]",
    "rssi_dbm": 168
}
QoS: 0 - Retain: true

To czy encje pojawią się automatycznie w HA zależy od konfiguracji dodatku a dokładnie od opcji:

enable_mqtt_discovery: false

Dla takiej opcji musisz encje dodać sam, przykład jak dodać sensor mqtt jest w poście Nakładka Apator jako urządzenie w HA. Dla wartości true pojawią się automatycznie.

No to u mnie próbowałem zarówno w definicji mqtt, jak i z wartościa true dla mqtt_discovery i nie ma.

Mamy dwie opcje: błędnie zdefiniowana encja mqtt w pliku konfiguracyjnym HA albo trochę “głupie”: czy HA jest poprawnie zintegrowany z tym samym brokerem MQTT co dodatek i z tym do którego się łaczysz? Masz już jakieś encje z MQTT w HA?

Nie mam żadnych encji z MQTT. Konfiguruję MQTT z automatu, nie podawałem żadnych danych, jest na tym samym HA.
Natomiast co masz na myśli błędnie skonfigurowana encja ?

data_path: /config/wmbusmeters
enable_mqtt_discovery: true
conf: |-
  loglevel=debug
  device=rtlwmbus:868.9M:t1
  meterfiles=/config/wmbusmeters/logs/meter_readings/
  donotprobe=/dev/ttyAMA0
  logtelegrams=false
  format=json
  logfile=/dev/stdout
  shell=/wmbusmeters/mosquitto_pub.sh "wmbusmeters/$METER_NAME" "$METER_JSON"
meters:
  - |-
    name=Woda-licznik
    type=izar
    id=214ff17b
    key=
mqtt:
  sensor:
    - name: Licznik Wody Total
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      unit_of_measurement: m³
      state_class: total_increasing
      device_class: water
      value_template: "{{ value_json.total_m3 }}"
      icon: mdi:hand-water
    - name: Licznik Wody Last Month Total
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      unit_of_measurement: m³
      value_template: "{{ value_json.last_month_total_m3 }}"
      icon: mdi:hand-water
    - name: Licznik Wody Last Month Measure Date
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      value_template: "{{ value_json.last_month_measure_date }}"
      icon: mdi:calendar
    - name: Licznik Wody Current Alarms
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      value_template: "{{ value_json.current_alarms }}"
      icon: mdi:alarm-light-outline
    - name: Licznik Wody Previous Alarms
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      value_template: "{{ value_json.previous_alarms }}"
      icon: mdi:alarm-light-outline
    - name: Licznik Wody RSSI
      state_topic: wmbusmeters/214ff17b
      json_attributes_topic: wmbusmeters/214ff17b
      value_template: "{{ value_json.rssi_dbm }}"
      icon: mdi:access-point-network

tu mosquito broker

logins: []
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquito

A MQTT skonfigurowałem w standardzie.

Zamień na:

      value_template: "{{ value_json['total_m3']|float(0) }}"

@kimer prosba: jeszcze raz, dokladnie przeczytaj wszystko co jest napisane w poście Nakładka Apator jako urządzenie w HA, przeczytaj jeszcze raz bo jeżeli @rafkan ma rację w poście poniżej to naprawdę nie wiem co jeszcze mam pisać i jak żeby było czytelne :wink: :

image

image

Dzięki. Poprawiłem w configuration.yaml, dodałem id tam i pokazało się.
Pytanie, dlaczego pomimo, że włączyłem w wmbusmeters na enable_mqtt_discovery: true to nie pokazało mi tych encji automatycznie?

Dołożyłem sobie używaną nakładkę WMBUS do licznika ogrodowego. Licznik widać w Wmbusmeters ale ma inną wartość niż na liczniku bo kupiłem używkę z allegro więc jest z innego licznika. Czy można zrobić jakoś update w firmware czy pozostaje mi przeliczanie z poziomu HA?

raczej nie ustawisz w nakładce wskazań z liczniki.
Jedyne co możesz spróbować zrobić to odłączyć baterię - wtedy nakładka powinna zresetować się i zacząć mierzyć od 0. Ale to musiałbyś poszukać czy w twojej nakładce też tak jest.

Cześć,

Zainstalowałem dodatek, odbieram w jego logach dane o licznikach ale mam problem z MQTT i przekazaniem danych do HA. Mosquitto stoi na osobnej maszynie, z2m korzysta z niego bez problemu i wszystko działa. Gdy podam te same dane serwera + user i hasło w dodatku Wmbus to niestety nie ma łączności. W logach dodatki mam:

[10:50:28] INFO: CONFIG_CONF …
[10:50:28] INFO: {“loglevel”:“normal”,“device”:“rtlwmbus:868.9M:t1”,“donotprobe”:"/dev/ttyAMA0",“logtelegrams”:false,“format”:“json”,“logfile”:"/dev/stdout",“shell”:"/wmbusmeters/mosquitto_pub.sh “wmbusmeters/$METER_NAME” “$METER_JSON”"}
[10:50:28] INFO: CONFIG_METERS …
[10:50:28] INFO: []
[10:50:28] INFO: Syncing wmbusmeters configuration …
[10:50:29] INFO: Registering meters …
[10:50:29] INFO: Generating MQTT configuration …
[10:50:29] INFO: Broker 192.168.31.7 will be used.
[10:50:29] ERROR: Got unexpected response from the API: Service not enabled
MQTT Discovery cleanup…
[10:50:30] INFO: Running wmbusmeters …

Czy ktoś ma podobny problem? To świeża instalacja dodatku, pierwsza konfiguracja.

@koles142

[22:06:08] INFO: Running wmbusmeters ...
Started config rtlwmbus[00000001] listening on t1 using fq 868.9M
No meters configured. Printing id:s of all telegrams heard!

Z tego loga (Problem with MQTT connection · Issue #883 · weetmuts/wmbusmeters · GitHub) wynika, że nie masz skonfigurowanych żadnych liczników w dodatku, dodaj przynajmniej jeden i zobacz czy to coś zmieni, w sumie czego oczekujesz w brokerze MQTT jeżeli w konfiguracji dodatku nie ma liczników - nie ma co publikować.

Dzięki. Zafiksowaem się na tm błędzie, że nie sprawdziłem, czy będzie działać po dodaniu liczników. Działa, dane spływają ale błąd nadal jest wyświetlany w logu :slight_smile:

Witajcie,
Czy ktoś mi jest w stanie potwierdzić (lub zaprzeczyć) czy za pomocą dongla rtlwmbus (niebieski RTL2832U) dam radę odczytać nakładkę Bmeters RFM-TX1.1?

Walczę z tym już któryś dzień i przy ustawieniu
device=rtlwmbus:868.9M:t1

zczytuję różne liczniki w eterze np

(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00068341 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=100
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00141244 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=99
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00068341 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=104
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00141244 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=104
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00068341 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=98
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00141244 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=94
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00141244 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=125
(telegram) DLL L=6e C=44 (from meter SND_NR) M=0601 (APA) A=00068341 VER=05 TYPE=07 (Water meter) (driver apator162) DEV=rtlwmbus[00000001] RSSI=129

a także

(telegram) DLL L=5b C=44 (from meter SND_NR) M=2c2d (KAM) A=80310129 VER=35 TYPE=04 (Heat meter) (driver kamheat) DEV=rtlwmbus[00000001] RSSI=26
(telegram) DLL L=5b C=44 (from meter SND_NR) M=2c2d (KAM) A=80310129 VER=35 TYPE=04 (Heat meter) (driver kamheat) DEV=rtlwmbus[00000001] RSSI=24
(telegram) DLL L=88 C=44 (from meter SND_NR) M=2c2d (KAM) A=80310129 VER=35 TYPE=04 (Heat meter) (driver kamheat) DEV=rtlwmbus[00000001] RSSI=43

ale Bmetersa za diabła mi nie widzi - kupiłem na allegro, pochodzi z demontażu, nie wiem w sumie czy działa bo nie mam jak sprawdzić, bateria sprawna, dioda reaguje na wciśnięcie przycisku…

I teraz nie wiem czy ten mój dongle nie jest w stanie “dogadać” się z nakładką Bmetersa czy może jednak ta nakładka nie jest sprawna albo ja coś robię nie tak. A może potrzebuję im871a-usb?

To jest w sumie na razie w formie “zabawy” bo mój obecny licznik Bmeters GSD8 nie jest przystosowany do pracy z nakładką ale rozmawiałem z zarządcą wspólnoty i powiedział że przy najbliższej wymianie może mi zamontować model GSD8-RFM właśnie z nakładką RFM-TX1.1. Zastanawia mnie to bo np na stronie

autor chwali się integracją BMETERS RFM-TX1.1 + IMST iM871A-USB

a jednak w tym linku z githuba komuś udało się zczytać BMETERS RFM-TX1.1 (driver hydrodigit) za pomocą IMST iM871A-USB.

Więc nakładka jest obsługiwana. Nie wiem tylko czy nie da się jej odczytywać za pomocą rtlwmbus (RTL2832U) i muszę nabyć coś innego, czy też da radę ją zczytać ale zakupiona przeze mnie nakładka z olxa jest wadliwa…

Cześć
ja mam BMETERS RFM-TX1.1 i współpracują z dongla rtlwmbus (niebieski RTL2832U)
Pamiętaj tylko (przynajmniej w moim przypadku - liczniki założone przez spółdzielnie mieszkaniową) że nie wysyłają danych w weekendy oraz w tygodniu w godz 21-7.

config licznika:

name=16087777
driver=rfmtx1
id=16087777
key=00000000000000000000000000000000

oraz odbiornika:

loglevel=normal
device=rtlwmbus:CMD(rtl_sdr -f 868.9M -s 1600000 - 2>/dev/null | rtl_wmbus -p s -a)
logtelegrams=false
format=json
meterfilesaction=overwrite
meterfiles=/config/wmbusmeters/logs/meter_readings/
logfile=/config/wmbusmeters/wmbusmeters.log
shell=/wmbusmeters/mosquitto_pub.sh wmbusmeters/$METER_NAME “$METER_JSON”

O.K… no to jest bardzo ważna informacja, bo bawiłem się przeważnie w weekend. Podłączę raz jeszcze, zostawię na noc i zobaczę czy coś się zczyta,

to też ciekawostka. Myślałem, że powinien być hydrodigit.