Analoge Wasseruhr mit ESP32 auslesen und zum Home Assistant schicken

Verbrauche in seinem Smarthome zu dokumentieren, ist auch mit analogen Wasseruhren und Gaszählern möglich. Dank lokal laufender künstlicher Intelligenz können die Bilder eines Wasserzählers von einer Kamera z.B. ESP32 Cam ausgelesen und verarbeitet werden.


Die Werte werden dann über MQTT z.B. an den Home Assistant geschickt. Das komplette Projekt ist auf GitHub zu finden:

Projekt auf Github

MQTT Sensor in Home Assistant (Basis)

Im Home Assistant wird dann mit folgendem Code ein MQTT Sensor hinzugefügt und schon stehen einem die Werte für weitere Auswertungen zur Verfügung!

mqtt:
  sensor:
    - name: "Wassersensor"
      state_topic: "wassersensor/main/value"
      value_template: "{{ value }}"

Erweiterte Darstellung

Wenn der oben gezeigte Weg Werte liefert, dann ist der nächste Schritt noch ein paar weitere Informationen aus dem ESP rauszukitzeln, wie zum Beispiel Liter, Flussrate und den letzten Wert:

mqtt:
  sensor:
    - name: "Wassersensor"
      state_topic: "wassersensor/main/value"
      value_template: "{{ value }}"
      unit_of_measurement: "m³"
      icon: "mdi:water-pump"
    - name: "Wassersensor Liter"
      state_topic: "wassersensor/main/value"
      value_template: "{{( value | float * 1000 ) | round(2)}}"
      unit_of_measurement: "l"
      icon: "mdi:water-pump"
    - name: "Wassersensor Flussrate"
      state_topic: "wassersensor/main/rate"
      value_template: "{{ value }}"
      icon: "mdi:swap-vertical"
    - name: "Wassersensor letzter Wert"
      state_topic: "wassersensor/main/timestamp"
      value_template: "{{ value }}"
      icon: "mdi:clock-outline"

Fehlermeldungen auslesen

Zudem kann man noch einen Template-Sensor erstellen, der im Falle eines Fehlers (error) eingeschaltet wird:

template:
  - binary_sensor:
    - name: "Wassersensor Fehler"
      state_topic: "wassersensor/main/error"
      value_template: "{{ value != 'no error' }}"
      json_attributes_topic: "wassersensor/main/json"
      icon: "mdi:alert-circle"

Tages-, Wochen und Jahresverbrauch anzeigen lassen

Die Integration von Verbrauchszählern (Utility Meter) bietet Funktionen zur Erfassung des Verbrauchs verschiedener Versorgungsleistungen (z. B. Energie, Gas, Wasser, Heizung).

Aus der Sicht des Benutzers arbeiten Versorgungszähler zu Abrechnungszwecken in Zyklen (normalerweise monatlich). Dieser Sensor verfolgt die Werte eines Quellsensors und setzt den Zähler automatisch auf der Grundlage des konfigurierten Zyklus zurück. Beim Zurücksetzen speichert ein Attribut den vorherigen Zählerwert und ermöglicht so Vergleichsoperationen (z. B. „Habe ich diesen Monat mehr oder weniger ausgegeben?“) oder eine Abrechnungsschätzung (z. B. durch eine Sensorvorlage, die den gemessenen Wert mit dem Betrag der abgerechneten Einheit multipliziert).

Einrichtung mit „Helfern“

Möchtest du Verbrauchszähler einrichten? Dialogfenster von Home Assistant zum hinzüfügen von Wasserverbrauch, Gasverbrauch sowie anderen Werten

Dank der kontinuierlichen Erweiterung von Home Assistant können jetzt die Verbrauchszähler über die Helfer hinzugefügt werden. Klicken Sie auf den folgenden Link und Sie werden direkt zu der richtigen Seite über my.homeassistant geleitet und Ihr Home Assistant fragt Sie: „Möchtest du Verbrauchszähler einrichten?“

:warning: Hinweis

Der Code in diesem Beitrag wurde auf das aktuelle Formt für Home Assistant angepasst.
sensor: - plattform: mqtt Schreibweise wird nicht mehr unterstützt
Der ursprüngliche Code mit der nicht mehr unterstützten Schreibweise (deprecated) ist hier zu finden:

Vielen Dank an saruter · GitHub :partying_face: