Unkonventioneller Gaszähler mit Aqara / Xiaomi Fenstersensor in Home Assistant

In diesem Artikel stelle ich einen unkonventionellen Gaszähler in Home Assistant vor. Wir nutzen den Aqara oder Xiaomi Fensterkontakt 🪟 und bauen diesen in das Energie-Dashboard ein.

Teile diesen Beitrag

Inhalt

Einleitung

Seit einigen Monaten steht das Thema Gaszähler und Home Assistant auf meiner To-do-Liste. Es wäre schön, wenn ich neben dem Stromverbrauch und der Photovoltaikanlage auch noch den Gasverbrauch im Energie-Dashboard sehen würde. Ursprünglich war eine Lösung über einen Mikrocontroller und ESPHome angedacht. Nun bin ich auf den Blogs von 107er.net und affengriff.net (leider ursprüngliche Webseite nicht mehr verfügbar) auf eine kreative und unkonventionelle Methode aufmerksam geworden. Diese verwendet den Kontakt eines Zigbee Fenster- und Türsensors von Aqara oder Xiaomi. Beide Versionen (kantig = Aqara; rund = Xiaomi) sind nach dem Ausbau der Platine von der Elektronik und dem Formfaktor kaum zu unterscheiden. Diese funktionieren technisch identisch.

Aqara Tür – und Fenstersensor
reichelt Preis: € 19,99 (€ 5,95 Versand)

Aqara Tür- und Fenstersensor (2er Pack)
notebooksbilliger Preis: € 31,99 (€ 3,99 Versand)

Aqara Tür- und Fenstersensor (3er Pack)
notebooksbilliger Preis: € 47,99 (€ 3,99 Versand)

Bei einigen Links handelt es sich um sog. Affiliate-Links, d.h. ich bekomme eine kleine Provision für eure Bestellung. Für euch ist der Preis keinesfalls höher, als bei einer direkten Bestellung. Ich weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Theorie & Gaszähler

Ich habe bei mir im Haus einen Gaszähler von Pipersberg namens G4 RF1 verbaut. Einen baugleichen Zähler gibt es auch von den Firmen Arktis, Actaris, Schlumberger oder Itron. Dabei ist die Aufzählung sicherlich nicht vollständig. Gerne Bescheid geben, wenn ich einen Hersteller nachtragen kann.

Am Zähler ist abzulesen, dass ein Impuls mit 0,1 m3 gemessen wird. Diesen Impuls kann man im oberen Bereich des Zählers anhand mit einem Reed-Kontakt ablesen. Hierbei ist es wichtig, dass die korrekte Nachkommerstelle, die ein Metallplättchen verbaut hat abgelesen werden kann. In unserem Fall ist dies die zweite rote Stelle. Eine Dokumentation des Zählers ist hier zu finden.

Anlernen an Home Assistant

Bevor wir die Elektronik eines der beiden Sensoren ausbauen, lernen wir den Sensor über ein langes Drücken der Taste an Zigbee2MQTT an. In unserem Beispiel wird die Aqara Version verwendet. Wir benennen den Sensor in eg_har_gaszaehler um, damit wir diesen auch gut wiederfinden. Die Namenskonvention bedeutet Erdgeschoss (eg), Hausanschlussraum (har) und Name (gaszaehler).

Ausbau der Elektroplatine

Nach dem Anlernen bauen wir die Elektronikplatine aus. Den Aqara Sensor müssen wir nach dem Öffnen des Batteriefachs noch mit einem Schraubenzieher aufhebeln, um an die elektronische Platine zu kommen. Beim Xiaomi Sensor liegt die Platine nach dem Öffnen schon frei im Kunststoffgehäuse.

Einbau am Gaszähler

Die Elektronikplatine wird nun mit der Batterie nach oben und links in die Öffnung des Gaszählers gesteckt. Laut 107er.net muss die Positionierung ungefähr 0,5 cm vom rechten Rand entfernt sein.

Zur Prüfung könnt ihr den Sensor einfach mal ein paar Stunden in Home Assistant analysieren. Hierbei solltet ihr prüfen, ob der Sensor immer mal wieder ein Öffnen und Schließen registriert.

3D Druck Gehäuse

Die Lösung mit der nackten Platine ist zwar voll funktionsfähig, gefällt aber optisch nicht. Auch kann sich die Positionierung schnell verschieben, was die Funktion der Lösung beeinträchtigen kann.

Bei Tinkercard ist für unseren Use Case ein 3D Modell erstellt worden. Das gedruckte Modell ist optisch und von den Maßen ideal, doch leider passt die Positionierung des Sensors nicht. Ich erhalte leider keine Signale.

Daher muss ich erst einmal mit der einfachen Lösung leben. Ein eigenes funktionierendes 3D Modell werde ich aber zu gegebener Zeit erstellen und anschließend veröffentlichen.

Einrichtung als Gaszähler

An dieser Stelle realisieren wir in Home Assistant die Rechnungen als Gaszähler. Hierfür benötigen wir Helfer vom Typ Zähler (counter) und Nummer (input_number). Helfer können wir unter „Einstellungen / Geräte & Dienste / Helfer“ anlegen.

Zähler (counter)

Der Zähler ist für das Speichern der Impulse pro Tag verantwortlich. Wir legen diese wie folgt an:

Nummer (input_number)

Die Nummer stellt den tatsächlichen Gasverbrauch des Gaszähler dar. Initial sollte hier nach der Erstellung der Wert des eigenen Gaszählers eingetragen werden. Dieser wird anschließend automatisch durch Home Assistant erhöht.

Diesen legen wir wie folgt an:

Automatisierungen

Wir benötigen nun zwei Automatisierungen, damit die beiden Helfer erhöht bzw. zurückgesetzt werden. Automationen lassen sich unter „Einstellungen / Automatisierungen & Szenen“ anlegen.

EG_HAR: Gaszähler erhöhen

In dieser Automatisierung werden der Zähler sowie die Nummer beim Öffnen des Fensterkontaktes um eins erhöht.

				
					alias: "EG_HAR: Gaszähler erhöhen"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.eg_har_gaszaehler_contact
    to: "on"
condition: []
action:
  - service: counter.increment
    data: {}
    target:
      entity_id: counter.eg_har_gaszaehler
  - service: input_number.increment
    data: {}
    target:
      entity_id: input_number.eg_har_gaszaehler
mode: single
				
			

EG_HAR: Gaszähler zurücksetzen

Hier wird jeden Tag um Mitternacht der Zähler zurückgesetzt.

				
					alias: "EG_HAR: Gaszähler zurücksetzen"
description: ""
trigger:
  - platform: time
    at: "00:00:00"
condition: []
action:
  - service: counter.reset
    data: {}
    target:
      entity_id:
        - counter.eg_har_gaszaehler
mode: single
				
			

Prüfung

Beiden Helfer sollten sich nun automatisiert erhöhen und beispielsweise wie folgt aussehen:

Einbau in das Energie Dashboard

Wir erhalten zwar die aktuellen Werte unseres Gaszählers, diese sind leider nicht mit dem Energie-Dashboard in Home Assistant kompatibel. Das Dashboard erwartet bei der Gaszählung Verbrauchswerte in den Formaten Kilowattstunden (kWh) oder Kubikmeter (m³). Hierfür erstellen wir uns zwei Templatesensoren im Helferbereich. Als Erstes wird der Sensor m³ erstellt, da dieser für die kWh Berechnung als Basis dient.

Kubikmeter (m³)

				
					{% set gas = states('counter.eg_har_gaszaehler') | int %}
{{ ((gas) * 0.1) | round(1, default=0) }}
				
			

Kilowattstunden (kWh)

Wir erstellen erneut einen Templatesensor. Den Multiplitzierfaktor können wir unserer Gasrechnung entnehmen. Bei mir sieht die Rechnung wie folgt aus: 

				
					{% set kwh = states('sensor.gasverbrauch_m3') | float %}
{{ ((kwh) * 11.494) | round(1, default=0) }}
				
			

Energie Dashboard

Nun können wir unter „Einstellungen / Dashboards / Energie“ einen der beiden Sensoren verwenden. Diese fügen wir mit „Gasquelle hinzufügen“ ein. Ich habe mich für die Verwendung von kWh entschieden.

Nach spätestens zwei Stunden werden die ersten Messwerte im Energie-Dashboard angezeigt und wir haben unser Ziel erreicht.

Zusammenfassung & Fazit

Nach mehreren Wochen Nutzung des Fensterkontaktes kann ich für mich sagen, dass die berechneten Messwerte zum aktuellen Gaszählerstand passen. Mögliche Abweichungen im Nachkommabereich kann man leicht durch die Anpassung der input_number korrigieren. Für meine Ansprüche ist die Lösung mehr als ausreichend. Zugegebenermaßen hätte ich diese unkonventionelle Art des Auslesens nicht auf dem Zettel gehabt, wäre ich nicht über ähnliche Blogartikel gestolpert.

11 Antworten

  1. hey, Super Artikel, bin auch schon über die anderen gestossen. Mit dem 3D gedruckten Gehäuse hat es bei mir auch noch nicht funktioniert. Werde das mal ohne reinlegen, wäre aber super interessiert an einem Modell falls du eins bereitstellen würdest.

  2. Hallo Chris,
    erstmal danke für die Anleitung. Ich habe trotzem Fragen :
    1) Warum braucht man 2 unterschiedliche Typen von Helpern : Zähler (counter) und Nummer (input_number)
    Nachvollziehbarer wäre doch 2x der gleiche Typ:
    Nummer (input_number) daily
    Nummer (input_number) total
    2) Warum haben die beiden bei Dir unterschiedliche Schrittgrößen ? Warum nicht gleich 0,1 als Schrittgröße und dann spart man sich nachher die Multiplikation mit 0,01
    3)

    oder verstehe ich da etwas falsch?
    Auch die Umrechnung in kWh kann doch in einem Schritt erfolgen.

    1. Sicherlich kann man die Logiken auf unterschiedlicher Weise umsetzen und bestimmt auch smarter. Ich habe mich auf die verlinkten Quellen bezogen und diese als Basis genommen.

  3. hallo chris!
    super Artikel, danke dafür.
    Ich verwende einen Tür/Fensterkontakt, lag nahe diesen zu benutzen, da bei jedem ein Reed-Sensor verbait ist (bei einigen modellen stärkere/andere wiederum schwächer). ich bekomme nun excellente Signale, allerding ist mein Sensor noch immer als Türsensor deklariert. Zudem habe ich noch eine Besonderheit, denn mein Gaszähler sendet einen Impuls sobald er sich auf die Ziffer „9“ gedreht hat und ein weiteres, kurz danach, sobald er sich auf die Ziffer „0“ gedreht hat.

    Wie gehe ich denn da genau vor? Wie wäre die Automation bzw. der Helfer denn dann zu bestimmen/definieren? Kann ich ein Signal irgendwie ignorieren?

    lg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Weitere Einträge