Ultraschallwasserzähler HYDRUS DIEHL Typ 173 auslesen

Na ja, die Zähler schalten beim Abheben des Deckels bzw. bei Einleuchten mit der LED die Anzeige an. das verbraucht den Akku Strom.

Hallo an Alle (betroffene)

Ich habe für mich ein 8€ ( Amica Modul V2 ESP8266 ) Lösung gefunden, vorausgesetzt Eure Wasserwerke sind so kulant wie meine und euch den Zähler gegen einen mit Kabel (1 Liter Impuls) umtauschen, bei mir komplett Kostenlos und innerhalb von 2 Wochen Erledigt. Falls Ihr die Möglichkeit habt, lass euch den Zähler tauschen und mit Amica Modul V2 und ESPHome habe ich alles schön angebunden, ich muss zwar noch bissen an Kalibrierung in der Code arbeiten und vielleicht noch Sensoren aber grob und Technisch funktioniert schon mal alles, wie gewünscht.

Falls jemand Interesse an Details hat ( ESP-Code, Verkabelung, o.e) gerne melden.

Ich markiere auch diese Thema hier als erledigt, da ich die Lösung gefunden habe ;).

Vielen Dank an Alle und Gruß

@jack Ich hätte Interesse an der Lösung, da das der selbe Weg ist den ich auch eingeschlagen habe.

Habe bereits den Hydrus mit Open Drain Ausgang vom Versorger verbaut bekommen und tüftle an dem Code, da wäre die Lösung eines Anderen sehr hilfreich.

(Mein Versorger hat sich stark dagegen gewehrt, den Key für den Wireless Mbus raus zu geben. Die Begründung war, dass dann ja Vermieter den Verbrauch Ihrer Mieter tracken könnten. Jeder darf sich aber einen Wechsel auf ein Modell mit Transistor Ausgang wünschen… Irgendwie passt die Logik nicht, ist aber egal…)

Hallo, sehr gerne,

reicht dir nur die Code oder brauchst du noch weiter Infos / Erklärung? (da wo XXXXXX ist sollten deine Daten sein) Mittlerweile sind es bissen mehr Sensoren geworden ;), die die du nicht brauchst, einfach löschen. wasserzaehler_startwert habe ich als Zahl-Helfer erstellt.

Gruß und viel ervolg.

# ================================
# WASSERZÄHLER HYDRUS 173
# ================================
esphome:
  name: wasserzaehler
  friendly_name: Wasserzähler

esp8266:
  board: nodemcuv2

logger:

api:
  encryption:
    key: „XXXXXXXXXXXXXXXXXXXXXXX“

ota:
  - platform: esphome
    password: „XXXXXXXXXXXXXXXXXXXXXXXX“

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2

  ap:
    ssid: "Wasserzaehler Fallback"
    password: „XXXXXXXX“

web_server:
  port: 80

captive_portal:

time:
  - platform: sntp
    id: sntp_time

# ================================
# ZÄHLERSTAND-STARTWERT AUS HA
# ================================
sensor:
  - platform: homeassistant
    id: startwert_m3
    entity_id: input_number.wasserzaehler_startwert

# =========================
# PULSE SENSOR
# =========================
  - platform: pulse_meter
    pin:
      number: D6
      mode: INPUT_PULLUP
    name: "Wasser Durchfluss"
    id: wasser_durchfluss
    unit_of_measurement: "L/min"
    accuracy_decimals: 3

    internal_filter: 100ms
    timeout: 15s

    filters:
      - multiply: 1.0

    total:
      name: "Wasserverbrauch Roh"
      id: wasser_roh_m3
      unit_of_measurement: "m³"
      accuracy_decimals: 3
      state_class: total_increasing
      device_class: water
      filters:
        - multiply: 0.001

# =========================
# IMPULSE
# =========================
  - platform: template
    name: "Impulse Gesamt"
    id: impulse_gesamt
    unit_of_measurement: "Impulse"
    accuracy_decimals: 0
    lambda: |-
      return id(wasser_roh_m3).state * 1000.0;
    update_interval: 10s

  - platform: template
    name: "Impulse Heute"
    id: impulse_heute
    unit_of_measurement: "Impulse"
    accuracy_decimals: 0
    lambda: |-
      return id(impulse_gesamt).state - id(start_impulse_tag);
    update_interval: 30s

# =========================
# VERBRAUCH
# =========================

  #  Zählerstand
  - platform: template
    name: "Wasser Zählerstand"
    id: wasser_gesamt_m3
    unit_of_measurement: "m³"
    accuracy_decimals: 3
    device_class: water
    state_class: total_increasing
    lambda: |-
      if (id(startwert_m3).has_state()) {
        return id(wasser_roh_m3).state + id(startwert_m3).state;
      }
      return id(wasser_roh_m3).state;
    update_interval: 10s

  #  Gesamt Liter
  - platform: template
    name: "Wasserverbrauch Liter"
    id: wasser_gesamt_l
    unit_of_measurement: "L"
    accuracy_decimals: 0
    lambda: |-
      return id(wasser_gesamt_m3).state * 1000.0;
    update_interval: 10s

  #  Tagesverbrauch (FIX: Rohwert!)
  - platform: template
    name: "Wasser Tagesverbrauch"
    id: wasser_tag_l
    unit_of_measurement: "L"
    accuracy_decimals: 0
    lambda: |-
      return (id(wasser_roh_m3).state - id(start_roh_tag)) * 1000.0;
    update_interval: 30s


# =========================
# KALIBRIERUNG
# =========================
  - platform: template
    name: "Liter pro Impuls"
    unit_of_measurement: "L/Imp"
    accuracy_decimals: 3
    lambda: |-
      if (id(impulse_heute).state > 0) {
        return id(wasser_tag_l).state / id(impulse_heute).state;
      }
      return 0;


# =========================
#  WLAN
# =========================
  - platform: wifi_signal
    name: "WLAN Signal"
    update_interval: 60s


# =========================
# GLOBALS
# =========================
globals:
  - id: start_roh_tag
    type: float
    restore_value: yes
    initial_value: '0'

  - id: start_impulse_tag
    type: float
    restore_value: yes
    initial_value: '0'

# =========================
# RESET UM 00:00
# =========================
interval:
  - interval: 60s
    then:
      - lambda: |-
          auto now = id(sntp_time).now();
          if (now.hour == 0 && now.minute == 0) {
            id(start_roh_tag) = id(wasser_roh_m3).state;
            id(start_impulse_tag) = id(impulse_gesamt).state;
          }


# =========================
# STATUS
# =========================
binary_sensor:
  - platform: template
    name: "Wasser läuft"
    device_class: moisture
    lambda: |-
      return id(wasser_durchfluss).state > 0.05;
    filters:
      - delayed_off: 20s

  - platform: template
    name: "Wasserleck erkannt"
    device_class: moisture
    lambda: |-
      auto now = id(sntp_time).now();
      if (now.hour >= 1 && now.hour <= 5) {
        return id(wasser_durchfluss).state > 0.1;
      }
      return false;
    filters:
      - delayed_on: 5min
      - delayed_off: 2min

# ========================================================= #

Das sieht sehr gut aus!

Hast du den Zähler direkt angeschlossen oder noch einen Widerstand dazwischen gesetzt? Finde dazu aktuell recht viel widersprüchliches.

Direkt angeschlossen, diese Thema Widerstand hatte ich auch lange recherchiert (pulup usw.) nach meiner jetzigen Kenntnisstand braucht diese Chip kein Widerstand (aber ohne Gewähr :wink:) bei mir funktioniert alles ohne Probleme und exakt. Gruß

@jack

“Pingback”: Are here users from Germany who got the AES-Key for Diehl Hydrus watermeter? Please post the company name · Issue #281 · wmbusmeters/wmbusmeters · GitHub

Hallo zusammen,

wollte unter diesem Beitrag nicht direkt fragen, da es hier ja ausschließlich um das Auslesen des Zählers geht.

Da hier die meisten aber jedoch wahrscheinlichen diesen Wasserzähler verbaut haben, lässt sich unter Umständen jemand finden, der Homematic IP in Benutzung und seit Einbau ähnliche Probleme hat.

Hallo.
Ich kann das nicht bestätigen. Ich habe auch vor einem Jahr diesen Wasserzähler verbaut bekommen und in unmittelbarer Nähe HomematicIP Geräte am laufen. Die funktionieren Problemlos…

Danke für die Rückmeldung! Dann scheint es ja parallel zu laufen.

Habe jetzt als ersten Lösungsansatz mal all meine Homematic IP Geräte stromlos gemacht und die Batterien entfernt und beobachte mal, ob der Carrier Sense Wert sinkt. Dann ist eventuell einfach ein Homematic IP Gerät defekt..

Es ist nur wirklich verrückt. 2 Jahre lief Raspberrymatic ohne Probleme. Dann Einbau des Zählers morgens um 10.00 Uhr & habe gerade mal in die Carrier Sense Entität geguckt –> seit dem Tag um 17.00 Uhr ist der Carrier Sense Wert unverändert bei 100%.

Hi Jack,

cool das du eine Lösung zu dem Wasserzähler gefunden hast. Wie hast du den Zähler mit dem ESP verkabelt?

Hallo und Herzlich Willkommen,

Hier meine Verkabelung

Braun auf GND

Gelb auf D6 (GPIO12)

Grün auf D5 (GPIO14) aber laut Beschreibung brauchst du denn nicht anzuschließen (bin aber zu “faul” wieder ins Keller zu laufen :wink: um den abzuklemmen)

Gruß und viel erfolg.