Der Heizungsalgorithmus spielt eine zentrale Rolle im Projekt und trifft Entscheidungen darüber, ob das Heizen erforderlich ist. Um zu verhindern, dass jeder Raum eine eigene Raumtemperatur besitzt, sind globale Temperaturen definiert, die der Administrator anpassen kann (Mindesttemperatur, Eco-Temperatur und Soll-Temperatur). Zusätzlich besteht für jeden die Möglichkeit, die Soll-Temperatur lokal in jedem Raum vorübergehend anzupassen.

Zu Beginn wird die ID des Aktors aus der Datenbank ausgelesen und in einer Flow-Variablen gespeichert. Weitere Daten werden dem Algorithmus aus anderen Node-Red-Flows zugeführt (Rapla und UI). Dies erfolgt über Links, die die Nachrichten aus anderen Flows in den Heizungsalgorithmus-Flow übertragen. Des Weiteren wird die aktuelle Temperatur periodisch aus der Influx-Datenbank ausgelesen.

Zusätzlich überwacht der Algorithmus, ob ein Fenster geöffnet ist, um in diesem Fall den Heizvorgang vorübergehend zu unterbrechen. Dabei vergleicht der Algorithmus die Temperaturen des Wand-Temperatursensors und des Fenster-Temperatursensors und berücksichtigt eine einstellbare Toleranz. Sobald sich die Raumtemperatur wieder stabilisiert hat, wird die Heizung ggf. erneut aktiviert.

Der Heizungsalgorithmus prüft periodisch, ob die Bedingungen für das Heizen gegeben sind und sendet ggf. ein Befehl zum Öffnen des Ventils an den MQTT. Anderenfalls erfolgt der Schließbefehl.

Das Heizen eines Raums kann in drei Szenarien erforderlich sein:

  1. Unterschreitung der Minimaltemperatur: Wenn die Temperatur unter 15°C fällt, steigt das Risiko von Schimmelbildung erheblich. Daher ist es erforderlich, die Temperatur jederzeit auf mindestens 15°C zu halten, auch wenn der Raum nicht genutzt wird. Neben der Eco-Temperatur dient diese Temperatur als unterste Grenze und kann in Zukunft dafür genutzt werden, wenn Räume längere Zeit nicht belegt sind. Dann kann die gewünschte Raumtemperatur auf die Minimaltemperatur gesetzt werden.
  2. Unterschreiten der Eco-Temperatur: Um zu verhindern, dass der Raum stark abkühlt und ein erneutes Aufheizen somit ineffizienter wird, haben wir die Eco-Temperatur definiert. Fällt die Temperatur unter diesen Wert, so wird geheizt.
  3.  Geplante Veranstaltung im Raum: 30 Minuten vor Beginn einer Veranstaltung, wird gewünschte Raumtemperatur auf die globale Soll-Temperatur gesetzt. Der Algorithmus prüft, ob die Temperatur unterschritten ist und heizt bei Bedarf. 30 Minuten vor Ende der Veranstaltung endet der Heizvorgang und die gewünschte Raumtemperatur wird auf die Eco-Temperatur gesetzt.
  4.  Manueller Heiz-Befehl: Drückt ein User im Frontend den „Jetzt Heizen“-Knopf, so wird wie bei der geplanten Veranstaltung die gewünschte Raumtemperatur auf die globale Soll-Temperatur gesetzt. Nach 30 Minuten wird diese dann wieder auf die Eco-Temperatur heruntergesetzt.

Bisher erfolgt die Prüfung, ob und wann geheizt wird, mit Festwerten. In Zukunft ist es aber durchaus denkbar, weitere Effizienzsteigerungen mittels Machine Learning zu erreichen. Dazu aber mehr im nächsten Blogbeitrag.


Der Heizungsalgorithmus wurde in Zusammenarbeit mit Leon Emmerich entwickelt.

Das Herzstück unseres Projekts: Der Heizungsalgorithmus
Markiert in:

Schreibe einen Kommentar