MQTT: Heizung, Rolläden & Synology NAS

Hallo zusammen,

ich habe zwei Wohnungen zusammengelegt. Die obere Etage fungiert als Arbeits- und Gästezimmer.

Die Wohnung verfügt über eine Zentral-/Etagenheizung von Buderus.
Diese erlaubt mir 6 unterschiedlich schlechte Programme auszuwählen, die überhaupt nicht auf mein (reines Arbeits-)Nutzungsprofil passen.
Die erste Idee war, die Knöpfe auf dem Bedienteil fernzusteuern, die für die Tagesschaltung & Nachtabsenkung zuständig sind.
Bis ich auf "EMS" gestoßen bin. Ein Protokoll für "Energy Management Systeme".
Dazu gibt es bereits passende Software gitHub\emsesp oder Hardware BBQkees Lösungen.
Der Programmwechsel sollte damit individuell zeitgesteuert möglich sein.

Die offline Rollädensteuerung von Jarolift funktioniert leider mäßig. Jede Bedieneinheit muss manuell (um-)programmiert werden. Eine Umstellung von Sommer auf Winter dauert da schon mal gut eine Stunde.
Die Konfiguration der Uhrzeit ist lediglich Minutengenau, so dass alle Rolläden mit Verzögerungen fahren. Mein innerer Monk sieht da rot!
Gut, dass es auch hier bereits eine Lösung gibt, die Geräte mithilfe eines ESP´s und 433MHz Senders fernzusteuern. GitHub\Jarolift_MQTT
Anhand dieser Lösung könnte ich auf die Programme am Bedienteil verzichten und alles Zentral steuern.

Nun unterstützen beide Lösungen MQTT. Nach etwas weiterer Recherche bin ich auf eine Erweiterung für meine Synology NAS DS220+ gestoßen, welche ohnehin 24/7 läuft.
So lässt sich mit Mosquitto ein MQTT Broker aufsetzen.

Soviel zu meiner Idee! Die Hardware ist bestellt und kommt hoffentlich damnächst an.
Dann geht´s an die MQTT Konfiguration & Einbindung auf der NAS.

Das möchte ich hier zum Einen gerne etwas dokumentieren, zum Anderen Ideen/Verbesserungen/Erfahrungen von Euch abgreifen :slight_smile:

Eine Anbindung an einen "Assistent" möchte ich nicht! Denke eher daran einen separaten ESP als Zentrale aufzusetzen, so dass dieser per Website konfigurierbar zur richtigen Uhrzeit die entsprechenden MQTT Pakete rausschickt. Bzw. gibt es da vielleicht auch schon was, worauf man aufsetzen kann.

So, genug Text! Ich freue mich auf Euren Input und die Herausforderungen zu dokumentieren, die mich auf dem Weg zur Automatisierung begleiten werden.

Ich denke nicht, dass ein ESP als Zentrale leistungsfähig genug ist. Wo du doch schon einen MQTT-Broker auf dein NAS bringst: Node Red (https://nodered.org/) sollte sich doch ebenso installieren lassen. Damit wird die Zeitsteuerung zum Kinderspiel, spätestens wenn entsprechende Nodes nachinstalliert werden. Ich nutze dazu in der Regel diese: node-red-contrib-bigtimer (node) - Node-RED.
Ein Dashboard lässt sich ebenso einrichten.

1 Like

"Zentrale" war vielleicht etwas missverständlich. Prinzipiell brauche ich ja nur einen Job der zu variabel einrichtbaren Zeitpunkten eine MQTT-Nachricht an das entsprechende Gerät sendet.
Die Anzahl der Geräte ist ja zum Glück überschaubar (1 Heizung, 1 Rolladensteuerung). Da könnte ich mir schon vorstellen einen ESP zu verwenden, der 3-4 mal am Tag aus dem Deepsleep aufwacht und eine Nachricht verschickt.

Node-Red wäre natürlich die Premium-Variante :slight_smile: Für die NAS gibt es da noch nichts fertiges. Aber da Docker unterstützt wird, ließe sich da sicherlich was machen!

Oder doch einen Raspberry Pi als MQTT-Zentrale & Node-Red :thinking:

Denke ich habe die nötigen Informationen zusammen und lege erstmal mit der Hardware los, wenn sie da ist.
Danke für die Info mit Node-Red, ich lese mich bis dahin mal tiefer ein.

Heute kam das EMS-ESP Modul von BBQKees an.
An meinem Boiler war leider der vermeintliche Diagnosestecker nur eine Attrappe.
Hatte extra vorher im Handbuch nachgeschaut und auf der Platine ist ein Diagnoseanschluss dokumentiert. Sogar auf Höhe des Fake-Anschlusses :man_shrugging:t2:

Egal, also ran an das Bedienteil und die beiden EMS Anschlüsse anzapfen :muscle:t2:
Kein Problem! Nur dass ich jetzt ein separates Netzteil benötige um das Modul zu betreiben.
Nach dem ersten Start erstellt es ein Captive-Portal und ich kann es im heimischen Wlan einbuchen. Die Oberfläche ist schick, übersichtlich und überraschend schnell! Da steckt mächtig Arbeit drin. Eine Demo gibt es hier.
Die zweite Tat des Tages war dann die Tages- und Nachtschaltung zu betätigen um zu sehen welche Variable sich ändert. Dann den Postman geöffnet und die Doku auf den anderen Monitor geworfen.

Nach etwas hin und her habe ich dann das passende Kommando herausgefunden. Man muss dem "mode" noch die Entity mitgeben. Das habe ich aber nur herausgefunden, indem ich mit F12 per Entwickler-Tool den Datenstrom mitgeschnitten habe, den die Steuerungswebseite verwendet.
{"cmd":"hc1/mode", "data":"night"}
Und das war´s schon fast!
Eine Authentifizierung ist zum schalten notwendig, die man einfach hinterlegen kann.

Mit wenigen Klicks noch schnell ein curl-Script daraus erzeugt und in je eine Batch-Datei geworfen. Bis ich das MQTT / Node Red-System aufgesetzt habe, muss das reichen.

Bin happy, dass das so simpel per Plug&Play funktioniert und freue mich auf die ersten Automatisierungsschritte.

Erstmal provisorisch...


Kommt dann künftig wohl an den EMS-Anschluss am Boiler. Da ist genug Platz.

1 Like

Tatsächlich ist aus dem Provisorium kein Dauerzustand geworden und der EMS-ESP ist nun unter dem Boiler versteckt.
Die Android-App HTTP Shortcuts kann problemlos die Befehle auf einen Knopfdruck an die Heizung senden. Man kann sogar sehr komfortabel Icons auf dem Homescreen platzieren, so dass man ohne Umwege die Tages- & Nachtschaltung aktivieren kann.

Es kam nun auch mein CC1101 433/868MHz Modul an. Also konnte auch die Automatisierung der Rolladensteuerung beginnen! Die im Eingangspost erwähnte Jarolift_MQTT Lösung hatte ich schon auf einem ESP aufgespielt.
Man muss noch schnell einen Masterkey herausfinden, den man dann in der Weboberfläche hinterlegen kann. Diese ist nicht so elegant oder performant wie die des EMS-ESP, aber tut was sie soll.
Nach einer Ewigkeit habe ich herausgefunden dass man zwar die Rolläden in den Lernmodus versetzten kann, aber zielführend ist eigentlich nur die Fernbedienung zu klonen.
Das wollte auch erst nicht, bis ich den Herstellercode willkürlich verändert habe. Das war ein Tipp in dem Troubleshooting und hat wahrhaftig geklappt irgendeine wilde Hex-Kombination zu hinterlegen...
Dann ging es endlich über die Webseite auf dem ESP die Rolläden zu fahren. Wieder den Postman angeschmissen und einen Request zusammengebaut: Klappt auch!

Zu guter Letzt habe ich damit begonnen die Webseite zu erweitern, um dort Uhrzeiten und Rolläden für eine Zeitsteuerung hinterlegen zu können. Schaut schon mal ganz okay aus, braucht aber noch ein paar Tage Entwicklung. Werde ich dann, wenn es mal fertig ist, dem Entwickler zur Verfügung stellen.

Wenn der ganze Spaß rudimentär funktioniert, wende ich mich weiter dem MQTT-Thema zu.

1 Like

Leider hat der eine 433mhz Sender nicht verlässlich ausgereicht, so dass ich einen zweiten gebaut habe.
Aktuell gibt es daher zwei Seiten, auf denen ich die Zeitsteuerung hinterlegen kann.
Aber immer noch deutlich bessert als von Display zu Display zu rennen (Bei 8 Rolläden) um diese umzuprogrammieren.
Es gab noch eine kleine Sonntags-Problematik, weil die Wochentage bei der NTP-Library mit Sonntag beginnen. Nun klappt es aber alles recht verlässlich!

So schaut das Ganze dann aus:

Meinen Fork findet man hier:

Dann geht´s jetzt los mit MQTT und NodeRed.
Ist dann zwar etwas hinfällig mit der selbstgebauten Zeitsteuerung, es galt aber erstmal den WAF zu erfüllen. Ohne den endet sonst mein Ausflug in die Welt der Automatisierung :rofl:

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.