Smarter Heizungsschalter

Um meine Heimheizung zu automatisieren, habe ich einen Shelly 1PM Mini Gen3 Schalter installiert, um den Gaskessel auf Basis von Sensordaten zu steuern und den Standby-Energieverbrauch zu reduzieren. 

Heater Smart Switch

Smarter Heizungsschalter 

Motivation 

Meine Familie und ich wohnen seit etwa zwanzig Jahren in einem Einfamilienhaus im Saarland. Neben einem Gas-Brennwertkessel heizen wir unser Warmwasser mit einer Solarthermieanlage. Um die zwölf Watt Standby-Verbrauch zu sparen, schalte ich die Heizung im Sommer komplett ab, da die Leistung der Solarthermieanlage in der Regel ausreicht, um das Wasser warm zu halten. Es gab Jahre, in denen ich sie Ende April abgeschaltet und erst Anfang November wieder eingeschaltet habe. Dieses Jahr war anders. Es gab viele Schlechtwetterperioden, die mich dazu gezwungen haben, die Heizung von Zeit zu Zeit einzuschalten. Das Problem ist, dass ich manchmal vergesse, sie einzuschalten – ich merke es erst, wenn jemand duschen möchte und das Wasser nicht heiß genug ist. Es kann auch passieren, dass ich vergesse, sie auszuschalten, wenn die Sonne wieder lange geschienen hat. Ich dachte, es sei Zeit, das Ganze zu automatisieren. 

Voraussetzungen  

  • Ich verwende bereits einige Shelly Smart-Schalter zur Steuerung von Rollläden und Beleuchtung, daher ist es naheliegend, auch für dieses Projekt Shelly Geräte zu verwenden.   
  • Mein Haus verfügt bereits über ein selbst entwickeltes Gebäudeüberwachungssystem mit etwa 25 Sensoren, hauptsächlich Temperatursensoren, aber auch einige andere Umgebungssensoren.  
  • Das Überwachungssystem basiert auf MQTT und einem kostenlosen serverlosen Cloud-Broker von HiveMQ, den ich auch für die Kommunikation mit dem Shelly Gerät nutzen möchte.
  • Ich habe bereits mit Node-RED herumgespielt und dachte, dies könnte ein guter Anwendungsfall für ein erstes ernsthaftes Projekt sein. 

Installation des Shelly Smart-Schalters 

Da der maximale Strom des Gas-Brennwertkessels deutlich unter 8 A liegt, habe ich den Shelly 1PM Mini Gen3 gewählt, der den zusätzlichen Vorteil bietet, den Stromverbrauch bei eingeschalteter Heizung messen zu können. Die Installation war recht einfach, da im Gehäuse des Kessels genügend Platz vorhanden ist. Der Kessel ist direkt an das Stromnetz angeschlossen, unmittelbar hinter einem Notschalter im Nebenraum. Das Foto unten zeigt die Installation des Schalters. 

Sobald die MQTT-Verbindung in der Shelly Smart Control App konfiguriert wurde, sollte alles für die nächsten Schritte bereit sein. Ich habe es wie im Dialog unten gezeigt konfiguriert (sorry für die deutsche Benutzeroberfläche), und ein erster Test mit dem von HiveMQ bereitgestellten Web-Client hat sofort funktioniert. 

  

Beteiligte Sensoren  

Zumindest für das anfängliche Set-up habe ich mit drei Sensoren für die Schaltlogik begonnen:  

  • Die Außentemperatur auf der Nordseite des Hauses. Ich möchte, dass die Heizung einschaltet, wenn die Temperatur unter einen bestimmten Wert fällt.  
  • Die Temperatur des Warmwasserspeichers. Ich habe drei Sensoren am Speicher befestigt, aber für diesen Anwendungsfall habe ich nur den mittleren ausgewählt. Wie zuvor möchte ich, dass die Heizung einschaltet, wenn die Warmwassertemperatur unter einen bestimmten Wert fällt. Die Heizung beginnt dann sofort, den Speicher aufzuladen.   
  • Der dritte ist die Temperatur des Rücklaufs des Ladekreislaufs. Wenn diese Temperatur wieder unter 50 °C fällt, ist der Ladevorgang abgeschlossen. 

Der erste genannte Sensor ist ein kabelloser Temperatur- und Feuchtigkeitssensor, den ich über Tinkerforge-Hardware auslese. Die letzten beiden Sensoren sind DS18B20 One-Wire-Sensoren, die an einen Raspberry Pi Pico W angeschlossen sind. Die detaillierte Logik wird später in der entsprechenden Funktion des Node-RED-Flows gezeigt. 

 

Node-Red 

Alle Sensordaten aus der oben genannten Gebäudeüberwachung werden von einem Raspberry-Pi-Zero-basierten Edge-Gerät gesammelt, das ein komprimiertes JSON-Paket ausgibt. Die Shelly Geräte senden und empfangen ihre spezifischen Nutzdaten zu spezifischen MQTT-Topics. Nun brauchen wir etwas in der Mitte, um alles zusammenzufügen. Mein erster Eindruck von Node-RED war, dass es genau das leisten kann. Node-RED läuft derzeit auf Kubernetes (siehe NodeRed-On-Rancher), aber für den produktiven Einsatz werde ich es höchstwahrscheinlich auf einen Raspberry Pi verlagern. Dies ist der Flow, den ich erstellt habe, um die Sensordaten zu verarbeiten, die Schaltlogik anzuwenden und die Befehle an den Shelly PM1 Mini Gen3 zu senden: 

 

Erklärung  

  • Die lila Knoten sind die MQTT-Verbinder. Alle sind mit demselben Broker verbunden, aber der auf der linken Seite abonniert die Heimüberwachung, und die beiden auf der rechten Seite veröffentlichen auf dem Shelly-spezifischen Befehls-Topic.  
  • Der rote Knoten ist ein Teilflow, der die eingehende Nachricht verarbeitet. Die Rohdaten sind eine JSON-Struktur, die komprimiert und Base64-kodiert ist. Die Ausgabe des Knotens ist das ursprüngliche JSON.   
  • Die gelblichen Knoten konvertieren einfach die Ausgabe der Schaltlogik (0/1) in reguläre MQTT-Nachrichten, die vom Shelly Schalter verarbeitet werden können. Dies könnte eigentlich auf einen einzigen Zweig vereinfacht werden, aber zur besseren Verständlichkeit und zum einfacheren Debuggen habe ich die zwei Zweige für Ein- und Ausschalten beibehalten.   
  • Der einzige Zweck der grünen Knoten ist die Ausgabe der Debug-Informationen auf der rechten Seite.   
  • Der orangefarbene Knoten namens „Heater Switching Logic" ist der eigentliche Arbeitsknoten, der entscheidet, ob die Heizung ein- oder ausgeschaltet werden soll. 

JavaScript-Funktion

 

Shelly Befehlsnachrichten  

Der Vollständigkeit halber möchte ich die Shelly MQTT-Befehle näher beleuchten, die den Netzschalter der Heizung steuern. Du kannst sie auch im Debug-Fenster neben dem Node-RED-Flow sehen.  

  Topic: shelly1pmmini3-<device_id>/command/switch:0 

Payload: on|off 

Weitere Informationen zu den MQTT-Befehlen findest Du in derShelly Technical Documentation. 

Fazit  

  • Diese Kombination aus Komponenten – womit ich MQTT, Node-RED und Shelly Geräte meine – ist ziemlich leistungsstark.
  • Ich nutzeHiveMQs kostenlosen serverlosen Cloud-Broker seit Jahren und finde ihn sehr sicher, zuverlässig und komfortabel. 
  • Was Node-Red betrifft, bin ich ein Neuling, aber ich denke, es hat großes Potenzial für diese Art von Konnektivität, und es macht Spaß, damit zu arbeiten. 
  • Inzwischen bin ich ein großer Fan von Shelly Geräten. Der Shelly 1PM MINI Gen3, den ich für dieses Projekt verwendet habe, ist wirklich winzig, aber trotzdem leistungsstark. Schau Dir nur all die Optionen an, die Du in Bezug auf Schaltlogik, Zeitplan, Leistungsmessung und externe Steuerung über MQTT hast – um nur die für mich wichtigsten zu nennen. 

Ausblick

Wie ich bereits erwähnt habe, ist das Toolset, das ich für dieses Projekt verwendet habe, ziemlich leistungsstark und hat mir viele neue Ideen gegeben, wie ich unser Zuhause automatisieren kann. Nur um einige zu nennen: 

  • Eine Art Geofencing, das die Garagentür öffnet, wenn ich vorfahre. Die Tür ist bereits mit einem Shelly 1 MINI Gen3 ausgestattet.
  • Ich könnte die Markise auf unserer Terrasse mit einem Shelly Plus 2PM und einem angeschlossenen Shelly Plus AddOn sowie einigen Sensoren (Windgeschwindigkeit, Sonnenstrahlung, Niederschlag) steuern. 
  • Es wäre auch interessant, die Sensoren am Shelly AddOn in mein bestehendes Gebäudeüberwachungssystem zu integrieren. Dies sollte über MQTT möglich sein.  

Was das aktuelle Projekt betrifft, werde ich meine Schaltlogik für die Heizung im Winter sicherlich anpassen müssen. Sie mag für den Sommer ausreichend sein, aber ich vermute, dass ich für den Winter eine ausgefeiltere Logik benötigen werde. 

Verwendete Shelly Produkte
Shelly 1PM Mini Gen3

Shelly 1PM Mini Gen3

Normaler Preis 15,47 €
Verkaufspreis 15,47 € Normaler Preis
Leistungsüberwachung
Lichter
Elektrogeräte
Türschloss
Ventilator