wmbusmeters installation og konfiguration — komplet guide
Installer og konfigurér wmbusmeters på Raspberry Pi: fra GitHub releases, USB-dongle opsætning, driver-valg, konfigurationsfiler og MQTT-output. Trin-for-trin guide.
Af M-Bus Gateway
wmbusmeters er det bedste open source-program til wM-Bus aflæsning — men det kræver korrekt installation og konfiguration. Denne guide dækker alt fra GitHub-download til MQTT-output.
Vigtig note: brug IKKE apt-versionen
# ❌ Gør IKKE dette — apt-versionen er for gammel
sudo apt install wmbusmeters
# ✅ Gør DETTE — hent nyeste fra GitHub releases
apt-versionen mangler vigtige drivere og protokol-understøttelse. Hent altid fra GitHub releases.
Installation på Raspberry Pi OS (64-bit)
# 1. Find nyeste version på GitHub og hent .deb-pakke
WMBUS_VER="1.14.0" # Tjek aktuelle version på GitHub
wget "https://github.com/weetmuts/wmbusmeters/releases/download/v${WMBUS_VER}/wmbusmeters_${WMBUS_VER}_arm64.deb"
# 2. Installer
sudo dpkg -i wmbusmeters_${WMBUS_VER}_arm64.deb
# 3. Verificér
wmbusmeters --version
# Forventet output: wmbusmeters 1.14.0 ...
USB-dongle opsætning (Würth 2605056083001)
# Find USB device
lsusb
# Output: Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
# Opret stabil symlink via udev
cat > /etc/udev/rules.d/99-wmbus.rules << 'EOF'
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="wmbus"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger
# Verificér symlink
ls -la /dev/wmbus
# /dev/wmbus -> ttyUSB0
# Tilføj bruger til dialout-gruppe
sudo usermod -aG dialout mbus
Test uden konfigurationsfil
# Lyt til alle C1+T1 telegrammer (ingen kryptering)
wmbusmeters --listento=c1,t1 /dev/wmbus NOKEY
# Output eksempel:
# {"media":"heat","meter":"multical302","name":"NOKEY","id":"12345678",
# "status":"OK","rssi_dbm":-78,"timestamp":"2026-05-23T06:01:23Z",
# "total_kwh":12345.67,"target_kwh":11000.00}
Konfigurationsfiler pr. måler
Opret én fil pr. måler i /etc/wmbusmeters.d/:
# Eksempel: Kamstrup Multical 302
cat > /etc/wmbusmeters.d/varme_lejl1.conf << 'EOF'
name=varme_lejl1
type=multical302
id=12345678
key=A1B2C3D4E5F6789012345678ABCDEF01
EOF
# Eksempel: Diehl IZAR R4 vandmåler (ingen kryptering)
cat > /etc/wmbusmeters.d/vand_lejl1.conf << 'EOF'
name=vand_lejl1
type=izar
id=87654321
key=
EOF
# Eksempel: Engelmann SensoStar 2 HCA
cat > /etc/wmbusmeters.d/hca_lejl1.conf << 'EOF'
name=hca_lejl1
type=sensostar
id=AABBCCDD
key=0102030405060708090A0B0C0D0E0F10
EOF
Hoved-konfiguration
cat > /etc/wmbusmeters.conf << 'EOF'
# wmbusmeters global konfiguration
loglevel=normal
device=/dev/wmbus:c1,t1
logfile=/var/log/wmbusmeters/wmbusmeters.log
# MQTT output
shell=/usr/local/bin/wmbus-to-mqtt.sh
# Gem data lokalt
meterfiles=/var/lib/wmbusmeters/meter_readings
# Alarm ved fejl
alarmshell=/usr/local/bin/wmbus-alarm.sh
EOF
MQTT-integration via shell-script
cat > /usr/local/bin/wmbus-to-mqtt.sh << 'EOF'
#!/bin/bash
# Kald fra wmbusmeters via shell= direktiv
# $METER_JSON indeholder det fulde JSON-telegram
GATEWAY_ID=$(cat /etc/mbus-gateway/gateway_id)
TOPIC="meters/${GATEWAY_ID}/readings/${METER_ID}"
mosquitto_pub -h 178.105.90.8 -p 1883 \
-u "gateway" -P "$(cat /etc/mbus-gateway/mqtt_password)" \
-t "$TOPIC" \
-m "$METER_JSON"
EOF
chmod +x /usr/local/bin/wmbus-to-mqtt.sh
Systemd-service
# wmbusmeters inkluderer allerede en systemd-service-fil
sudo systemctl enable wmbusmeters
sudo systemctl start wmbusmeters
# Overvåg logs
sudo journalctl -u wmbusmeters -f
# Status
sudo systemctl status wmbusmeters
Diagnostik og fejlsøgning
Måler modtages ikke
# Scan alle telegrammer uden filtrering
wmbusmeters --listento=c1,t1 --pollinterval=0 /dev/wmbus NOKEY 2>&1 | grep "^{"
# Tjek om målerens ID vises i output
# Hvis ikke: RSSI for svag, forkert mode (c1 vs t1), eller AES-fejl
AES-fejl ("decryption error")
# Symptom: {"status":"ERR_DECRYPTION_FAILED",...}
# Løsning: verificér AES-nøgle (32 hex-tegn, ingen mellemrum)
echo -n "A1B2C3D4E5F6789012345678ABCDEF01" | wc -c
# Skal returnere 32
Driver ikke fundet
# Find rigtig driver:
wmbusmeters --listmeters | grep -i "kamstrup\|multical"
# Prøv generisk driver:
wmbusmeters --listento=c1,t1 /dev/wmbus NOKEY --format=json
# Kig efter device_type og manufacturer i output
Understøttede wM-Bus driver-ID'er
| Fabrikat | Produkt | Driver |
|---|---|---|
| Kamstrup | Multical 21 | multical21 |
| Kamstrup | Multical 302 | multical302 |
| Diehl | IZAR R4 | izar |
| Engelmann | SensoStar 2 | sensostar |
| Techem | e5 HCA | te5 (begrænset) |
| Axioma | Qalcosonic W1 | qalcosonic_w1 |
| Zenner | MBUS-EASY+ | mbus_easy |
| Sontex | Supercal 739 | supercal739 |
| Brunata | Multical HCA | apator162 |
Fuld liste: wmbusmeters --listmeters
Konklusion
wmbusmeters er kraftfuldt men kræver korrekt version og konfiguration. De to vigtigste ting: hent altid fra GitHub (ikke apt), og brug stabil USB-symlink via udev. Herefter konfigurerer du én fil pr. måler med korrekt driver og AES-nøgle.
Se gateway-dokumentation eller bestil gateway med forudinstalleret wmbusmeters.