Dieses Projekt bietet eine Lösung zur systemunabhängigen Verwendung zur Steuerung der Comfoair-Lüftungsanlage (Zehnder Comfoair CA350/550, Stork und baugleiche). Es verwendet das MQTT-Protokoll in Verbindung mit einem ESP-Mikrocontroller, um eine flexible Steuerung und Überwachung der Comfoair-Funktionen zu ermöglichen.
- Lüftersteuerung: Ermöglicht das Einstellen der Lüfterstufen und der Komforttemperatur.
- Stoßlüftung: Die Stoßlüftung schaltet auf die höchste Stufe, wird die Stoßlüftung deaktiviert, schaltet die Lüftung auf die zuvor eingestellten Stufe.
- Statusüberwachung: Sendet Statusobjekte wie Temperaturen, Vorheizregister, Motoren, Ventilationsstufen, Bypass-Status, Betriebsstunden, Störungsinformationen und Geräteinformationen in einem einstellbaren Sendezyklus.
- Stufensetup: die Konfiguration der einzelnen Lüftereinstellung ist über MQTT möglich.
- Arduino IDE: Öffne
ComfoAir-MQTT-ESPController.inoin der Arduino IDE. - Konfiguration: Gib SSID, Passwort und die IP-Adresse des MQTT-Brokers an.
- Flashen: Lade den Code auf den ESP-Mikrocontroller.
- Hardware-Anschluss: Verbinde die Hardware gemäß dem bereitgestellten Schaltplan mit dem RJ45-Port der Comfoair.
- Fertig: Dein System ist einsatzbereit!
Mit diesem Projekt kannst du deine Comfoair-Lüftungsanlage einfach und effizient steuern und überwachen.
ACHTUNG! Grundsätzlich gilt: Nutzung auf eigenes Risiko!!!
- Mikrocontroller: ESP8266
- Schnittstellenkonverter: MAX3232
- Spannungswandler: 12V auf 3,3V
- Kommunikation: RJ45 Kabel
- Entwicklungsumgebung: Arduino IDE
- Ein ESP8266 Mikrocontroller
- Ein USB-Kabel, um den ESP8266 mit Ihrem Computer zu verbinden
- Die neueste Version der Arduino IDE (herunterladbar von Arduino Website)
-
Installieren Sie die Arduino IDE: Laden Sie die Software von der offiziellen Website herunter und installieren Sie sie auf Ihrem Computer.
-
ESP8266 Board-Manager hinzufügen:
- Starten Sie die Arduino IDE.
- Gehen Sie zu
Datei>Voreinstellungen. - Fügen Sie in das Feld "Zusätzliche Boardverwalter-URLs" folgende URL ein:
http://arduino.esp8266.com/stable/package_esp8266com_index.json. - Klicken Sie auf "OK".
-
ESP8266 Boards installieren:
- Gehen Sie zu
Werkzeuge>Board>Boards Manager.... - Suchen Sie nach "ESP8266" und installieren Sie das Paket.
- Gehen Sie zu
- In der Arduino IDE, gehen Sie zu
Sketch>Bibliothek einbinden>Bibliotheken verwalten.... - Geben Sie in das Suchfeld "PubSubClient" ein und installieren Sie die Bibliothek.
- Schließen Sie den ESP8266 über das USB-Kabel an Ihren Computer an.
- Wählen Sie in der Arduino IDE unter
Werkzeuge>BoardIhr ESP8266-Board aus (z.B. "Generic ESP8266 Module"). - Wählen Sie den richtigen COM-Port unter
Werkzeuge>Port.
- Code schreiben: Schreiben Sie Ihren Code oder öffnen Sie Ihr Projekt in der Arduino IDE.
- Konfigurieren Sie WLAN und MQTT-Einstellungen: Stellen Sie sicher, dass Sie die SSID und das Passwort Ihres WLANs sowie die MQTT-Serverdetails in Ihrem Code korrekt eingetragen haben.
- Code hochladen:
- Klicken Sie auf den Pfeil-Button in der oberen linken Ecke der Arduino IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
- Warten Sie, bis der Upload-Prozess abgeschlossen ist. In der Konsole unten in der IDE wird eine Erfolgsmeldung angezeigt.
- Nachdem der Code erfolgreich hochgeladen wurde, können Sie den ESP8266 testen, indem Sie ihn in Ihrem Netzwerk betreiben und überprüfen, ob er die erwarteten MQTT-Nachrichten sendet und empfängt.
- Stellen Sie sicher, dass Sie während des Hochladens des Codes keine anderen Geräte (wie Sensoren oder Aktoren) an den ESP8266 angeschlossen haben, da dies manchmal zu Problemen beim Hochladen führen kann.
- Wenn Sie Probleme beim Hochladen haben, versuchen Sie, den Boot-Modus des ESP8266 zu ändern, indem Sie bestimmte Pins (z.B. GPIO0) auf GND ziehen, abhängig von Ihrem spezifischen Board.
Der Code (ComfoAir-MQTT-ESPController.ino) beinhaltet die Logik für die MQTT-Kommunikation und die Steuerung der ComfoAir-Anlage. Hauptfunktionen umfassen:
- OTA-Firmware-Updates
- WLAN-Verbindung
- MQTT-Client-Konfiguration
- Senden und Empfangen von Befehlen an die ComfoAir-Anlage
ComfoAir/cmd/stufe: Setzt die Lüftungsstufe (0-3).ComfoAir/cmd/soll: Setzt die Solltemperatur (12.0 - 28.0 °C).ComfoAir/cmd/filterreset: Setzt den Filterzähler zurück.ComfoAir/cmd/errorreset: Setzt den Fehlerzähler zurück.ComfoAir/cmd/firmwareinfo: Fordert Firmware-Informationen an.ComfoAir/cmd/stufensetup/ABL_0: Setzt individuelle Einstellungen für jede Lüftungsstufe.ComfoAir/cmd/stufensetup/ABL_1ComfoAir/cmd/stufensetup/ABL_2ComfoAir/cmd/stufensetup/ZUL_0ComfoAir/cmd/stufensetup/ZUL_1ComfoAir/cmd/stufensetup/ZUL_2ComfoAir/cmd/stufensetup/ABL_3ComfoAir/cmd/stufensetup/ZUL_3ComfoAir/cmd/sendezyklus: Setzt das Intervall für den automatischen Sendevorgang (in Sekunden).ComfoAir/cmd/stosslueftung: Aktiviert oder deaktiviert die Stoßlüftung.
- `ComfoAir/status/temperatur
{
"Abluft": 19.5,
"Aussenluft": 9.5,
"Erdwärme": 0,
"Fortluft": 11.5,
"Soll": 24.5,
"Zuluft": 19
}ComfoAir/status/vorhzgregister
{
"Frostklappe": 0,
"FrostMinuten": 0,
"Frostschutz": 0,
"Frostsicherheit": 3,
"Vorheizung": 0
}ComfoAir/status/motor
{
"Abluft": 35,
"Abluft_RPM": 1164,
"Zuluft": 30,
"Zuluft_RPM": 1015
}ComfoAir/status/stufe
{
"ABL_0": 20,
"ABL_1": 35,
"ABL_2": 50,
"ABL_3": 70,
"ABL_IST": 35,
"STUFE": 1,
"vent_abl": 1,
"ZUL_0": 15,
"ZUL_1": 30,
"ZUL_2": 45,
"ZUL_3": 65,
"ZUL_IST": 30
"Byte_13": 0,
"Byte_14": 0,
}ComfoAir/status/Bypass: Status des Bypass-Ventils.
ComfoAir/status/betriebs_h
{
"Bypass": 14749,
"Filter": 3330,
"Frost": 0,
"Stufe_0": 4791,
"Stufe_1": 64168,
"Stufe_2": 2128,
"Stufe_3": 12196,
"Vorheizung": 0
}ComfoAir/status/error
{
"FehlerCode": "",
"Filter": 0,
"Text": "Aktuell kein Fehler - Filter nicht voll"
}ComfoAir/status/Firmware_Version: Firmware-Version des Geräts.ComfoAir/status/Geraete_Name: Name des Geräts.
ComfoAir/status/sendezyklus: Dauer des aktuellen Sendezyklus in Sekunden.
ToDo
ACHTUNG! Grundsätzlich gilt: Nutzung auf eigenes Risiko!!!
ToDo


