· wM-Bus· signal· troubleshooting· RSSI· betonvæg· C1· T1· AES· wmbusmeters· gateway· fejlsøgning
wM-Bus signal troubleshooting — når gatewayen ikke læser målerne
wM-Bus signal fejlsøgning: RSSI under -110 dBm, betonvægge, mode-mismatch C1 vs T1, AES DEC_ERR, USB dongle diagnostik, wmbusmeters debug-output og løsningsstrategier.
Af M-Bus Gateway
Gatewayen er installeret, men halvdelen af målerne vises ikke. Her er den systematiske fejlsøgningsguide.
Trin 1 — Verificér at wmbusmeters kører
# SSH til gateway
ssh mbus@192.168.1.89
# Er wmbusmeters-processen aktiv?
systemctl status wmbusmeters@auto
# Forventet output:
# ● wmbusmeters@auto.service - Wmbusmeters automatic meter reading
# Active: active (running) since...
# Starter ikke? Se logs:
journalctl -u wmbusmeters@auto -n 50 --no-pager
# Typisk fejl 1: USB dongle ikke fundet
# "ERROR: No meter type auto-detected for: /dev/ttyUSB0"
# → Løsning: Kontrollér USB-forbindelsen, genstart Pi
# Typisk fejl 2: Tilladelse nægtet
# "cannot open /dev/ttyUSB0: Permission denied"
# → Løsning: sudo usermod -a -G dialout mbus && reboot
Trin 2 — Verificér USB dongle
# Er Würth Elektronik dongle registreret af Linux?
lsusb | grep -i "ftdi\|silicon\|prolific\|cp210\|würth\|wuerth"
# Forventet: Én linje med USB-to-serial adapter
# Eksempel: "Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC"
# Er symlink /dev/wmbus oprettet?
ls -la /dev/wmbus
# → lrwxrwxrwx 1 root root 7 ... /dev/wmbus -> ttyUSB0
# Mangler symlinket? Se udev-regel:
cat /etc/udev/rules.d/99-wmbus.rules
# → SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="wmbus"
# Genindlæs udev-regler:
sudo udevadm control --reload-rules && sudo udevadm trigger
# Test direkte læsning (30 sekunder):
sudo timeout 30 wmbusmeters --logtelegrams=true auto:im871a:868.95M:c1t1
Trin 3 — RSSI og signalstyrke
# Se RSSI pr. telegram i wmbusmeters debug-output:
sudo wmbusmeters --logtelegrams=true auto:im871a:868.95M:c1t1 2>&1 | grep -E "RSSI|rssi"
# Typisk JSON-output med RSSI:
# {
# "media": "heat",
# "meter": "multical302",
# "name": "Heat_01",
# "id": "12345678",
# "rssi_dbm": -87,
# "total_kwh": 1234.5
# }
# RSSI-tolkningsguide:
# -50 til -70 dBm: Fremragende signal (nærmeste måler)
# -70 til -90 dBm: Godt signal (normal situation)
# -90 til -100 dBm: Acceptabelt (få fejl)
# -100 til -110 dBm: Svagt signal (periodiske tab)
# Under -110 dBm: Kritisk — telegrams tabes regelmæssigt
# Ingen signal: Måler ikke inden for rækkevidde
# Platform RSSI-dashboard:
# GET /api/v1/portfolio/gateway-health → rssi_dbm pr. installation
Trin 4 — Mode-mismatch (C1 vs T1)
# Fejlsymptom: Ingen telegrammer fra specifikke målere
# Årsag: Gateway lytter på C1, men måler sender T1 (eller omvendt)
# Test med begge modes:
sudo timeout 30 wmbusmeters --logtelegrams=true auto:im871a:868.95M:c1
sudo timeout 30 wmbusmeters --logtelegrams=true auto:im871a:868.95M:t1
sudo timeout 30 wmbusmeters --logtelegrams=true auto:im871a:868.95M:c1t1 # Begge
# Typisk mode pr. fabrikat:
# C1: Kamstrup, Engelmann, Sontex, Axioma (nyere generationer)
# T1: Techem HCA (type 5/6/8), Brunata ældre modeller
# C1+T1: Konfigurér altid begge i produktion
# Konfigurér i wmbusmeters:
# /etc/wmbusmeters.d/global.conf:
# mode=c1t1 ← Lyt på begge
Trin 5 — AES DEC_ERR
# Fejlsymptom: Telegram modtages, men værdier er "DEC_ERR" eller tomme
# Årsag: Forkert eller manglende AES-nøgle
# wmbusmeters output med DEC_ERR:
# {
# "media": "heat",
# "id": "12345678",
# "status": "DEC_ERR", ← Dekrypterings-fejl
# "total_kwh": null ← Data ikke tilgængeligt
# }
# Konfigurér AES-nøgle pr. måler:
# /etc/wmbusmeters.d/kamstrup-heat.conf:
# name=Heat_01
# id=12345678
# driver=multical302
# meterbus=c1
# key=00112233445566778899AABBCCDDEEFF ← 32 hex-tegn (128 bit)
# Verificér nøgle er korrekt (test med én måler):
sudo wmbusmeters auto:im871a:868.95M:c1 \
Heat_01 multical302 12345678 00112233445566778899AABBCCDDEEFF
# Nøgle-anskaffelse:
# Kamstrup: Installer-portal eller direkte fra Kamstrup
# Engelmann: Engelmann-portal (EU EED art. 9c — din rettighed)
# Techem: Kræver skriftlig anmodning (EU EED art. 9c)
# Platform:
# PUT /api/v1/meters/{id}/aes-key (kræver super_admin)
# Nøgle gemmes krypteret i PostgreSQL — aldrig plaintext i logs
Trin 6 — Betondæmpning og placering
Signaldæmpning i bygninger:
Materialer og dæmpning pr. væg (typiske værdier):
Gips (12 mm): 2-4 dB
Træ (50 mm): 3-5 dB
Mursten (110 mm): 8-12 dB
Beton (200 mm): 12-20 dB
Armeret beton: 15-25 dB
Jordlag: 25-40 dB pr. meter
Budget:
Gateway-antenne: Typisk +6 dBi gain
Frirum-zone tab ved 10m: ~50 dB (frirum-ligning)
Effektiv rækkevidde i beton-ejendom: 10-30 meter
Rækkevidde udendørs/fri sigt: 100-200 meter
Placering af gateway:
✅ Centralt i ejendommen (midterste kælder)
✅ Hæv antenne over fjernvarmerør og metaloverflader
✅ Undgå placering bag vandret beton (gulvplade)
❌ Undgå tekniske rum med meget metal
❌ Undgå yderste kælder-rum (dobbelt betonvæg til målere)
Løsninger ved dårligt signal:
1. Flyt gateway (test med laptop først)
2. Ekstern antenne via SMA-kabel (op til 5m kabel uden tab)
3. wM-Bus repeater (OMS Annex B, hop_count felt)
4. Yderligere gateway i problematisk sektion
5. M-Bus wired (kabelbaseret — ingen signalproblem)
Trin 7 — Driver-mismatch
# Fejlsymptom: Telegram modtages, men felter er forkerte (0.0 eller null)
# Årsag: Forkert wmbusmeters-driver
# Identificér korrekt driver:
# 1. Find FAB ID (første 3 bogstaver af meter_id-prefix i telegram)
# 2. Slå op i driver-tabel:
# FAB → Driver:
# KAM (Kamstrup): multical302, multical403, multical603, multical21
# ELS (Engelmann): sensostar, sensostar2
# TCH (Techem): hca, compact5, vario451 (type 5→compact5, 8→vario451)
# APT (Apator): atal
# DAN (Danfoss): qheat5
# SON (Sontex): supercal531, supercal739
# ZEN (Zenner): mbus_easy
# DME (Diehl): izar
# AXI (Axioma): qalcosonic_w1
# QDS (Qundis): qheat5, supercom587
# Test driver eksplicit:
sudo wmbusmeters auto:im871a:868.95M:c1t1 \
Heat_01 multical302 12345678 NOKEY
# Se liste over alle drivere:
wmbusmeters --listmeters
Konklusion
Systematisk fejlsøgning: 1) Verificér wmbusmeters-service kører, 2) USB dongle registreret + symlink, 3) RSSI acceptable (>-100 dBm), 4) Korrekt mode (c1t1 dækker begge), 5) AES-nøgle konfigureret ved DEC_ERR, 6) Gateway-placering optimeret for betondæmpning, 7) Korrekt driver. Platform RSSI-dashboard og anomali-detektion identificerer problemgateways automatisk.