Der Winter ist schon halb lange (als der Artikel erschien) vorbei, doch der nächste kommt bestimmt. Daher war es an der Zeit die vorhandene Gastherme der Wohnung Internetfähig zu machen. Ziel war dabei die Einsparung von Gas. Bisher habe ich dazu die vorhandene Zeiteinstellung genutzt und beim Verlassen der Wohnung die voraussichtliche Ankunftszeit eingestellt. Das führt jedoch dazu, dass die Wohnung entweder noch kalt ist, sofern man früher als erwartet zurück kommt oder unnötigt geheizt wird, weil man später dran ist.

Ziel war es also die Heizung über das Internet fernsteuern zu können. Die Therme selbst wurde bis dahin mit einem Junkers Regler über die 1-2-4 Schnittstelle gesteuert.

Dieser sollte nun durch einen ESP32 mit Anbindung an den MQTT Server und Steuerung über eine Node-RED Instanz ersetzt werden. Zusätzlich sollten die Daten in Grafana visualisiert werden.

1-2-4 Schnittstelle

Über die Schnittstelle selbst finden sich verschiedene Angaben. Bekannt ist nur, dass es sie aus drei Leitungen besteht (24V, Signal, GND) und das Signal verschiedene Werte zwischen 0V (aus) und 24V (an) in Abhängigkeit von der Differenz zwischen Soll- und Raumtemperatur annehmen kann. Dabei kommt als Führungsgröße in meinem Fall die Temperatur in der Küche zum Einsatz. Da dort die meiste Zeit die Heizung aus ist, ist diese Regelung wenig sinnvoll. Einzige Funktion ist daher wahrscheinlich das Ein- und Ausschalten der Umwälzpumpe. Sobald diese läuft, misst die Therme selbst die Differenz zwischen der Vor- und Rücklauftemperatur und bestimmt entsprechend die Zündung der Gasflamme.

Ebenfalls bekannt ist, dass die Schnittstelle intern über einen Pull-Up verschaltet ist. Dieser hält die Datenleitung auf 24V, sofern kein Regler angeschlossen ist, sodass ohne Regler permanent geheizt wird.

Je weiter man sie in Richtung 0V zieht, umso weniger Leistung möchte man abrufen, da die Temperaturdifferenz geringer geworden ist.

Die Schaltung basiert im Wesentlichen auf einem Artikel aus dem FHEM Wiki. Es handelt sich dabei um einen einfachen Operationsverstärker, der als nicht-invertierender Verstärker beschaltet wird. Da selbst der Originalregler nicht vollständig auf 0V bzw. 24V kommt, kann auf eine symmetrische Versorgung verzichtet werden.

Wichtig war mir die im Artikel erwähnte Diode zu verbauen. Diese gewährleistet, dass der Originalregler weiterhin parallel angeschlossen bleiben kann. Bei einem Ausfall meines Reglers, kann dieser also weiterhin den Frostschutz gewährleisten. Zudem ermöglicht er auch die einfache manuelle Inbetriebnahme.

Hardware

Die Hardware basiert auf einem ESP32 NodeMcu. Dieser wird in die zwei Stiftleisten auf der Lochrasterplatine gesteckt, auf der die Datenleitungen mit dem I2C Temperatursensor (BME280) verbunden sind. Außerdem werden die analogen Signale an der Operationsverstärker weitergegeben, der in meinem Fall ein vierfach OPV ist, wobei ich nur einen OPV verwende.

Software

Auf dem ESP läuft ein simpler Arduino Sketch, der sich auf den MQTT Server auf das Heizungs-Topic subscribed und die Befehle Standby (ja/nein) und die gewünschte Zieltemperatur entgegen nimmt. Außerdem sendet er regelmäßig den Betriebsstatus sowie Temperatur, Luftfeuchtigkeit und Luftdruck auf die entsprechenden Topics.

Falls Interesse an der Software besteht, werde ich sie gerne bereitstellen.

Node-RED

Node-RED arbeitet am anderen Ende der MQTT Topics. Dort werden die ankommenden Daten permanent in eine Datenbank geschrieben. Dadurch können sie in einer Grafana Instanz visualisiert werden. Grafana übernimmt auch die Information über Ausfälle, falls keine Daten mehr kommen oder die Temperatur unter einen bestimmten Wert fällt.

Außerdem verbindet sich Node-RED mit der IoT Telegram Gruppe, in der sich alle berechtigten Nutzer befinden, die auf die IoT Geräte der Wohnung zugreifen dürfen. Wird dort der Befehl gesendet die Heizung ein oder auszuschalten, sendet Node-RED die entsprechenden Befehle auf den MQTT Server.

Umgekehrt schickt auch Grafana die auftretetenden Probleme in diese Gruppe einschließlich der Anweisung, wie die Heizung manuell über den bestehenden Regler wieder in Betrieb genommen werden kann.

Node-RED Flow
Grafana Dashboard


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.