Gaszähler mart machen für 15€ mit Home Assistant

In diesem Video zeig ich dir, wie du deinen Gaszähler smart machen kannst.

Motiviert wurde ich, da die Gas Preise bei uns massiv gestiegen sind. Kennst du vielleicht.

Grundlage um den Gazähler smart auszulesen

Ich nutze seid einigen Jahren ESPHome. ESPHome ist eine Open-Source-Plattform für die Programmierung von IoT-Geräten. Es basiert auf der Programmiersprache YAML und ermöglicht die einfache Integration von Sensoren, Aktoren und anderen Geräten. Das ist mega gut integriert in Home Assistant, sprich man kann viel einfacher änderungen vornehmen. Darauf basiert das Ganze.

Jetzt müssen wir an unseren Gaszähler ran. Wichig ist, dass er einen Magnet verbaut hat.

Das ist schwer optisch zu sehen, musst du also am besten testen. Gut ist, wenn irgendwo was mit 0,01 m³ = 1 imp steht. Das heißt, ein Impuls entspricht z.b. 0,01m³ Gas. Bei mir ist das z.b. Rechts unten sichtbar.

So sieht mein Zähler fertig verkabelt aus.

Hardware

Um den Gaszähler auszulesen, musst du irgendwie erfassen, dass sich das rädchen dreht.

Es geht via Kamera, Infrarot oder wie hier vorgestellt über einen Hall Sensor. Manche haben auch Zigbee Fenster Kontakte genommen, dank euren Kommentaren auf YouTube und Discord habe ich aber erfahren, dass das nicht sehr zuverlässig läuft. Deshalb nehmen wir was besseren.

Um den Gaszähler smart zu machen, benötigst du einen Hall-Sensor und ein ESPHome-Board. Der Hall-Sensor wird am Gaszähler befestigt und misst die Rotationen des Zählerrads. Das ESPHome-Board empfängt die Signale des Hall-Sensors und sendet sie an eine Home-Automation-Plattform wie Home Assistant weiter.

Dabei gibt es zwei Varianten.

Variante 1: Hall Sensor https://amzn.to/3raE4bV *

Variante 2: fertiges Board mit hoffentlich 49E lineare Hall Sensoren: https://amzn.to/3rcageW *

Falls ihr nur die Sensoren haben wollt: Linearer Hall Sensor 49E zum ranlöten: https://amzn.to/4360Vm1 *

Es gibt grundsätzlich zwei typen von Hall Sensoren, die ich gefunden habe.

Die „normalen“ die man so findet, messen, ob sie ein Magnetfeld finden und geben „digital“ raus ja oder nein kein Magnetfeld. Das ist an für sich auch in Ordnung, nur in meinem Fall hat so einer nicht funktioniert sondern ich musste anhand einer Kennlinie sagen, wann der Zähler sich dreht. Dazu brauch man einen Hall Sensor z.B: den 49E, der analog ausgibt, wie stark das Magentfeld ist, das er erkennt. Das nutze ich und nenne es Variante 2.

Sonst brauchst du noch einen ESP8266

z.b. ESP8266 https://amzn.to/3pA5Fmj *

und ein 5V Netzteil https://amzn.to/3XCTCRV *

Sämtliche mit „*“ markierten Links hängen mit Amazon Partnerprogrammen zusammen. Sie dienen dir als potentiellen Käufer als Orientierung und verweisen explizit auf bestimmte Produkte. Sofern diese Links genutzt werden, kann im Falle einer Kaufentscheidung eine Provision an mich ausgeschüttet werden. Bei einem Kauf über diese Links fallen natürlich keine Mehrkosten an. Danke!!

Einrichtung

Beispielverkabelung bei einem Board mit 4 Ausgängen.

Hinweis: Je nach Board kann es sein, dass die PINS anders angeordnet sind. Check also immer, wie es auf deinem Board beschrieben ist.

Um den Hall-Sensor zu installieren, musst du ihn zuerst an der richtigen Stelle am Gaszähler befestigen. Das hängt von der Art des Zählers ab und erfordert möglicherweise ein wenig Experimentieren. Sobald du den richtigen Platz gefunden hast, befestige den Hall-Sensor sicher am Zähler.

Du kannst an für sich das Projekt bestimmt auch mit Tasmota nutzen, ich nutze aber vor allem ESP Home

Konfiguration in Home Assistant

Als nächstes musst du das ESPHome-Board programmieren. Dazu musst du zunächst die ESPHome-Software auf deinem Home Assistant installieren. Anschließend erstellst du eine neue Konfigurationsdatei für das Board und definierst darin den Hall-Sensor als Eingang. Du musst auch den Messbereich des Sensors kalibrieren, damit er korrekte Messwerte liefert.

Hier findest du als Beispiel meine zwei Code Varianten

https://github.com/thealkly/Gasmeter-esp8266/tree/main

Hier sieht du Variante 2 mit jeweils flexiblen Analog Messwerte. zwischen 0,55 und 0,54 V ist bei mir eine Drehung des Gaszählers, das zähle ich

Sobald du das Board programmiert hast, schließt du es an den Hall-Sensor an und platzierst es in der Nähe des Gaszählers. Das Board sendet dann die Messwerte des Sensors an die Home-Automation-Plattform, wo du sie anzeigen und automatisierte Aktionen basierend auf ihnen ausführen kannst.

Energie Dashboard

Ich feier sehr das Energie Dashboard.

Jetzt kannst du deinen Gaszähler, bei mir heißt der Sensor GasverbrauchAD in das Energie Dashboard einfügen

Und optiona noch einen Preis angeben und Home Assistant speichert für dich deinen Gasverbrauch.

Zusammenfassend lässt sich sagen, dass es relativ einfach ist, einen Gaszähler mit einem Hall-Sensor und ESPHome smart zu machen. Du musst lediglich den Sensor am Gaszähler befestigen, das ESPHome-Board programmieren und die Messwerte an eine Home-Automation-Plattform senden. Mit ein wenig Experimentieren und Feintuning kannst du dann alle möglichen interessanten Automatisierungen erstellen, um dein Zuhause noch intelligenter zu machen.

Alkly Dumme Dinge Smart machen

Alkly

Ich zeigt dir, wie du ohne Programmierkenntnisse und Herstellerabhängigkeit dein Zuhause mit selbst gebauter Smart Home-Technologie verbessern kannst.

Oh, hallo 👋
Schön, dich zu treffen.

DIY Smart Home leicht gemacht! Newsletter abonnieren und intelligente Lösungen entdecken!

Informationen dazu, wie ich mit deinen Daten umgehe, findest du in der Datenschutzerklärung. Du kannst dich jederzeit kostenfrei abmelden.

11 Anmerkung zu “Gaszähler mart machen für 15€ mit Home Assistant

    1. Alkly Autor des Beitrags

      Hey, manche Pins beim ESP funktionieren besser.
      D0 beim ESP wird z.B. zum Aufwecken aus Deep Sleep verwendet und ist beim Startvorgang HIGH also liegt Strom an.
      D1 (wie D2, D5, D6,D7) hat keine Einschränkung, deshalb nehm ich den.

      Antworten
  1. naish

    Hi,
    danke für deine Erklärung auf youtube und hier. Ich bin kurz davor anzufangen, aber habe vorab noch eine kleine Frage. Soweit ich dich verstehe, empfiehlts du die Variante 2. Das heißt man braucht nur:
    -den D1 mini ( https://amzn.to/3pA5Fmj)
    – den Hallsensor (https://www.amazon.de/gp/product/B08PBL81MC/ref=ox_sc_act_title_2?smid=A1YGM623B7CCLI&psc=1)
    wenn das so stimmt, an welche Anschlüsse löte ich die 3 Beine des Hallsensors?
    Oder brauche ich:
    – den D1 mini ( https://amzn.to/3pA5Fmj)
    – das Hallsensorboard (https://www.amazon.de/AZDelivery-KY-024-Linear-Magnetic-Arduino/dp/B07DPVTKBB?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3Q3AZ4HFF430Q&keywords=hall%2Bsensor&qid=1673635910&sprefix=hall%2Bsensor%2Caps%2C123&sr=8-5&th=1&linkCode=sl1&tag=alklyblog-21&linkId=bd1be7dd4b6fb6a9da49e92c1e4e91c7&language=de_DE&ref_=as_li_ss_tl)
    – den Hallsensor (https://www.amazon.de/gp/product/B08PBL81MC/ref=ox_sc_act_title_2?smid=A1YGM623B7CCLI&psc=1)
    Wenn die zweite Variante stimmt, dann ist der Anschluss klar und ich kann den Hallsensor entsprechend deines Videos anlöten.

    Insgesamt ist aus deiner Sicht die Lösung mit Hallsensor zuverlässiger, als die Lösung mit einem Reedsensor – korrekt?

    Vielen Dank für die Aufklärung!

    Antworten
    1. Alkly Autor des Beitrags

      Danke für dein Feedback!

      Ich empfehle eher das Board mit Hall Sensor integriert.
      https://amzn.to/3YX4NWk (Affiliate Werbung Link)
      Werde demnächst es auch wieder bauen und testen.
      Dort einfach den Sensor verlängern. Ggf finde ich noch ein einfacheres Board, das muss ich aber erst testen.

      Und dann genau ein ESP z.b. den D1.

      Dann hast du alles um los zu legen 🙂
      Hall Sensor ist viel robuster als ein Reed Schalter.
      Also du erkennst einfacher, ob der Gaszähler sich gedreht hat.

      Antworten
      1. naish

        vielen Dank! Habe die Teile jetzt mal bei Amazon bestellt und nächstes Wochenende geht es hoffentlich los. Danke dir für deine Unterstützung!

        Antworten
  2. Stephan

    Hallo Alkly,
    kurz zu mir. Ich bin ganz grün bei Home Assistant unterwegs und steige gerade von IO- Broker um. Was das Programme schreiben anging, ist es mir mit Blockly leicht gefallen. Hier stoße ich auf Neuland und Yaml , ESPHome etc. ist doch eher programmieren 😉
    Ich hatte meine Gasmessung bereits automatisiert mit IO Broker und da kam mir dein Video gerade recht, für den Umstieg.
    Eine Frage:
    Ich würde gerne den Jahresverbrauch im Dashboard sehen. Daher habe ich in der Yaml Datei folgendes angepasst, also eher die Kommentare lesen:
    #counter für die impulse normal
    – id: total_pulses1
    type: int
    restore_value: false
    initial_value: ‚32321‘
    # in initial_value kommt rein:
    # Aktueller zählerstand 21361.211 in m3 abzgl. Start 21038m3 für Gasversorger am 1.10.24 = 321,211
    # da hier aber Pulse gezählt werden, die 0,01m3 entsprechen, muss mit 100 multipliziert werden
    # daher 321,211 x 100 = 32121 (ohne Komma, da es ja Impulse sind -> Integer)

    Ist meine Überlegung korrekt?

    Schöner wäre es noch gewesen, im Dashboard ein Eingabefeld zu haben, wo ich den Startwert in m3 für die neue Abrechnungsperiode eintragen kann. Daran bin ich aber bisher total gescheitert mit den Anpassungen und Berechnungen in der configuartion.yaml.:-)
    vg Stephan

    Antworten
  3. Radi

    Vielen Dank für die Idee und die Anleitung! Ich habe es mit Tasmota auf dem D1 mini und dem D0-Anschluss des Hall-Sensors gemacht. Funktioniert bei max. Empfindlichkeit perfekt; beim analogen Anschluss wurde zu häufig falsch gezählt. Der Counter wird bei mir dann per MQTT an fhem übermittelt, wo die eigentliche Auswertung passiert.

    Antworten
  4. Stephan

    Hallo Alkly, ich habe es umgesetzt.
    Allerdings kommt die Warnung: Unerwartete Maßeinheit für „sensor.gasverbrauch_kwh“ Funktioniert aber alles, wie es aussieht.
    Ich glaube in der yaml müsste device_class: gas in device class: energy geändert werden?
    Wie geschrieben bin ich mit HA noch nicht vertraut.
    vg

    Antworten

Schreibe einen Kommentar

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