Zu allen Elementen unserer intelligenten Heizungssteuerung wurden bereits Informationen in Form von Blogbeiträgen geteilt. Nur zum finalen Element unseres gesamten Projekts gab es bisher wenig zu lesen – der eigentlichen Heizung bzw. dem Thermostat. Um ehrlich zu sein: Es handelt es sich hierbei um einen Elektromotor, der das Öffnen und Schließen eines solchen imitiert. Allerdings lässt sich durch ihn ein Thermostat realitätsnah abbilden und bei den aktuellen Temperaturen sollte doch sowieso niemand auf eine echte Heizung aus sein…
Auch beim Quellcode für das Thermostat, bei uns auch als sogenannter Aktor bezeichnet, wurde zunächst die Beispielarchitektur als Grundstein genutzt. Diese wurde jedoch, noch radikaler als bei den Sensoren, auf einen sehr minimalen Umfang gekürzt. Die Funktionen für das Empfangen und Senden von MQTT-Befehlen sowie die eigentliche Logik zum Öffnen und Schließen unseres Thermostats wurden einem Container vereint.
Angesteuert wird der Aktor über ein aktorspezifisches MQTT Topic mit der Syntax „heizungssteuerung/aktor/[Aktor-ID]“ über die Befehle {„command“: „open“} und {„command“: „close“}. Er gibt nach dem Empfang sowohl eine Bestätigungsnachricht in der Konsole der Balena-Cloud als auch, wie im Bild zu sehen, per MQTT aus.

Im Anschluss führt er die gewünschte Operation aus. Beim Schließen werden hierbei kurze Pausen eingelegt, um das Ventil nicht zu abrupt zu schließen und somit die Zentralheizung ggf. zu beschädigen.
Mit der Anbindung des Aktors ist der komplette Prozess unserer Heizungssteuerung vollständig abgebildet. Von der Temperaturmessung bis zur Ansteuerung der Heizung sind alle notwendigen Schritte implementiert worden. Bis zur finalen Abgabe finden nun noch kleinere Optimierungen statt.
Yannick Lindenfelser, Luca Schneider