NEWS
Viessman Vitocal CAN zu MQTT
-
Hallo zusammen,
ich habe mich in letzter Zeit mit dem lokalen Auslesen der Viessmann E3-Wärmepumpen (Vitocal-Serie) beschäftigt. Viele nutzen hier ja den e3oncan-Adapter oder open3e auf einem Raspberry Pi mit USB-to-CAN-Dongle. Da der Aufbau der Hardware RPI und USB-CAN ein gewisses technisches Wissen voraussetzt, möchte ich eine rein technische und Steckerfertige Hardware-Alternative teilen, die ich dafür entwickelt und dokumentiert habe.
Das Modul fungiert als lokales CAN-zu-MQTT-Gateway. Es liest die bekannten DIDs lokal ein und stellt sie als sauberen Datenbaum zur Verfügung, der direkt vom ioBroker-MQTT-Adapter (oder über Aliases) eingelesen werden kann.
Die Beschreibung ist hier zu finden: https://github.com/chrkir/hcv/tree/main/docu
Ich hoffe, die Dokumentation der Datenpunkte und des Hardware-Aufbaus hilft dem einen oder anderen bei der Planung der eigenen Vitocal-Einbindung! Fragen zur CAN-Bus-Terminierung an der Vitocal beantworte ich gerne hier im Thread.
Noch ein Beispiel wie das im den Ojekten des ioBroker aussieht

Beste Grüße
chrkirFirmware-Update: Selektive DID-Auswahl & maßgeschneiderte MQTT-Payloads!
Hallo zusammen,
es gibt ein neues, wichtiges Feature-Update für den E3-Adapter, das ab sofort auf GitHub bereitsteht!Die wichtigsten Neuerungen im Überblick:
- Individuelle DID-Auswahl: Ihr könnt ab sofort eine eigene vcalobj.did-Datei über das Webinterface des Adapters hochladen.
- Ressourcen schonen: Der Adapter liest fortan nur noch die DIDs vom CAN-Bus aus und überträgt sie per MQTT, die ihr explizit in der Datei definiert habt. Das hält euren ioBroker / Home Assistant und das WLAN absolut sauber und schlank.
- Angepasste App-Ansicht: Die Auswahl bestimmt gleichzeitig, welche Werte in der lokalen Web-App des Adapters angezeigt werden.
Wer also z.B. nur die Kern-Temperaturen und die Wärmemengen für das Energie-Dashboard braucht, kann alle anderen Datenpunkte mit einem Schlag deaktivieren.
Den neuen Firmware-Build und die Anleitung zum Aufbau der .did-Datei findet ihr im GitHub-Repository.Ich freue mich auf euer Feedback zur neuen Version!
-
Hallo zusammen,
ich habe mich in letzter Zeit mit dem lokalen Auslesen der Viessmann E3-Wärmepumpen (Vitocal-Serie) beschäftigt. Viele nutzen hier ja den e3oncan-Adapter oder open3e auf einem Raspberry Pi mit USB-to-CAN-Dongle. Da der Aufbau der Hardware RPI und USB-CAN ein gewisses technisches Wissen voraussetzt, möchte ich eine rein technische und Steckerfertige Hardware-Alternative teilen, die ich dafür entwickelt und dokumentiert habe.
Das Modul fungiert als lokales CAN-zu-MQTT-Gateway. Es liest die bekannten DIDs lokal ein und stellt sie als sauberen Datenbaum zur Verfügung, der direkt vom ioBroker-MQTT-Adapter (oder über Aliases) eingelesen werden kann.
Die Beschreibung ist hier zu finden: https://github.com/chrkir/hcv/tree/main/docu
Ich hoffe, die Dokumentation der Datenpunkte und des Hardware-Aufbaus hilft dem einen oder anderen bei der Planung der eigenen Vitocal-Einbindung! Fragen zur CAN-Bus-Terminierung an der Vitocal beantworte ich gerne hier im Thread.
Noch ein Beispiel wie das im den Ojekten des ioBroker aussieht

Beste Grüße
chrkirFirmware-Update: Selektive DID-Auswahl & maßgeschneiderte MQTT-Payloads!
Hallo zusammen,
es gibt ein neues, wichtiges Feature-Update für den E3-Adapter, das ab sofort auf GitHub bereitsteht!Die wichtigsten Neuerungen im Überblick:
- Individuelle DID-Auswahl: Ihr könnt ab sofort eine eigene vcalobj.did-Datei über das Webinterface des Adapters hochladen.
- Ressourcen schonen: Der Adapter liest fortan nur noch die DIDs vom CAN-Bus aus und überträgt sie per MQTT, die ihr explizit in der Datei definiert habt. Das hält euren ioBroker / Home Assistant und das WLAN absolut sauber und schlank.
- Angepasste App-Ansicht: Die Auswahl bestimmt gleichzeitig, welche Werte in der lokalen Web-App des Adapters angezeigt werden.
Wer also z.B. nur die Kern-Temperaturen und die Wärmemengen für das Energie-Dashboard braucht, kann alle anderen Datenpunkte mit einem Schlag deaktivieren.
Den neuen Firmware-Build und die Anleitung zum Aufbau der .did-Datei findet ihr im GitHub-Repository.Ich freue mich auf euer Feedback zur neuen Version!
@chrkir Wenn ich es richtig verstehe, hat dieser Ansatz mit dem Adapter ioBroker.e3oncan nicht direkt etwas zu tun. Der Datenaustausch erfolgt über MQTT, e3oncan wird gar nicht benötigt.
Deshalb würde ich das Thema aus diesem Thread gerne heraus halten. Das open3e Forum erscheint mir dafür viel besser geeignet zu sein. Dort wird bereits über CAN-Anbindung und -Terminierung, andere HW-Themen und MQTT-Kommunikation diskutiert.
Viele Grüße
Jürgen -
Danke für den Hinweis. Ja es ist richtig das zur Erfassung der CAN-Daten e3oncan nicht benötigt wird, jedoch benutze ich die Definitionen aus dem Projekt. Insofern habe ich das hier gepostet. Kann man das verschieben oder muss ich das neue posten ?
-
@Homoran Ich war mir unsicher ob die Beschreibung die ich erstellt habe, nicht zu umfangreich für einen Post ist. Sorry wenn ich da falsch gelegen habe.
-
H Homoran verschob dieses Thema von Tester am
-
Danke für den Hinweis. Ja es ist richtig das zur Erfassung der CAN-Daten e3oncan nicht benötigt wird, jedoch benutze ich die Definitionen aus dem Projekt. Insofern habe ich das hier gepostet. Kann man das verschieben oder muss ich das neue posten ?
-
Firmware-Update: Selektive DID-Auswahl & maßgeschneiderte MQTT-Payloads!
Hallo zusammen,
es gibt ein neues, wichtiges Feature-Update für den E3-Adapter, das ab sofort auf GitHub bereitsteht!Die wichtigsten Neuerungen im Überblick:
- Individuelle DID-Auswahl: Ihr könnt ab sofort eine eigene vcalobj.did-Datei über das Webinterface des Adapters hochladen.
- Ressourcen schonen: Der Adapter liest fortan nur noch die DIDs vom CAN-Bus aus und überträgt sie per MQTT, die ihr explizit in der Datei definiert habt. Das hält euren ioBroker / Home Assistant und das WLAN absolut sauber und schlank.
- Angepasste App-Ansicht: Die Auswahl bestimmt gleichzeitig, welche Werte in der lokalen Web-App des Adapters angezeigt werden.
Wer also z.B. nur die Kern-Temperaturen und die Wärmemengen für das Energie-Dashboard braucht, kann alle anderen Datenpunkte mit einem Schlag deaktivieren.
Den neuen Firmware-Build und die Anleitung zum Aufbau der .did-Datei findet ihr im GitHub-Repository.Ich freue mich auf euer Feedback zur neuen Version!
-
M mcm1957 verschob dieses Thema von ...nicht in offiziellem Repo am
-
[UPDATE v1.01] ESP32 HCV Adapter: Vitocal jetzt per MQTT steuern (DID-Schreibzugriff) & CAN-Filter
Hallo zusammen,
es gibt ein großes Update auf Version v1.0.0 für den ESP32-basierten HCV/CAN-Adapter! Neben dem gewohnten Auslesen könnt ihr eure Heizung ab sofort auch aktiv über ioBroker steuern.
🚀 Die wichtigsten Neuerungen:
- Aktive Steuerung über MQTT (DID Schreibzugriff)
Ihr könnt Datenpunkte (DIDs) jetzt direkt per JSON-Payload beschreiben – beispielsweise den Raumtemperatur-Sollwert.
- MQTT Topic zum Senden:
HCV/writeDid - Beispiel-Payload (Sollwert Mischerkreis 1 auf 20,0 °C setzen):
{"did": 424, "value": 200}(Hinweis: Der Wert
200entspricht 20,0 °C wegen desFloat_10-Faktors in dervcalobj.did).- Rückmeldung: Der Adapter sendet das Ergebnis direkt an
HCV/writeDidResponse({"status": "success"}oder{"status": "error"}).
- Integriertes CAN-Bus Logging mit Filter
Das Logging kann nun auf bestimmte CAN-IDs gefiltert werden. Das macht das Analysieren eigener Datenpunkte und Erweitern von MQTT-Topics extrem einfach, ohne den Log zuzumüllen. - Neues DID-Handling & UI-Anpassungen
Stabileres Parsing der Parameter und überarbeitete Darstellung der Hilfetexte im Web-Interface.
🧩 Beispiel für ioBroker (JavaScript / Block)
Wenn ihr den Datenpunkt
mqtt.0.HCV.writeDid(oder euer entsprechendes Topic) beschreiben wollt, könnt ihr das ganz einfach per JavaScript erledigen:// Beispiel: Raumtemperatur-Sollwert auf 20.5 °C setzen (did: 424, Float_10 -> value: 205) function setVitocalTemp(targetTemp) { let payload = { did: 424, value: Math.round(targetTemp * 10) }; // Sendet das JSON an das Steuerungs-Topic sendTo('mqtt.0', 'sendMessage2Client', { topic: 'HCV/writeDid', message: JSON.stringify(payload) }); } // Aufruf: 20.5 °C senden setVitocalTemp(20.5);💡 Tipp: Falls ihr mit dem MQTT-Adapter im "Client/Server"-Modus arbeitet, könnt ihr das JSON auch einfach als String direkt in den Datenpunkt
mqtt.0.HCV.writeDidschreiben.⚠️ Sicherheitshinweis: Bitte prüft vor dem Schreiben eigener DIDs immer die Skalierungsfaktoren in eurer
vcalobj.did, um falsche Werte im Steuergerät zu vermeiden.🧩 Blockly-Tipp:
Wer lieber mit Blockly arbeitet: Nutzt einfach den Baustein erstelle Objekt mit den Feldern did (Zahl) und value (Zahl), schaltet den Baustein JSON nach Text davor und steuert damit direkt den Datenpunkt mqtt.0.HCV.writeDid
Den Code und das Release v1.01 findet ihr wie gewohnt auf GitHub. Feedback und Fragen gerne hier im Thread!
- Aktive Steuerung über MQTT (DID Schreibzugriff)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden