Die Zehnder ComfoAir Q stellt zahlreiche interessante Betriebsdaten bereit. Dazu gehören Temperaturen, Luftfeuchtigkeit, Volumenströme, Ventilatordrehzahlen, Bypass-Stellung, Filterrestlaufzeit, Leistungsaufnahme und verschiedene Energiewerte.
Mit der GerlCraft Zehnder Bridge lassen sich diese Daten lokal auslesen und ohne Cloud in Home Assistant anzeigen. Als Hardware kommen ein M5Stack AtomS3 Lite und die Atomic CAN Base A103 zum Einsatz.
Die fertige Firmware wird direkt im Browser installiert. WLAN, MQTT und Gerätename werden anschließend über eine Weboberfläche eingerichtet. Visual Studio Code oder Programmierkenntnisse sind für die normale Installation nicht erforderlich.
- Firmware direkt im Browser installieren
- Zugangsdaten über ein Setup-WLAN eintragen
- Messwerte automatisch per MQTT Discovery in Home Assistant anlegen
- Lokale Weboberfläche und Diagnose verwenden
- Fertiges Home-Assistant-Dashboard installieren
Inhalt
Funktionsumfang
Was die Bridge ausliest
Nach der Einrichtung stehen unter anderem folgende Werte zur Verfügung:
- Außenluft-, Zuluft-, Abluft- und Fortlufttemperatur
- Luftfeuchtigkeit der Luftwege
- Zu- und Abluftvolumenstrom
- Ventilatoransteuerung und Drehzahlen
- Lüfterstufe, Betriebsmodus und Bypass-Stellung
- Leistungsaufnahme und Energiezähler
- Filterstatus und verbleibende Filtertage
- Wärme- und Kälterückgewinnungsgrad
- CAN-, MQTT-, WLAN- und Gerätediagnose
Die Werte werden auf der lokalen Weboberfläche, über JSON-APIs und per MQTT bereitgestellt. Home Assistant legt die zugehörigen Entitäten durch MQTT Discovery automatisch an.
Wichtig
Aktuell mit der ComfoAir Q350 getestet
Die Firmware wurde mit einer Zehnder ComfoAir Q350 getestet. Q450 und Q600 verwenden voraussichtlich das gleiche Protokoll, sind in diesem Projekt aber noch nicht praktisch verifiziert.
Die Bridge liest Daten und sendet notwendige PDO-Leseanfragen. Steuerbefehle für Lüfterstufe, Bypass oder Betriebsart sind nicht enthalten.
01
Voraussetzungen und Hardware
Für den Aufbau werden folgende Komponenten benötigt:
| Komponente | Aufgabe |
|---|---|
| M5Stack AtomS3 Lite | ESP32-S3, WLAN, Weboberfläche und Firmware |
| M5Stack Atomic CAN Base A103 | galvanisch isolierte CAN-Schnittstelle |
| USB-C-Datenkabel | Erstinstallation und Testversorgung |
| Anschlussleitung | Verbindung zu CAN-H und CAN-L des ComfoNet |
| Mean Well HDR-15-5 | separate 5-V-Hutschienenversorgung für den dauerhaften Betrieb |
| optionaler DC/DC-Wandler | wandelt eine vorhandene 12-/24-V-Versorgung sicher auf 5 V |
Die veröffentlichte Browser-Firmware ist für den AtomS3 Lite gebaut. Der ältere M5Stack Atom Lite ist ein anderes Gerät und wird von diesem Installationspaket nicht unterstützt.
Die Atomic CAN Base verwendet einen CA-IS3050G-Transceiver mit integrierter galvanischer Trennung. Technische Details stehen in der offiziellen M5Stack-Dokumentation.
Wer CAN-Bus, ESP32 und M5Stack zunächst grundsätzlich kennenlernen möchte, findet die Grundlagen im Beitrag RS-485, CAN-Bus, ESP32 und M5Stack einfach erklärt.
Sicherheit
Vor dem Anschluss spannungsfrei arbeiten
- Zehnder-Anlage und Bridge vor dem Verdrahten spannungsfrei schalten.
- Den AtomS3 Lite niemals direkt mit 12 V oder 24 V versorgen. Er benötigt stabile 5 V.
- CAN-H und CAN-L nicht vertauschen.
- Kabelfarben nicht ungeprüft übernehmen. Die Belegung an der eigenen Anlage anhand der Dokumentation und Beschriftung prüfen.
- An einer zusätzlichen Stichleitung keinen weiteren 120-Ohm-Abschlusswiderstand montieren. Die bestehende Bus-Terminierung bleibt unverändert.
- Die Bridge beim erstmaligen Flashen noch nicht mit dem ComfoNet verbinden.
Wer sich bei der elektrischen Belegung oder Spannungsversorgung nicht sicher ist, sollte die Installation von einer Elektro- beziehungsweise SHK-Fachkraft prüfen lassen.

02
AtomS3 Lite und CAN Base zusammensetzen
Der AtomS3 Lite wird direkt auf die Atomic CAN Base gesteckt. Stecker und Gehäuse müssen dabei sauber ausgerichtet sein. Die Verbindung nur im spannungslosen Zustand herstellen.
Die Firmware verwendet bei dieser Hardware folgende Konfiguration:
CAN TX: GPIO 5 CAN RX: GPIO 6 Bitrate: 50 kbit/s CAN-IDs: Extended Frames
Diese Zuordnung ist bereits in der Firmware hinterlegt und muss bei der Standardhardware nicht angepasst werden.
03
Verbindung mit dem ComfoNet
Für die Datenverbindung werden die beiden CAN-Signalleitungen verbunden:
| Zehnder ComfoNet | Atomic CAN Base |
|---|---|
| CAN-H | CAN-H |
| CAN-L | CAN-L |
Zehnder ComfoAir Q GerlCraft Bridge ComfoNet CAN-H ----------------> Atomic CAN Base CAN-H ComfoNet CAN-L ----------------> Atomic CAN Base CAN-L geregelte 5 V ----------------> AtomS3 Lite / USB-C-Versorgung
Bei meinen ersten Versuchen habe ich die 12-V-Versorgungsleitung der Zehnder angezapft und die Spannung mit einem DC/DC-Wandler auf 5 V reduziert. Dieser Aufbau funktionierte grundsätzlich. Der AtomS3 Lite darf jedoch niemals direkt mit 12 oder 24 V verbunden werden. Der Wandler muss für die benötigte Leistung ausgelegt, korrekt eingestellt und seine Ausgangsspannung vor dem Anschluss mit einem Multimeter kontrolliert werden.
Verwendet habe ich dafür ein XY-3606 Step-Down-Modul mit Schraubklemmen und USB-Ausgang. Das Modul wird als 12-/24-V-auf-5-V-Wandler angeboten: verwendeten DC/DC-Wandler bei Amazon ansehen. Der Link dokumentiert meinen damaligen Aufbau; unabhängig von den Angaben des Anbieters sollte die Ausgangsspannung vor dem Anschluss immer selbst gemessen werden.
Da mir diese Lösung für den dauerhaften Einbau nicht gefiel, habe ich später auf ein separates Mean Well HDR-15-5 Hutschienennetzteil gewechselt. Es liefert 5 V DC mit bis zu 2,4 A und wird direkt auf einer DIN-Schiene montiert: verwendetes Mean Well HDR-15-5 bei Amazon ansehen. Die Bridge erhält dadurch eine eigene, sauber aufgebaute 5-V-Versorgung und ist nicht mehr von der 12-V-Leitung der Lüftungsanlage abhängig.
Netzspannung
Ein Hutschienennetzteil wird üblicherweise mit Netzspannung versorgt. Arbeiten im Verteiler und an 230 V dürfen ausschließlich von einer entsprechend qualifizierten Elektrofachkraft durchgeführt werden.
Für den ersten Test genügt ein geeignetes USB-C-Netzteil. Erst wenn Firmware, WLAN und Weboberfläche funktionieren, wird die spannungsfreie Bridge mit CAN-H und CAN-L verbunden.
04
Firmware im Browser installieren
Die einfachste Installation erfolgt über den offiziellen Projekt-Installer:
Benötigt werden Google Chrome oder Microsoft Edge auf einem Computer sowie ein USB-C-Datenkabel.
- AtomS3 Lite noch nicht mit dem ComfoNet verbinden.
- AtomS3 Lite per USB-C am Computer anschließen.
- Browser-Installer öffnen.
- AtomS3 verbinden und installieren anklicken.
- Den passenden Espressif- beziehungsweise USB-Anschluss auswählen.
- Bei einer Erstinstallation das Löschen vorhandener Daten bestätigen.
- Installation abwarten und den AtomS3 anschließend neu starten.
Fehlerhilfe
Browser meldet Failed to initialize
Alle seriellen Monitore und PlatformIO schließen. Danach die Taste am AtomS3 Lite etwa zwei Sekunden gedrückt halten, bis die interne LED grün leuchtet. Taste loslassen, Installationsseite neu laden und den neu erschienenen Anschluss auswählen.
05
WLAN und MQTT einrichten
Nach dem ersten Start erzeugt die Bridge ein eigenes Einrichtungs-WLAN:
WLAN: Zehnder-Bridge-Setup Passwort: zehnder-setup Adresse: http://192.168.4.1
Mit einem Handy oder Laptop mit diesem WLAN verbinden. Die Meldung Kein Internet ist dabei normal. Danach http://192.168.4.1 öffnen und Konfiguration öffnen auswählen.
- WLAN-Name und WLAN-Passwort
- MQTT-Broker und MQTT-Port
- optionaler MQTT-Benutzername und MQTT-Passwort
- eigenes Admin-/OTA-Passwort
- Hostname und optionaler lokaler DNS-Name
- sichtbarer Gerätename
- Aktualisierungsrate der Webansichten
Nach dem Speichern die Bridge neu starten. Standardmäßig ist sie anschließend unter http://zehnder-bridge.local erreichbar. Falls .local im eigenen Netzwerk nicht funktioniert, kann die IP-Adresse im Router nachgesehen und direkt aufgerufen werden.
Empfehlung
Verwende ein eigenes, ausreichend langes Admin-/OTA-Passwort. Es schützt später die Konfigurationsseite und OTA-Updates.
06
Bridge an die Zehnder anschließen
Wenn die Weboberfläche im Heimnetz erreichbar ist, kann die Bridge mit der Lüftungsanlage verbunden werden.
- Zehnder-Anlage und Bridge ausschalten.
- CAN-H und CAN-L wie oben beschrieben verbinden.
- Anschlüsse und 5-V-Versorgung erneut kontrollieren.
- Bridge und Anlage einschalten.
- Nach dem Start die Weboberfläche aufrufen.
CAN-Bus: aktiv Zehnder: online MQTT: verbunden Bridge-Gesundheit: OK
Die Zahl der empfangenen Frames und PDO-Anfragen muss steigen. Einzelne fehlgeschlagene PDO-Anfragen können bei Neustarts oder hoher Buslast vorkommen. Entscheidend sind eine geringe Fehlerquote, ein aktiver CAN-Bus und aktuelle Antworten der Anlage.
07
Home Assistant und Dashboard
In Home Assistant muss die MQTT-Integration eingerichtet sein und denselben Broker wie die Bridge verwenden. Sobald die MQTT-Verbindung steht, veröffentlicht die Bridge ihre Discovery-Daten automatisch.
Einstellungen → Geräte & Dienste → MQTT
Die internen MQTT-Topics und Home-Assistant-Unique-IDs bleiben bei Updates unverändert. Dadurch entstehen keine doppelten Entitäten.
GerlCraft Zehnder Card installieren
Auf der Browser-Installer-Seite steht ein vollständiges Home-Assistant-Paket zum Download bereit. Für ein bestehendes Dashboard ist die responsive GerlCraft Zehnder Card der komfortabelste Weg.
1. JavaScript-Datei kopieren
Lade das Home-Assistant-Paket herunter und kopiere die Datei gerlcraft-zehnder-card.js in den folgenden Ordner deiner Home-Assistant-Installation:
/config/www/gerlcraft-zehnder-card.js
Falls der Ordner www noch nicht existiert, kann er innerhalb von /config/ neu angelegt werden.
2. Dashboard-Ressource eintragen
Öffne anschließend in Home Assistant die Ressourcenverwaltung:
Einstellungen → Dashboards → Drei-Punkte-Menü oben rechts → Ressourcen → Ressource hinzufügen
Trage anschließend folgende Werte ein:
| Feld | Eintrag |
|---|---|
| URL | /local/gerlcraft-zehnder-card.js |
| Ressourcentyp | JavaScript-Modul |
Bestätige den Eintrag mit Erstellen.
Pfadzuordnung
Der Home-Assistant-Pfad /local/ verweist automatisch auf den Ordner /config/www/. Deshalb wird aus /config/www/gerlcraft-zehnder-card.js die Ressourcen-URL /local/gerlcraft-zehnder-card.js.
3. Ansicht zum Dashboard hinzufügen
- Die mitgelieferte Datei
view-custom-card.yamlöffnen. - Den vollständigen YAML-Inhalt kopieren.
- Das gewünschte Dashboard in Home Assistant öffnen.
- Den Bearbeitungsmodus des Dashboards aufrufen und eine neue Ansicht hinzufügen.
- Den kopierten YAML-Code in die Konfiguration der neuen Ansicht einfügen.
- Ansicht speichern und die Browserseite vollständig neu laden.
Karte erscheint nicht
Falls die Karte nach dem Speichern nicht angezeigt wird, Home Assistant mit Strg + F5 vollständig neu laden. Alternativ den Browser-Cache leeren oder das Dashboard testweise in einem privaten Browserfenster öffnen.
Die Karte erkennt den Entity-Präfix normalerweise automatisch und benötigt keine weitere HACS-Karte.
Für Langzeitauswertungen können die Messwerte zusätzlich in InfluxDB gespeichert und mit Grafana dargestellt werden. Die Einrichtung zeigt das Tutorial Home Assistant mit InfluxDB und Grafana erweitern.
08
Diagnose prüfen
Die Bridge stellt eine übersichtliche Diagnoseseite und einen vollständigen JSON-Bericht bereit.
http://DEIN-HOSTNAME.local/diagnostics http://DEIN-HOSTNAME.local/api/diagnostics http://DEIN-HOSTNAME.local/diagnostics.json
Dort lassen sich Firmwareversion, Laufzeit, WLAN-Signal, MQTT-Verbindung, CAN-Zähler, PDO-Fehlerquote und der aktuelle Zustand der Zehnder kontrollieren.
Häufige Probleme und Lösungen
Das Setup-WLAN erscheint nicht
- Bridge neu starten und etwa eine Minute warten.
- Prüfen, ob bereits gültige WLAN-Daten gespeichert sind.
- Bei einer vorhandenen Konfiguration die normale Bridge-Adresse aufrufen.
Home Assistant erkennt das Gerät nicht
- MQTT-Status auf der Diagnoseseite prüfen.
- Broker-Adresse, Port und Zugangsdaten kontrollieren.
- Sicherstellen, dass die MQTT-Integration in Home Assistant aktiv ist.
ComfoNet- oder Kabel-Fehler
- Bridge vom ComfoNet trennen und die Anlage ohne Bridge prüfen.
- CAN-H, CAN-L, Stecker und 5-V-Versorgung kontrollieren.
- Sicherstellen, dass kein zusätzlicher Abschlusswiderstand an der Stichleitung montiert wurde.
- Diagnosebericht und genaue Uhrzeit des Fehlers sichern.
Die Adresse zehnder-bridge.local funktioniert nicht
- Die IP-Adresse der Bridge im Router nachsehen und direkt aufrufen.
- Sicherstellen, dass Endgerät und Bridge im gleichen lokalen Netzwerk sind.
- Gastnetz und Client-Isolation vermeiden.
Fazit
Mit dem M5Stack AtomS3 Lite und der Atomic CAN Base lässt sich eine Zehnder ComfoAir Q lokal in Home Assistant einbinden.
Browser-Installation und Setup-WLAN ermöglichen die Einrichtung ohne Entwicklungsumgebung. Weboberfläche, Diagnose, MQTT und OTA bleiben vollständig lokal kontrollierbar.
Die Bridge läuft bei mir an einer ComfoAir Q350 im Dauerbetrieb. Rückmeldungen zu anderen Anlagen der ComfoAir-Q-Serie und zur eigenen Installation sind willkommen.

Download
GerlCraft Zehnder Bridge
Browser-Installer, Firmware, Home-Assistant-Dashboard und vollständiger Quellcode für den M5Stack AtomS3 Lite.
Quellcode und Dokumentation: GitHub-Projekt öffnen
Zehnder, ComfoAir und ComfoNet sind Marken beziehungsweise Produktnamen ihrer jeweiligen Rechteinhaber. Das Projekt ist unabhängig und wird nicht von der Zehnder Group unterstützt oder freigegeben.
