M-Bus Gateway
← Tilbage til blog
· wmbusmeters· driver· Kamstrup· Techem· Engelmann· Diehl· wM-Bus· gateway· FAB ID· AES

wmbusmeters driver-oversigt — alle fabrikater og konfiguration

Komplet wmbusmeters driver-oversigt: Kamstrup, Techem, Engelmann, Diehl, Axioma, Zenner, Apator, Danfoss, Qundis — FAB ID, driver-navn, AES-krav, konfigurationseksempler og fejldiagnose.

Af M-Bus Gateway

wmbusmeters understøtter 30+ målerfabrikater. Her er den komplette driver-oversigt med konfigurationseksempler til de mest udbredte målere i Danmark.


Driver-oversigt — varme og HCA

Fabrikat          FAB ID  Driver              Medium       AES-krav
─────────────────────────────────────────────────────────────────────
Kamstrup          KAM     multical21          cold_water   Nej
Kamstrup          KAM     multical302         heat         Nej (OMS åben)
Kamstrup          KAM     multical403         heat         Nej
Kamstrup          KAM     multical603         heat_cooling Nej
Engelmann         ELS     sensostar           heat_inlet   Ja (AES-128)
Engelmann         ELS     sensostar           hca          Ja (AES-128)
Techem            TCH     tec5                hca          Nej (type 5 ukrypt.)
Techem            TCH     tec6                hca          Delvist
Techem            TCH     (custom)            hca          Ja (type 8 AES-128)
Apator            APT     apator162           hca          Ja (AES-128)
Danfoss           DAN     danfoss_ally        hca          Ja (AES-128)
Qundis            QDS     q_caloric           hca          Nej
Sontex            SON     sontex868           heat         Nej
Zenner            ZEN     mbus_easy           cold_water   Nej/Ja (option)
Diehl             DME     izar                cold_water   Ja (AES-128)
Axioma            AXI     qalcosonic_w1       cold_water   Ja (AES-128)
Elster            ELS     (EFM)               gas          Nej
Landis+Gyr        LUG     landisgyr           electricity  Nej

Kamstrup Multical-serien

# /etc/wmbusmeters.d/kamstrup-multical302.conf
# Kamstrup Multical 302 — varmemåler

name=HeatMeter_12345678
id=12345678
driver=multical302
# Ingen AES-nøgle — OMS åbent format
meterbus=c1          # Multical 302 sender C1-mode

# Multical 403/603 — samme konfiguration:
# driver=multical403  (302 identisk struktur)
# driver=multical603  (tilføjer cooling_mj felt)

# JSON output fra Multical 302:
# {
#   "media":"heat",
#   "meter":"multical302",
#   "name":"HeatMeter_12345678",
#   "id":"12345678",
#   "status":"OK",
#   "total_kwh":15234.567,
#   "max_flow_m3ph":2.45,
#   "flow_temperature_c":67.3,
#   "return_temperature_c":41.2,
#   "timestamp":"2026-05-24T06:00:00Z"
# }

Engelmann SensoStar (AES-128)

# /etc/wmbusmeters.d/engelmann-sensostar.conf
# Engelmann SensoStar 2U — HCA med AES-128

name=HCA_EngelmannA101
id=12ab34cd
driver=sensostar
key=A1B2C3D4E5F60718293A4B5C6D7E8F90    # AES-128 hex (32 tegn)
meterbus=t1       # SensoStar bruger T1-mode

# Verificér dekryptering:
# wmbusmeters --format=json /dev/wmbus --conf=/etc/wmbusmeters.d/ t1
# Output skal vise status:"OK" (ikke "DEC_ERR")

# AES-fejl (DEC_ERR):
# → Forkert nøgle i key=-feltet
# → Kontakt Engelmann eller operatøren for korrekt nøgle
# → EU EED artikel 9c: Nøglen tilhører ejeren

Techem HCA — type 5, 6 og 8

# Type 5 (ukrypteret):
name=HCA_Techem_Type5
id=87654321
driver=tec5
# Ingen AES-nøgle nødvendig

# Type 6 (delvist krypteret):
name=HCA_Techem_Type6
id=87654322
driver=tec6

# Type 8 (fuldt AES-128 krypteret):
# OBS: tec8 er ikke en officiel wmbusmeters-driver
# Techem type 8 bruger en proprietær krypteringsmetode
# Løsning A: Anmod om nøgle (EU EED art. 9c)
# Løsning B: Skift til OMS-kompatibel HCA
# Løsning C: Brug Techem som operatør (men mister datakontrol)

# Techem-identifikation:
# wmbusmeters --analyze --format=json /dev/wmbus c1
# Se "manufacturer":"TCH" og "version" for type-bestemmelse
# version 0x51 = type 5, 0x61 = type 6, 0x81 = type 8

Diehl IZAR og Axioma Qalcosonic

# Diehl IZAR R4 — vandmåler med AES-128:
name=ColdWater_Diehl_01
id=AABBCCDD
driver=izar
key=FEDCBA9876543210FEDCBA9876543210    # AES-128 hex
meterbus=c1

# Output felter:
# total_m3, current_m3ph, alarm_leakage, alarm_burst
# alarm_backflow, alarm_magnetic_tamper

# Axioma Qalcosonic W1 — vandmåler:
name=ColdWater_Axioma_01
id=11223344
driver=qalcosonic_w1
key=0011223344556677889900AABBCCDDEEFF
meterbus=c1

# Output felter:
# total_m3, target_m3, flow_temperature_c
# alarm_leakage_now, alarm_leakage_month

Danfoss Ally HCA

# Danfoss Ally — dobbelt funktion: termostat + HCA:
name=HCA_DanfossAlly_01
id=DEADBEEF
driver=danfoss_ally
key=00112233445566778899AABBCCDDEEFF    # Fra Danfoss Ally app eksport
meterbus=t1    # Ally sender T1-mode (868MHz)

# Vigtige noter:
# → Ally er primært Zigbee-termostat
# → wM-Bus T1 HCA-funktion aktiveres i Ally-appen
# → AES-nøgle eksporteres via Ally-app (Danfoss hjemmeside)
# → MID-certifikat: Ally er ikke EN 834-certifikeret som HCA
#   → Juridisk gråzone til fakturering
# → Anbefaling: Brug dedikeret MID-HCA til fakturering

# Danfoss identifikation:
# manufacturer:"DAN", version:0x01, media:"hca"

Fejldiagnose ved driver-problemer

# Trin 1: Analyser telegram uden driver-filter:
wmbusmeters --analyze --format=json /dev/wmbus c1 2>/dev/null | \
  python3 -c "import sys,json; [print(json.dumps(json.loads(l), indent=2))
              for l in sys.stdin if l.strip()]" | head -50

# Trin 2: Find FAB ID og version:
# Se "manufacturer" og "version" i output
# FAB ID-tabel: https://wmbusmeters.org/drivers/

# Trin 3: Test specifik driver:
# Lav midlertidig konfig-fil:
cat > /tmp/test-meter.conf << 'EOF'
name=TestMeter
id=12345678
driver=multical302
EOF
wmbusmeters --format=json --conf=/tmp/ /dev/wmbus c1

# Trin 4: AES-fejl:
# DEC_ERR i output → forkert eller manglende AES-nøgle
# Verificér: key= feltet er korrekt hex (32 tegn = 16 bytes)

# Trin 5: Ingen output fra måler:
# → Tjek wM-Bus mode (c1 vs t1): Måler sender kun i én mode
# → Tjek RSSI: wmbusmeters --rssi → signal for svagt?
# → Tjek USB dongle: lsusb → "Wireless M-Bus" skal vises

# Platform-integration — debugging:
# GET /api/v1/gateways/{id}/meter-scan
# → Returnerer råt scan af alle telegrammer inden for 5 min
# → Hjælper med at identificere unavngivne målere

Platform FAB ID → driver mapping

# gateway/src/wmbus/driver_registry.py
# Automatisk driver-valg baseret på FAB ID og medium

DRIVER_MAP: dict[tuple[str, str], str] = {
    # (fab_id, medium) → driver
    ("KAM", "heat"):         "multical302",
    ("KAM", "heat_cooling"): "multical603",
    ("KAM", "cold_water"):   "multical21",
    ("ELS", "hca"):          "sensostar",
    ("ELS", "heat"):         "sensostar",
    ("TCH", "hca"):          "tec5",         # Default — type 5
    ("APT", "hca"):          "apator162",
    ("DAN", "hca"):          "danfoss_ally",
    ("QDS", "hca"):          "q_caloric",
    ("SON", "heat"):         "sontex868",
    ("ZEN", "cold_water"):   "mbus_easy",
    ("DME", "cold_water"):   "izar",
    ("AXI", "cold_water"):   "qalcosonic_w1",
}


def get_driver(fab_id: str, medium: str) -> str | None:
    """Returner driver-navn for FAB ID + medium-kombination."""
    return DRIVER_MAP.get((fab_id.upper(), medium))

Konklusion

wmbusmeters understøtter alle almindelige danske varmemålere via specifikke drivers. Kamstrup Multical 302/403/603 bruger OMS åbent format uden AES. Engelmann SensoStar, Diehl IZAR, Axioma Qalcosonic og Apator/Techem type 8 kræver AES-128 nøgle — EU EED artikel 9c giver ejeren ret til disse nøgler. Techem type 8 er et specialtilfælde med proprietær kryptering der kræver nøgle-anmodning fra Techem. Platform-integration kortlægger automatisk FAB ID + medium til korrekt driver via DRIVER_MAP.

Se wmbusmeters installation guide eller wM-Bus fejlfinding guide.