Nachdem ich meinen Stomzähler und dann auch meinen Gaszähler in Home Assistant eingebunden habe fehlte nun nur noch der Wasserzähler. Dieses Projekt wollte ich diese Woche im Rahmen der Hackweek24 angehen, doch dann kam letzte Woche ein Schreiben der Stadtwerke, dass am Mittwoch der Wasserzähler ausgetauscht werden wird. Ok, dann habe ich eben bis Mittwoch damit gewartet. Und nach Austausch des Zählers los gelegt.
Während der Stromzähler ja bereits eine Kommunikations-Schnittstelle eingebaut hat und man den Gaszähler durch Zählen der Magnetimpulse der letzten Zählerstelle noch irgendwie Smart machen kann sind Wasserzähler recht „dumme Geräte“ ohne irgendwe4lche Anschluss-Optionen an die smarte Technik um Haus.
Es gibt aber Abhilfe in Form des AI-on-the-edge Proojektes, das sich zum Ziel gesetzt hat Zähler durch Bilderfassung auszulesen. Dazu braucht man ein ESP32 Camera-Modul das man für etwas mehr als 10 Euro inklusive angeflanschtem ESP32 kaufen kann. Benötigt wird außerdem eine 16 GB micro-SD-Karte. Das Setup gemäß der Dokumentation ist trivial, einfach die Firmware auf den ESP flashen (geht via USB-Kabel) und dann die Speicherkarte mit der Konfiguration befüllen. Ich habe mich hier für den manuellen Setup entschieden, dann kann ich Zugangsdaten zu WiFi und MQTT gleich am PC in die entsprechene Konfigurationsdatei eintragen.
Um die ganze Elektornik in ein Gehäuse zu packen reicht es auf den gängigen Plattformen nach „water meter“ zu suchen. Ich habe mich für dieses Modell entschieden, da es für unterschiedliche Größen von Wasserzählern über Adapter-Ringe anpassbar ist. Gedruckt habe ich das schon vor ein paar Wochen, doch jetzt nachdem der neue Wasserzähler installiert war und ich eh dafür ein Regal temporär bewegen musste war natürlich der optimale Zeitpunkt um das am neuen Wasserzähler zu montieren. Hierbei musste ich für den Micro-USB-Stecker das Loch im Gehäusedeckel des Kameragehäuses etwas erweitern, was aber mit dem Entgrater den man eh fürs 3D-Druckern als Standardwerkzeug hat problemlos machbar war.
So ganz glücklich bin ich mit dem neuen Zähler nicht. denn das Glas des Zähler reflektiert stark. Klar, das ist keine Brille, da muss man keine entspiegelten Gläser einbauen, aber ich fand den alten Zähler besesr ablesbar. Egal, ändern kann ich da nicht, also mal den „Turm“ aufgesteckt und den Deckel mit der Kamera aufgesetzt.
Dann in die Grundkonfiguration des AI-on-the-edge und als erste Diagnose: Das Bild ist unscharf. Das liegt daran, dass das Kameramodul auf einen Bereich von 40cm bis „unendlich“ eingestellt ist, das Glas des Zählers aber nur knapp 11 cm vom Deckel entfernt ist. Also en Deckel nochmal abgeogen und die Kamera rausgeholt. Der Fokusring ist mit Klebstoff fixiert, wenn man diesen Klebstoff weggkratzt dann kann man den Fokusring drehen und dann am besten am Schreibtisch auf 11 cm Entfernung scharf stellen. Dann das Moul wieder auf den Turm stecken und ja, sieht besser aus.
Als nächstes müssen zwei Referenz-Marker ausgewählt werden anhand derer das Bild im Bedarfsfall ausgerichtet werden kann. Danach zieht man Rechtecke für die „diigits“ als ROI (Region of Interest) auf, Kreise für die analogen Zeigerchen. Das muss man später wohl mehrfach machen, immer wieder mal gucken, was die Webseite des Zählers anzeigt und ob es Probleme gibt.
Die Referenzbereiche sind im Bild rot umrandet, die Ziffernerkennungsbereiche blau und die analogen Zeiger grün. Und in der Ausgabe links sieht man, dass die Bilderkennung wohl funktioniert hat.
Diese Daten gehen dann via MQTT zum Home Assistant.
Wenn die Erkennung ausreichend gut funktioniert, dann kann man den Zähler auch ins Energie-Dashboard einbinden. Für den heutigen Vormittag sieht das dann so aus.
Man sieht also schön, wann nachts jemand zur Toilette musste und der erste Peak zwischen 6 und 7 war, als alle Bewohner aufstanden und ins Bad gingen. Ab etwa 8:30 lief dann die Waschmaschine was die nächsten hohen Balken erklärt.
Somit ist für nicht mal 20 Euro der Wasserzähler nun auch „smart“ gemacht.
Pingback: Steter Tropfen | König von Haunstetten