| docs | ||
| esphome | ||
| homeassistant | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
Diehl Hydrus → Home Assistant (wireless M-Bus, ESP32 + CC1101)
Funk-Wasserzähler Diehl Hydrus per wireless M-Bus (868 MHz) mit einem ESP32 + CC1101 empfangen und in Home Assistant einbinden.
Status (2026-08-26): ✅ Empfang läuft. Der Hydrus (ID
72383316, HerstellerDME, Typ Wasserzähler, Version76) wird mit RSSI ≈ −60 dBm empfangen; Telegramme erscheinen im ESPHome-Log. Offen: AES-128-Schlüssel vom Versorger (Badenova) → erst dann sind Zählerstand & Co. entschlüsselbar. Sensor-Block liegt vorbereitet (auskommentiert) in der Config.
[Hydrus 72383316] ─868,95 MHz─▶ [CC1101] ─SPI─▶ [ESP32 / ESPHome @main] ─API─▶ [Home Assistant]
Verifizierte Umgebung
| Baustein | Version / Typ |
|---|---|
| ESPHome | 2026.8.1 (Framework esp-idf) |
| Board | NodeMCU-32S (ESP32, rev 3.1) |
| Funkmodul | CC1101 868 MHz (E07-M1101D, einreihig, SMA) |
| Komponente | SzczepanLeon/esphome-components @main (wmbus_radio) |
| Zähler | Diehl Hydrus, ID 72383316, wM-Bus T1, AES-128 (OMS) |
⚠️ @version_4 ist mit ESPHome ≥ 2026.8 inkompatibel (Arduino-Lib →
Boot-Crash). Details und alle gelösten Fehler: docs/troubleshooting-esp32.md
Verdrahtung (final, verifiziert)
CC1101 E07-M1101D (einreihig, Pin 1 am Rand) ↔ NodeMCU-32S. Farbcode = tatsächlich verbautes Kabelset.
| CC1101 Pin | Signal | Farbe | → ESP32 | YAML |
|---|---|---|---|---|
| 1 | GND | schwarz | GND | – |
| 2 | VCC | weiß | 3V3 ⚠️ nie 5 V! | – |
| 3 | GDO0 | braun | GPIO22 | irq_pin |
| 4 | CSN | rot | GPIO23 | cs_pin |
| 5 | SCK | orange | GPIO33 | clk_pin |
| 6 | MOSI | gelb | GPIO32 | mosi_pin |
| 7 | MISO | grün | GPIO19 | miso_pin |
| 8 | GDO2 | blau | frei (bei @main ungenutzt) | – |
Pin-Wahl meidet alle ESP32-Strapping-Pins (0/2/12/15).
Setup-Kurzfassung
- Verdrahten nach Tabelle, Antenne anstecken, 3V3 beachten.
esphome/wasseruhr.yamlins ESPHome-Dashboard übernehmen, Secrets anlegen (esphome/secrets.example.yaml→secrets.yaml).- Clean Build Files → Install (erster Flash per USB).
- Log prüfen — Erfolgskriterien:
[api] Server: … :6053→ in HA adoptierbar (Geräte & Dienste → ESPHome)RSSI: … T: 5344a51116333872…→ eigener Zähler wird empfangen
- AES-Key vom Versorger eintragen und den vorbereiteten
wmbus_meter/sensor-Block in der YAML einkommentieren. Feldnamen am ersten entschlüsselten Telegramm via wmbusmeters.org verifizieren.
Repo-Struktur
hydrus-homeassistant/
├── README.md
├── LICENSE
├── .gitignore
├── docs/
│ ├── esp32-cc1101-esphome.md # ausführliche Schritt-für-Schritt-Anleitung
│ ├── troubleshooting-esp32.md # alle real aufgetretenen Fehler + Fixes ⭐
│ └── usb-stick-wmbusmeters.md # Alternative: USB-Stick + wmbusmeters-Add-on
├── esphome/
│ ├── wasseruhr.yaml # FUNKTIONIERENDE Config (Stand 2026-08-26)
│ └── secrets.example.yaml
└── homeassistant/
├── utility_meter.yaml # Tages-/Monats-/Jahresverbrauch
└── automation_leckage.yaml # Leckage-Warnung (nach Key-Erhalt)
AES-Schlüssel (Badenova)
Der Hydrus sendet AES-128-verschlüsselt (OMS). Ohne Schlüssel: Empfang ja, Werte nein. Anfrage beim Versorger mit Zählernummer; E-Mail-Vorlage wurde verschickt, Antwort ausstehend. Falls abgelehnt: Alternativen sind Impuls-/M-Bus-Aufsatz oder optische Display-Abtastung (AI-on-the-edge).
🔐 Sicherheit
secrets.yaml (WLAN, API-Key, OTA-Passwort, AES-Key) wird nie
eingecheckt (.gitignore). Die Zähler-ID selbst ist unkritisch — sie wird
ohnehin unverschlüsselt gefunkt.
Credits
SzczepanLeon/esphome-components · wmbusmeters · wmbusmeters.org Telegramm-Decoder