Gaszähler

Bei modulierenden Gas-Brennern ist es interessant, den Gasverbrauch detailliert in hübschen Diagrammen zu veranschaulichen. Bei Brennern ohne Modulation kann der Durchfluß einfach aus der Laufzeit des Brenners abgeleitet werden. Bei der genauen Betrachtung des Gasverbrauches kommt man überflüssigen Energiefressern oder falscher Programmierung leichter auf die Spur. Dafür sollte der Gaszähler direkt ausgelesen werden.

Das manchmal merkwürdige Verhalten einer Heizungssteuerung kann durch die genaue Protokollierung des Gasverbrauchs gut dokumentiert werden. Mit diesen Daten lässt sich dann die Programmierung der Heizungssteuerung korrigieren/optimieren.

Der bei mir verbaute Gaszähler heisst G4 RF1 (Haushaltsbalgengaszähler) von Pipersberg aus Remscheid. Das Datenblatt sollte auch weiterhin im Netz bei Pipersberg zu finden sein. 

Neben Pipersberg wird dieser Gaszähler unter gleichem Namen (G4 oder RF1) noch von einigen anderen Herstellern gebaut.

Dieser allererste "Testaufbau" (Netzteil, Reedkontakt, LED, Widerstand) einer elektrisch/elektronischen Schnittstelle zu dem Gaszähler zeigt einen Reedkontakt in dem weissen Plastikgehäuse oberhalb des Zählwerkes. Laut Aufdruck  auf dem Typenschild soll es geben : "1 Imp. entspricht 0,1 m3" .

Um das zu erreichen ist im Zählwerk an der zweiten Rolle nach dem Komma ein Magnet angebracht. Das ist das Rädchen, das auf dem Foto eine "7" zeigt. Ein Reedkontakt in der Nähe dieser Rolle liefert somit einen Impuls pro 0,1 m3 gemessenem Gas. Den Reed-Kontakt Aufnehmer gibt es fertig passend für ca. 35 Euro vom Hersteller des Gaszählers. Er wird oberhalb des Zählwerks in die Aussparung gesteckt. Dorthin, wo jetzt der Reedkontakt im weissen Gehäuse zu sehen ist. Ein Selbstbau ist möglich und natürlich viel spannender und preiswerter.

So sieht das Magnetfeld der sich drehenden Rolle aus :

Es ist also möglich, siehe obiges Foto der Messung, die Position des Magneten für jede der 10 Positionen des Rades aufzulösen. Deutlich netter als nur einen Impuls pro 0,1 m3. Die Messung wurde auf einem iPhone mit der tollen iOS App "Phyphox" der RWTH Aachen aufgenommen. Mit einem per I2C angebundenem Magnetometer (ca. 5 Euro) kann man diese Auflösung auch mit einem externen Raspi-Gaszähler erreichen.

Die genaue Messung wurde gemacht, um zu überprüfen, ob überhaupt ein Magnet im Zählrad verbaut ist. Denn die ersten Versuche mit den Reedkontakten aus der Grabbelkiste verliefen enttäuschend. Erst ein etwas kleinerer Reedkontakt (60 Volt, 10 mA)  funktionierte. Geschaltet wird bei der Ziffer "7".

Ein etwas älterer Raspi (Model B Revision 2) kann also abgestellt werden, um einen elektronischen Zähler parallel zum mechanischen Zähler per Reedkontakt mitlaufen zu lassen. Der Model B Raspi hat noch kein eingebautes WiFi. Die WiFi Leistung der neuen Raspis mit eingebautem WiFi Tranceiver ist nicht überragend, weil es keine externe Antenne gibt. Demgegenüber erhöht der extern angesteckte USB-WiFi-Transceiver (Edimax N300 EW-7612UAn V2, High-Gain Antenna, ca. 10 Euro) mit WiFi Antenne die Reichweite des WiFis durch zwei Betondecken hindurch. Die Software ist in Node-RED geschrieben und bei github zu finden :

          https://github.com/Ekkib/Gas_Meter  

Hier gibt es das Flussdiagramm und ein paar Bildschirmfotos.

Das Projekt in Fritzing Notation.

Zusammenfassung

Das Programm Gasmeter (gas_meter) laeuft parallel zu einem Gaszaehler auf jedem bisher erschienenen Raspi. Der Wechsel des Zaehlerstandes wird per Reed-Kontakt erfasst. Die momentane Leistung wird aus dem zeitlichen Abstand der Zaehlimpulse berechnet. Das Programm ist mit node-RED erstellt und benutzt zur Bedienung per WEB-Browser die Erweiterung "Dashboard", /ui : https://flows.nodered.org/node/node-red-dashboardIn der Benutzeroberflaeche "Dashboard" ist auch ein Simulationsmodus für permanenten Gasfluss und manuelles Ueberschreiben des Reed-Kontaktes implementiert. Die Ergebnisse werden grafisch ueber die letzten 4, 48 und 120 Stunden und in einer Monatsgrafik dargestellt. Die Rohdaten wandern zur genaueren spaeteren Auswertung in 4 unterschiedliche Logfiles. Die Werte "Leistung", "Zaehlerstand" und "aktueller Tagesverbrauch" werden ueber https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket an Home Assistant  weitergegeben. Zur Zeit unterstuetzte Aufloesungen : 0,1 und 0,01 m3 pro Impuls.

Aufbau des Prototyps

Schaltplan :

Die LEDred1  geht an, sobald der Reed-Kontakt schaltet. Über einen 1 kOhm Widerstand geht das Signal an GPIO4 des Raspi. Wer auf eine vom Raspi unabhängige Rückmelde-LED verzichten kann, kann den im Raspi eingebauten Pullup/Pulldown Widerstand von circa 50 kOhm per Software einschalten. Dann besteht die Aussenbeschaltung nur aus einem Reed-Kontakt und einem in Reihe geschaltetem 1 kOhm Schutzwiderstand.

Ein anderer freier I/O Pin (Pin 13) treibt als Ausgang über einen 1 kOhm Widerstand eine an Ground (Pin 9, Pin 25 oder Pin 14) angeschlossene LEDred2. Diese LEDred2 blinkt im 10 Sekunden-Takt ("Heart-Beat") und bei jedem Signalwechsel des Reed-Kontaktes. Dann sieht man bei eventuellen, in der Regel temporären, Einbrüchen des WiFi Netzes, daß der Raspi weiterhin korrekt "tickt". Ferner zeigt die Leuchtdiode LEDred2 permanent den Status des Reed-Kontaktes (an/aus) an.

Eine "Sparversion" der obigen Schaltung sieht wie folgt aus :

(GPIO_4, Pin 7)--[Reed-Kontakt]--(1 kOhm)--(GND, Pin 9)--(1 kOhm)--I<I--(GPIO_27, Pin 13)

Im Netz wird berichtet, daß auch der Meder Näherungssensor, MEDER electronic (Standex) MK04-1A66B-500W, ca. 2 Euro, funktioniert. Das ist ein "eingepackter" Reed-Kontakt, der schon ein nettes Gehäuse mit Befestigungslöchern und ein ca. 50 cm langes Anschlußkabel hat.

Es gibt noch keine präsentable Halterung für den Reed-Kontakt im Gaszähler. Zur Zeit klemmt ein passend zurecht gefaltetes Stück Pappe den Reed-Kontakt fest. Das ginge natürlich deutlich eleganter.

Die Diagramme zeigen die Leistung des Brenners als Kehrwert der Impulslänge an. Die Werte auf der Ordinate (0 - 100) geben die Prozentzahl der bislang maximal gemessenen Leistung an. 

Energieverbrauch

Das Programm zeigt den Gas-Verbrauch in m3 Gas. Ein m3 Gas ergibt ca. 10 kWh Energie, sodass die Umrechnung in gebräuchliche Einheiten sehr einfach ist.

Das Diagramm des Tagesverbrauches gehört ebenfalls zum Raspi-Programm und zeigt auf der X-Achse die "Tagesnummer" des laufenden Datums, auf der Y-Achse die verbrannten Kubikmeter Gas. An den Tagen 21, 22, 26 und 29 gab es hohe Aussen-Temperaturen, so daß die Heizung ausgeblieben ist. Die Tage in dem ausgewählten Diagrammtyp "rollieren". Neue Werte des neuen Monats überschreiben die alten Werte des Vormonats. Dabei wird der Wert für den aktuellen Tag dynamisch aufgebaut. Daneben können die in CSV Dateien vorliegenden Rohwerte noch beliebig ausgewertet werden.

Es gibt durchaus ziemlich große Varianzen im Tages-Gasverbrauch, wie das obige Diagramm (aufgenommen am 19.11.2023) im Vergleich zum ersten Diagramm zeigt. Leider ist die Funktion, die parallel zum Gasverbrauch die mittlere Aussentemperatur anzeigt, noch nicht implementiert. Hier sticht der 18.11.2023 heraus, weil in der vorherigen Nacht die Temperaturen die Frostgrenze erreichten.

Ein erster Eindruck der erfolgreichen Integration des Gaszählers in Home Assistant :

Eine weitere Möglichkeit, den Zählerstand auszulesen, ist die optische Ziffererkennung per Kamera. Beispiele dazu gibt es im Netz. Zum Beispiel mit OpenCV,  Open Computer Vision.

Ferner kann die Drehung der letzten  Stelle des Zählerstandes per Reflektionsdetektor optisch ausgewertet werden. Dafür ist beim niederwertigsten Zählrad der Bauch der Ziffer "6" spiegelnd implementiert. Im Netz wird dies die "spiegelnde 6" genannt : 

Für diese "spiegelnde 6" sollten die gleichen Sensoren funktionieren wie bei den Wasseruhren.