Wireless‑M‑Bus‑Zähler (z. B. Heizkostenverteiler oder Wasserzähler) lassen sich mit einem nanoCUL USB‑Stick (868 MHz) und der Open‑Source‑Software wmbusmeters auslesen. Viele preisgünstige nanoCUL‑Sticks werden mit einer Standard‑Firmware ausgeliefert, die keinen wMBus‑Support (T1/C1‑Modus) bietet. In diesen Fällen ist ein Firmware‑Update zwingend erforderlich.
1. Voraussetzungen
- Debian‑basiertes Linux‑System (z. B. Raspberry Pi OS, Debian, Ubuntu)
- nanoCUL USB‑Stick mit CC1101‑Funkchip (868 MHz)
- Freier USB‑Port
- Root‑ bzw. sudo‑Zugriff
2. wmbusmeters kompilieren und installieren
Zunächst werden die erforderlichen Pakete installiert. Anschließend wird wmbusmeters aus dem Quellcode kompiliert und als Debian‑Paket installiert:
1 2 3 4 5 6 7 8 9 10 11 12 | sudo apt update sudo apt install librtlsdr-dev libxml2-dev pkg-config git build-essential devscripts screen git clone https://github.com/wmbusmeters/wmbusmeters.git cd wmbusmeters/ ./configure make Version=$(grep -m1 Version CHANGES | awk '{print $2}') Version=${Version:-$(date +%Y-%m-%d)} sudo checkinstall --pkgname=wmbusmeters --pkgversion="$Version" --backup=no --deldoc=yes --fstrans=no --default --requires="librtlsdr0" |
Durch den Einsatz von checkinstall wird ein lokales Debian‑Paket erzeugt, das sich später sauber entfernen oder aktualisieren lässt.
wmbusmeters_1.19.0-1_amd64.deb (debian 13 build)
3. Erster Funktionstest
Nach dem Einstecken des nanoCUL‑Sticks kann ein erster Funktionstest durchgeführt werden:
1 | sudo wmbusmeters --debug auto:t1 |
Alternativ können mehrere Modi getestet werden:
1 | sudo wmbusmeters --debug auto:c1,t1 |
Typische Probleme mit Standard‑Firmware
- Der Stick meldet sich beispielsweise als „nanoCUL868 V 1.67“
- Fehlermeldungen wie:
? (brt is unknown)setting link mode(s) t1 is not supported
- Keine oder nur sehr kurze Telegramme (ca. 148 Bytes)
Ursache: Die Firmware wurde ohne aktivierten wMBus‑Support kompiliert. Ein Firmware‑Update ist erforderlich.
4. Firmware‑Update für wMBus
Empfohlene Firmware
nanoCUL_r568_mbus_c1t1_bufsize300.hex
Eigenschaften:
- Unterstützung für T1‑ und C1‑Modus
- Erweiterter Puffer (300 Bytes) zur Reduzierung von CRC‑Fehlern
Download
1 | wget https://speefak.spdns.de/oss_lifestyle/wp-content/uploads/2025/12/nanoCUL_r568_mbus_c1t1_bufsize300.hex_.zip -O nanoCUL_r568_mbus_c1t1_bufsize300.hex |
Installation von avrdude
1 | sudo apt install avrdude |
Flash‑Vorgang
- wmbusmeters beenden
- nanoCUL‑Stick eingesteckt lassen
1 | sudo avrdude -D -p atmega328p -c arduino -P /dev/ttyUSB0 -b 115200 -U flash:w:nanoCUL_r568_mbus_c1t1_bufsize300.hex |
Hinweise:
- Bei Synchronisationsfehlern können alternative Baudraten getestet werden (
57600oder38400). - Ein erfolgreicher Flash‑Vorgang endet mit der Meldung
… bytes of flash written … verified.
Nach Abschluss sollte der Stick kurz entfernt und erneut eingesteckt werden.
5. Funktionstest nach dem Firmware‑Update
1 | sudo wmbusmeters --debug auto:t1 |
Erwartete Ergebnisse:
- Firmware‑Version enthält den Zusatz „_r568“
- Erfolgreicher Moduswechsel (z. B.
TMODE) - Regelmäßiger Empfang von Telegrammen (typisch alle 5–15 Minuten)
Optional kann zusätzlich der C1‑Modus getestet werden:
1 | sudo wmbusmeters --debug auto:c1 |
6. Dauerhafte Konfiguration
Zähler‑Konfiguration
1 2 | sudo mkdir -p /etc/wmbusmeters.d sudo nano /etc/wmbusmeters.d/bfw240.conf |
Beispiel für einen BFW 240 radio:
1 2 3 4 | name=BFW240 driver=bfw240radio id=00819350 # 8‑stellige ID aus dem Debug‑Test key=NOKEY # In der Regel AES Geräteschlüssel erforderlich. NOKEY = unverschlüsselt |
Hauptkonfiguration
1 | sudo nano /etc/wmbusmeters.conf |
Beispielinhalt:
1 2 | device=auto:t1 # alternativ: /dev/ttyUSB0:cul:t1 format=json # JSON‑Ausgabe für MQTT oder Home‑Automation |
systemd‑Service aktivieren
1 2 3 | sudo systemctl restart wmbusmeters sudo systemctl enable wmbusmeters journalctl -u wmbusmeters -f |
7. Hinweise zum Betrieb
- Reichweite: Typischerweise 10–30 m, abhängig von baulichen Gegebenheiten
- Mehrere Zähler: Separate Konfigurationsdateien unter
/etc/wmbusmeters.d/anlegen - CRC‑Fehler: Bei nanoCUL‑Sticks hardwarebedingt nicht vollständig vermeidbar
- Home‑Assistant‑Integration: JSON‑Ausgabe in Kombination mit MQTT empfohlen
Troubleshooting und bekannte Probleme
Stick wird erkannt, aber kein Empfang
In der Regel ist eine nicht wMBus-fähige Firmware die Ursache. Die Firmware-Version sollte explizit T1/C1 unterstützen.
Häufige CRC-Fehler
CRC-Fehler sind bei nanoCUL-Sticks hardwarebedingt möglich. Eine Firmware mit größerem Puffer (300 Bytes) reduziert die Fehlerquote deutlich.
Kein Zugriff auf /dev/ttyUSB0
Udev-Regeln oder fehlende Benutzerrechte prüfen. Alternativ kann der Dienst testweise als Root gestartet werden.
Telegramme erscheinen unregelmäßig
Viele Heizkostenverteiler senden nur alle 5–15 Minuten. Dies stellt kein Fehlverhalten dar.
by Speefak | https://thomasheinz.net | wmbusmeters-wiki | CUL Firmware |