(wmbus) WARNING! no key to decrypt payload! Permanently ignoring telegrams from id: 03979647 mfct: (APA) Apator, Poland (0x601) type: Water meter (0x07) ver: 0x05
(meter) newly created meter (BathCold 03979647 apator162) did not handle telegram!
(wmbus) WARNING! no key to decrypt payload! Permanently ignoring telegrams from id: 03990112 mfct: (APA) Apator, Poland (0x601) type: Water meter (0x07) ver: 0x05
(meter) newly created meter (BathWarm 03990112 apator162) did not handle telegram!
(wmbus) WARNING! no key to decrypt payload! Permanently ignoring telegrams from id: 03978776 mfct: (APA) Apator, Poland (0x601) type: Water meter (0x07) ver: 0x05
(meter) newly created meter (WCCold 03978776 apator162) did not handle telegram!
(wmbus) WARNING! no key to decrypt payload! Permanently ignoring telegrams from id: 03990407 mfct: (APA) Apator, Poland (0x601) type: Water meter (0x07) ver: 0x05
(meter) newly created meter (WCWarm 03990407 apator162) did not handle telegram!`Tekst sformatowany`
no to chyba faktycznie zakodowane…
rozumiem, że z tym też próbowałeś:
name=Licznik_wody
type=apator162
id=03990112
key=00000000000000000000000000000000
W celu zapewnienia poufności danych pomiarowych, transmitowane radiowo informacje o zużyciu, zabezpieczone są algorytmem szyfrującym AES-128 z CBC (gwarancja zmienności
wysyłanych danych w przypadku braku zmian objętości). Do
odszyfrowania tak zabezpieczonych danych wymagana jest
znajomość użytego klucza szyfrującego. Klucz ma postać 16
liczb (0 – 255). Klucz wymagany jest również do odczytu i zapisu danych konfiguracyjnych. Znając aktualny klucz nakładki,
możliwe jest ustawienie nowego klucza.
To pozostaje albo zdobyć key od dostawcy wody - tak na logikę nie powinno być z tym problemu, każdy liczniki powinien mieć swój indywidualny key a dane idą tylko od licznika więc nic nie można do niego wysłać. A drugi sposób to metoda brutal force do złamania klucza
Tez stosuje taki klucz i powiesz szczerze, nie spotkalem sie z nakładką typu Apator z innym kluczem niz ten.
Nie wiem, u mnie po wpisaniu samych 0 nie dostaje w ciagu dnia żadnych danych.
Byłem w administracji pytać o klucz i albo koleś nie wie o co chodzi albo wszyscy maja ten sam klucz bo zasłaniał się RODO.
A z samym 0 wpisałem i w ciągu dnia mam tak…i bez zmian.
chyba że coś w configu mam źle:
data_path: /config/wmbusmeters
enable_mqtt_discovery: false
conf: |-
loglevel=normal
device=auto:t1
donotprobe=/dev/ttyAMA0
logtelegrams=false
format=json
logfile=/dev/stdout
shell=/wmbusmeters/mosquitto_pub.sh wmbusmeters/$METER_NAME "$METER_JSON"
meters:
- |-
name=BathWarm
driver=apator162
id=03990112
key=00000000000000000000000000000000
- |-
name=BathCold
driver=apator162
id=03979647
key=00000000000000000000000000000000
- |-
name=WCWarm
driver=apator162
id=03990407
key=00000000000000000000000000000000
- |-
name=WCCold
driver=apator162
id=03978776
key=00000000000000000000000000000000
mqtt: {}
Zamień na:
conf: |-
loglevel=debug
device=rtlwmbus:868.9M:t1
co spowoduje debug w logach i wymuszenie częstotliwości, na której działają nakładki Apator.
UWAGA: po godz. 16. nakładki bardzo rzadko raportują zmiany.
Ostatnia linijka oznacza że już “słuchasz” swoje liczniki.
Jak zmienisz tak jak pisze @macek na debug
to w logach będzie widać dane z licznika.
Jak wpiszesz do configu dane swojego brokera MQTT to i tam się pojawią dane licznika.
Po zmianach logevele i device zasugerowanych przez @macek mam taką zwrotkę:
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
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Syncing wmbusmeters configuration ...
Registering meters ...
Adding meter-0001 ...
Adding meter-0002 ...
Adding meter-0003 ...
Adding meter-0004 ...
Generating MQTT configuration ...
Broker core-mosquitto will be used.
MQTT Discovery cleanup...
Running wmbusmeters ...
(config) "device" "rtlwmbus:868.9M:t1"
(wmbusmeters) version: 1.9.0-74-g3691bbd
(config) using device: rtlwmbus:868.9M:t1
(config) number of meters: 4
(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 DVB-T receivers
Usage: -f frequency_to_tune_to [Hz]
[-s samplerate (default: 2048000 Hz)]
[-d device_index (default: 0)]
[-g gain (default: 0 for auto)]
[-p ppm_error (default: 0)]
[-b output_block_size (default: 16 * 16384)]
[-n number of samples to read (default: 0, infinite)]
[-S force sync output (default: async)]
filename (a '-' dumps samples to stdout)
<<<
(shell) return code 1
(shell) 168 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: >>><<<
(serial) EVENT thread interrupted
(shell) return code 0
(shell) 169 exited
(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
(serial) EVENT thread interrupted
(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 174 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
Jakaś sugestia jak się za to zabrać drugą metodą?
masz na myśli adon Home Assistanta?
Jeżeli tak, to musisz mieć zainstalowany Home Assistant jako OS lub Supervised:
co daje możliwość instalacji dodatków Add-ons i jednym z addonów jest
Potem jest już prosto, instalujesz dodatek i zarządzasz nim z poziomu Home Assistanta.
Tu masz opisane:
Wmbusmeters (W-MBus to MQTT) jako addon Supervisora - Home Assistant / Integracje - ArturHome
A drugi sposób to metoda brutal force do złamania klucza
Czyli mam stworzyć tysiace tych samych urządzeń każdy z innym kluczem czy jeszcze inaczej się za to zabrać?
@piasek nie ma szans złamać tego w taki sposób, do tego są specjalne programy ale to nie takie proste, trochę w tym temacie jest opisane w tym wątku:
Are here users from Germany who got the AES-Key for Diehl Hydrus watermeter? Please post the company name · Issue #281 · weetmuts/wmbusmeters · GitHub
ale z tego ostatniego loga co wrzuciłeś wychodzi że key z 0 jest OK i nie masz kodowanego licznika
porównaj z moimi logiem:
<<<
(serial) EVENT thread interrupted
(shell) return code 1
(shell) 12 exited
(main) rtl_srd found in path
(shell) exec (capture output) "/bin/sh"
(shell) arg "-c"
(shell) arg "rtl_wmbus < /dev/null"
(shell) output: >>><<<
(serial) EVENT thread interrupted
(shell) return code 0
(shell) 13 exited
(main) rtl_wmbus found in path
(main) rtlsdr device 00000001 not currently used.
(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"
(serial) EVENT thread interrupted
(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 18 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
wg mnie to samo.
Pamiętaj że w zależności od licznika dane będą szły:
-po odkręceniu wody,
-po jakimś interwale czasu, może ktoś ustawił że idą kilka raz w miesiącu, choć w to wątpię
-np. po 16 mogą nie iść w cale
-jak będzie słaby zasięg (daleko od licznika) to też może być problem
Skonfiguruj MQTT i zobacz w programie MQTT Explorer czy wysyłka jakieś dane, najlepiej włącz MQTT Explorer i poczekaj do jutra (nie wyłączaj komputer i programu Mqtt Explorer) aż coś się pojawi. Zobacz u mnie, uruchomiłem program i teraz licznik nic nie wysyła:
odkręcam wodę i pojawi się wpis wmbustmeters:
tylko pamiętaj o prawidłowym skonfigurowaniu mqtt, u mnie w dockerze jest tak:
loglevel=debug
device=auto
logtelegrams=false
ignoreduplicates=false
format=json
meterfiles=/wmbusmeters_data/logs/meter_readings
meterfilesaction=overwrite
logfile=/wmbusmeters_data/logs/wmbusmeters.log
shell=/usr/bin/mosquitto_pub -h IP_SERWERA -t wmbusmeters/$METER_ID -m "$METER_JSON"
ostatnia linijka to konfiguracja MQTT,
wstaw swoje IP serwera w miejsce IP_SERWERA
a jak masz hasło do MQTT to ostatnia linijka tak:
shell=/usr/bin/mosquitto_pub -h IP_SERWERA -u USER_MQTT -P HASŁO_MQTT -t wmbusmeters/$METER_ID -m "$METER_JSON"
i wstaw swoje IP serwera w miejsce IP_SERWERA
wstaw swoje nazwę użytkownika dla MQTT w miejsce USER_MQTT
wstaw swoje hasło do MQTT w miejsce HASŁO_MQTT
Rzeczywiście mam kodowanie “zerami” coś miałem nie tak z configuracją po kilku róznych zmianach widzę w końcu wyniki. Dzięki wszystkim za pomoc!!!
Teraz tylko sensory i można terroryzować rodzinę że za długo uszy myją



Od wydania Nikodem tj. Home Asisstanta 2022.11 licznik wody mozna dodać na panelu ENERGIA..
W moim przypadku encje:
trzeba było odpowiednio skonfigurować w customize.yaml tj.:
sensor.licznik_wody_total:
state_class: total_increasing
device_class: water
unit_of_measurement: m³
Efekt:
Jeszcze przydało by się tak z ekogroszkiem zrobić.
Proponuję poprawić to w defincji sensora w pliku mqtt.yaml:
sensor:
- name: Licznik Wody Total
state_topic: 'wmbusmeters/xxxxxxxx'
json_attributes_topic: 'wmbusmeters/xxxxxxxx'
unit_of_measurement: 'm³'
state_class: total_increasing
device_class: water
value_template: "{{ value_json.total_m3 }}"
icon: "mdi:hand-water"
Odczyt wodomierzy po kilku dniach działania wydaje się ok, mam tylko problem gdy tracę prąd i server mi siada. Wtedy musze wmbustera restartować i dodawać na nowo mierniki w konfiguracji. Czy ktoś się spotkał może z czymś podobnym u siebie i ma pomysł jak sobie z tym poradzić?
Pozdrawiam