
Smarter Gas- Da ich mein Smarthome immer mehr mit Daten füttere, um weitere Aktionen auszuführen, bin ich bei der Erfassung von Strom/Gas angekommen.
So war es mir wichtig die Verbräuche zu verfolgen, automatisiert zu dokumentieren und mir täglich die Verbräuche zur Verfügung zu stellen.
Inhalt
Als erstes habe ich versucht, die Impulse des Gaszählers auszuwerten. Dies ist möglich, da jeder moderne Gaszähler bei jeder Umdrehung einen magnetischen Impuls abgibt.
Ich testete dies mit einem Zigbee-Fensterkontakt. Dieser erwies sich im Betrieb als zuverlässig. Das Problem war jedoch, dass die Impulse verloren gingen, wenn die Smarthome-Zentrale offline war (z.B. bei einem Backup oder einem Stromausfall). Dadurch driftete der tatsächliche Zählerstand vom gespeicherten Zählerstand ab.
Daher suchte ich nach einer Möglichkeit, diese Impulse mit einem ESP zu trocknen. Sollte die Smarthome Zentrale die gesendeten Werte nicht annehmen, würden diese gespeichert werden. Aber auch das hat sich in der Praxis als nicht zuverlässig erwiesen.
6. April 2025 12:44
Deshalb zeige ich jetzt den besten und sichersten Weg. Wir ignorieren die Impulse und erfassen den Zählerstand direkt mit einer Kamera. Das aufgenommene Foto wird analysiert und per KI ausgelesen und in Zahlen umgewandelt.
AI-on-the-edge-device -Smarter Gas
Das Programm von jomjol auf Github läuft auf einem ESP mit einem Kameramodul.

Was wird benötigt
ESP32 * mit Kamera-Modul (Ich hatte ein paar ESP ausprobiert. Nur mit diesem hatte ich keine Probleme)
USB-Adapter * oder FTTI-Adapter * (vorzugsweise die USB-Adapter Platine)
Jumper-Kabel * (wenn der FTTI-Adapter verwendet wird)
5V-Netzteil * (Zur Stromversorgung)
Installation
Im Laufe der Zeit ist es den Entwicklern gelungen, die Installation zu vereinfachen. So muss man den ESP32 nur noch richtig verkabeln oder sich diesen Schritt mit einem USB-Modul erleichtern. Der ESP32 muss dann nur noch auf das Modul gesteckt werden und kann sofort mit dem Flashen beginnen.
Da ich dieses Modul nicht habe, habe ich es mit einem FTTI-Adapter * verkabelt.
Nun wechseln wir in den Chrome Browser. Dort rufen wir die Webseite zum Online-Flasher auf und verbinden der ESP32 mit dem Computer.

Nun kann der Button Connect ausgeführt werden. Nach erfolgreicher Verbindung beginnt die Installation.
Hardware vorbereiten
Zuerst müssen wir die Kamera scharf stellen. Das ist der riskanteste Teil. Denn die Kameras der ESP-Module haben einen kleinen Klebepunkt, der den Fokusring an der Kamera fixiert.

Da die Kamera von Haus aus auf größere Entfernungen eingestellt ist, müssen wir diesen Klebepunkt vorsichtig! mit einem scharfen Messer entfernen. Danach können wir den Fokus der Kamera in die Nähe verschieben. Die genaue Einstellung nehmen wir später vor.
SD-Karte vorbereiten
Da das Programm noch weitere Daten benötigt, laden wir die Datei AI-on-the-edge-device__manual-setup__vXXXXXX.zip von Github herunter.
Im heruntergeladenen Ordner befindet sich die Datei sd-card.zip. Diese wird nun auf eine Micro-SD-Karte * kopiert. Anschließend müssen die Wlan-Daten in die wlan.ini eingetragen werden.

ssid = "DEINE-SSID"
password = "DEIN-PASSWORD"
ESP an dem Gaszähler montieren
Dafür habe ich mir viele 3D-gedruckte Gehäuse angeschaut. Leider hat mich keines überzeugt, da sich der Gaszähler bei mir in einer kleinen Nische in der Wohnung befindet, wo auch der Staubsauger und andere Reinigungsutensilien stehen. Die Gehäuse sind zu groß, da der ESP frontal auf den Zähler schaut. Durch Zufall bin ich auf dieses Gehäuse gestoßen. Es ist viel kompakter und der ESP kann auf der Oberseite montiert werden, da innen ein Spiegel aufgeklebt ist, der um die Ecke schaut.
Ich habe das Gehäuse in weiß gedruckt. Auf dem ESP32 befindet sich ein Blitz, der ausgelöst wird, wenn der Zählerstand fotografiert wird. Dies scheint durch das weiße Gehäuse durch. Da ich es schon bedruckt hatte, habe ich es von innen mit schwarzer Farbe besprüht.
So leuchtet das Gehäuse nicht mehr im Dunkeln und der Kontrast ist besser.

Einrichtung

Sobald der EPS32 mit Strom versorgt wird, kann mit der Konfiguration über die IP-Adresse begonnen werden. Dabei ist es wichtig, dass der EPS32 fest mit dem Gaszähler verbunden ist und sich nicht mehr bewegen kann.
Referenzbild
Die Installationsschritte sind einfach und mit Erklärungen versehen. Der erste Schritt ist die Erstellung eines Referenzbildes. Dazu wählen wir „Create New Reference“. Mit den jeweiligen Punkten „Mirror Image“, „Pre-Rotate Angle“, „Bringhtness“ und „LEDIntensity“ kann das Bild gerade ausgerichtet und im Kontrast verstärkt werden.

Referenzpunkte
Anschließend fragt das AI-on-the-edge-Gerät nach Referenzpunkten. Anhand dieser Referenzpunkte wird das aufgenommene Bild ausgerichtet. Hier empfehle ich zwei Punkte zu nehmen, die entweder am oberen und unteren Rand oder schräg versetzt liegen. In meinem Beispiel nehme ich die Zahl 2019 und auf der rechten Seite die m3.

Über die Select Reference Auswahl kann zwischen den Punkten gewählt werden. Vergessen Sie nicht, dies mit dem Update Button zu bestätigen und zu speichern.
Digitale Werte
Im nächsten Schritt erstellen wir die einzelnen Bereiche der zu lesenden Zahlen. Zuerst wählen wir die erste Zahl aus. Dazu muss sich die Zahl vollständig in dem kleinen Kästchen befinden. Nimm dir dafür viel Zeit. Je genauer, desto besser.

Weitere Zahlen können über „Neue ROI“ erstellt werden. Wenn die Zahlen nicht perfekt aneinander liegen, deaktiviere die Checkbox Synchronize. So kannst du die Zahlen einzeln in Größe und Position verschieben.
Analoge Werte
Im nächsten Schritt können noch analoge Zähler (z.B. auf Wasseruhren) angelegt werden. Da mein Gaszähler dies nicht hat, wähle ich diese nicht aus.
Nach diesem Schritt startet der ESP32 neu.
Konfiguration überprüfen
Jetzt heißt es warten. In der Standardkonfiguration erstellt das Programm alle 5 Minuten ein neues Bild und analysiert es. Warte lieber ein paar Minuten länger. Dein Zählerstand sollte nun erkannt und in Text (Zahlen) umgewandelt werden. Sollte dies nicht der Fall sein, kann die Konfiguration über den Reiter Settings nochmals angepasst werden.

Weitere Einstellungen
Im letzten Schritt gehen wir nun auf Settings > Configuartion.
Den Punkt Decimal Shift stelle ich auf „-2“, da ich zwei Nachkommastellen auslesen möchte (dig5 und dig6).

Im Bereich MQTT trage ich meinen MQTT-Broker und ggf. die Anmeldedaten ein.
Integration im ioBroker
Nach einem Neustart von AI-on-the-edge-device überträgt dieser tolle Helfer alle 5 Minuten die Werte per MQTT an meinen ioBroker. Zuverlässig und immer genau. Für mich also die beste Lösung, um einen Wasser- oder Gaszähler auszulesen!

6. April 2025 12:44
Schreibe einen Kommentar