Bei unserer Lüftungsanlage war das Display tot, und einer der beiden Ventilatoren lief nicht mehr. Die Ursache war nicht die Hauptplatine, sondern ein korrodierter Kondensator am Außenluftsensor. Repariert hat es ein Bauteil für ein paar Cent.
Symptome
- Display an der Front komplett schwarz, die grüne LED auf der Hauptplatine leuchtet.
- Fehler 1023, 1025, 1027, 1031, 1039, 1041, 1043, 1047, 1049 und 1050, also alle Temperatur- und Feuchtesensoren und beide Volumenstromsensoren gleichzeitig.
- Alle Messwerte stehen auf null.
- Nach einem Neustart laufen beide Ventilatoren etwa eine Minute. Dann kommen die Fehler zurück, und die Anlage schaltet den Zuluftventilator ab.
Die Fehlercodes habe ich über den ComfoNet-Bus (CAN) mit einem ESP32 ausgelesen, weil das Display ja nichts mehr anzeigte. Über den Bus kommen sie ohne die führende 10, also 23, 25, 27 und so weiter.
Ursache
Es war der Außenluftsensor (ODA, der „obere“ Sensor, Zehnder-Teil 400502004). Zehnder nennt das selbst als Möglichkeit: Die Störungsübersicht führt für ein Display, das bei laufender Anlage schwarz bleibt, einen möglicherweise defekten Außenluftsensor auf.
Bei meinem Gerät sitzt auf der kleinen Sensorplatine ein SHT30 mit einem Kondensator daneben, und dieser Kondensator war korrodiert. Mit angestecktem Sensor war die Kommunikation mit den anderen Sensoren und mit dem Display gestört, sodass alle zusammen ausfielen. Wie genau die Korrosion das verursacht hat, habe ich nicht gemessen.
So prüft man es
Die Anlage sollte vom Netz getrennt sein, bevor man etwas anfasst: um Schäden zu vermeiden, und 230 V sind auf dem Board.
- Den Außenluftsensor an der Hauptplatine abziehen. Es ist einer der beiden grünen Stecker: der rechte, wenn der Außenluftkanal rechts sitzt, der linke, wenn er links sitzt.
- Einschalten. Kommt das Display zurück, ist der Fehler gefunden, und die übrigen Sensorfehler sind höchstwahrscheinlich auch weg. Bei mir blieb nur
SENSOR_ODA ERROR(1027/1043) übrig, die anderen Sensoren lieferten normale Werte. - Einfach abgezogen lassen kann man ihn aber nicht: Nach dem Einschalten laufen beide Ventilatoren an, aber sobald die Anlage den Sensorfehler erkennt, schaltet sie den Zuluftventilator ab.
Reparatur
Ich habe den Sensor ausgebaut (Servicehandbuch Kapitel 6.7: Frontabdeckung ab, Wärmetauscher raus, Filter raus, Sensor von innen nach unten herausziehen), den korrodierten Kondensator ausgelötet und einen neuen 100-nF-Keramikkondensator eingelötet. Beim Entfernen des alten Kondensators habe ich ein Lötpad beschädigt, deshalb musste ich zusätzlich eine kurze Drahtbrücke einlöten.
Den Wert konnte ich am Originalteil nicht ablesen. Ich habe angenommen, dass es der Stützkondensator des Chips ist, für den das Sensirion-Datenblatt des SHT3x 100 nF vorgibt, und der Sensor funktioniert mit diesem Wert. Wohin er tatsächlich angeschlossen ist, habe ich nicht verfolgt.
Mit nur ausgelötetem Kondensator kamen das Display und die anderen Sensoren zurück, der Außenluftsensor selbst antwortete aber nicht. Ob er den Kondensator braucht oder ob das am beschädigten Pad lag, weiß ich nicht. Mit dem neuen Kondensator verschwanden alle Fehler, das Display funktioniert und beide Ventilatoren laufen.
Die Lötstelle und die Pins des Sensors habe ich danach mit Schutzlack überzogen (CRC Plastik 70), weil es dort feucht ist und der Sensor ab Werk auch mit Lack überzogen ist. Den Lack habe ich mit einer Pinzette aufgetragen statt zu sprühen, damit nichts in die Messöffnung des SHT30 gerät und den Sensor verklebt. Abkleben geht vermutlich auch.
Wer nicht löten möchte
Der Tausch des kompletten oberen Sensors ist die Lösung, die Zehnder empfiehlt.
Dabei kommt es auf den Sensorchip an. Ältere Geräte haben einen SHT20, neuere einen SHT30; welcher es ist, steht auf dem Chip. Wer von SHT20 auf einen neuen Sensor mit SHT30 wechselt, braucht laut Forenberichten und Händlern ein Firmware-Update (genannt wird 1.7.1 oder neuer), bei alten Geräten zusätzlich ein Anschlusskabel-Set. Mein Gerät hat allerdings SHT30-Sensoren und läuft damit auf Firmware 1.7.0; so steht es auch am Display.
Wer nur den Kondensator ersetzt, behält seinen Chip und braucht kein Update.
Auslesen mit dem ESP32
Weil das Display tot war, habe ich die Anlage über ihren ComfoNet-Anschluss ausgelesen. ComfoNet ist ein CAN-Bus mit 50 kbit/s. Am Anschluss liegen neben CAN-H und CAN-L auch 12 V und Masse an, der Aufbau versorgt sich also aus der Anlage.
Die Teile:
- ESP32-C3 Super Mini
- MCP2515-CAN-Modul mit TJA1050 und 8-MHz-Quarz (läuft an 5 V)
- Pegelwandler TXS0104E zwischen ESP (3,3 V) und MCP2515 (5 V)
- Spannungsregler TRACO TSR 1-2450 (12 V auf 5 V)
Der Anschlussplan:
| ESP32-C3 | TXS0104E | MCP2515 |
|---|---|---|
| GPIO 0 | A1 ↔ B1 | SCK |
| GPIO 1 | A2 ↔ B2 | SI (MOSI) |
| GPIO 2 | A3 ↔ B3 | SO (MISO) |
| GPIO 3 | A4 ↔ B4 | CS |
| 3V3 | VCCa und OE | |
| 5V | VCCb | VCC |
Die 12 V und Masse kommen von der ComfoNet-Klemme und gehen auf den Spannungsregler, CAN-H und CAN-L direkt auf die Schraubklemme des MCP2515-Moduls. Der INT-Ausgang des MCP2515 bleibt frei. Am 12-V-Eingang des Reglers sitzt noch ein Elko.
Drei Dinge haben mich bei der Inbetriebnahme Zeit gekostet:
- Der MCP2515 muss im Normalmodus laufen, damit er Frames bestätigt. Im reinen Mithörmodus wiederholt die Anlage nur endlos denselben Frame.
- Zwischen CAN-H und CAN-L habe ich etwa 2 kΩ gemessen, der Bus war also nicht terminiert. Mit dem 120-Ω-Jumper auf dem Modul lief es.
- CAN-H und CAN-L hatte ich zuerst vertauscht.
Auf dem ESP läuft ESPHome. Die Konfiguration liest Temperaturen, Feuchte, Volumenströme, Drehzahlen und die aktiven Fehler aus und stellt sie als Weboberfläche und für Home Assistant bereit. Steuern geht auch: Lüfterstufe, Boost, Automatik, Bypass und Temperaturprofil.
Der Code zum Herunterladen:
- comfoair.yaml (ESPHome-Konfiguration)
- comfoair-web.js (beschriftet die Schaltflächen der Weboberfläche)
- secrets.yaml.example (Vorlage für WLAN-Daten und Schlüssel)
Nutzung auf eigene Gefahr: Die Steuerkommandos greifen in den Betrieb der Anlage ein. Die Weboberfläche hat kein Passwort, jeder im selben Netz kann die Schaltflächen bedienen. Die Befehle für Bypass und Temperaturprofil habe ich nur mit den Referenzprojekten abgeglichen, nicht an der Anlage ausprobiert.
Das Protokoll habe ich nicht selbst entschlüsselt. Die Grundlage sind aiocomfoconnect und comfoair-esp32.
Andere mit demselben Fehlerbild
- BuildHub-Forum: Q350 mit totem Display und genau denselben zehn Fehlercodes; vermutet wurde die Hauptplatine.
- HaustechnikDialog: mehrere Berichte über einen „weggegammelten“ Kondensator am ODA-Sensor; dort wurde der Sensor ersetzt oder nachgebaut.