No description
Find a file
2026-08-30 18:44:59 +02:00
docs Works without Key 2026-08-30 18:44:59 +02:00
esphome Works without Key 2026-08-30 18:44:59 +02:00
homeassistant Works without Key 2026-08-30 18:44:59 +02:00
.gitignore Cleanup 2026-07-12 20:54:33 +02:00
LICENSE Initial commit: Diehl Hydrus -> Home Assistant (USB-Stick & ESP32/CC1101) 2026-07-10 14:59:13 +00:00
README.md Works without Key 2026-08-30 18:44:59 +02:00

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, Hersteller DME, Typ Wasserzähler, Version 76) 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

  1. Verdrahten nach Tabelle, Antenne anstecken, 3V3 beachten.
  2. esphome/wasseruhr.yaml ins ESPHome-Dashboard übernehmen, Secrets anlegen (esphome/secrets.example.yamlsecrets.yaml).
  3. Clean Build Files → Install (erster Flash per USB).
  4. Log prüfen — Erfolgskriterien:
    • [api] Server: … :6053 → in HA adoptierbar (Geräte & Dienste → ESPHome)
    • RSSI: … T: 5344a51116333872… → eigener Zähler wird empfangen
  5. 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

Lizenz

MIT