Tecalor THZ 404 CANBus mit HomeAssistant

Tecalor Wärmepumpe in Home Assistant einbinden

Überwachung & Steuerung über ESP32 und MCP2515 CAN-Bus


💡 Idee

Hier möchte ich euch zeigen, mit welchen Mitteln ich meine Tecalor-Heizung in mein Home Assistant-System eingebunden habe.

Die Idee kam mir, weil mir die rund 600 € für das originale Tecalor ISP-Steuergerät einfach zu teuer waren.


🎯 Ziel meiner Steuerung

Eins vorweg:
Ich möchte mit dieser Steuerung keine automatischen Heizprogramme umsetzen, sondern vor allem:

  • die aktuellen Betriebsparameter der Heizung im Blick behalten
  • Warmwasser und Heizbetrieb zentral steuern können – ohne jedes Mal in den Keller zu laufen

⚙️ Vorbereitung: Der hydraulische Abgleich

Wer eine Wärmepumpe mit Fußbodenheizung und Raumthermostaten betreibt, ist wahrscheinlich schon auf das Thema hydraulischer Abgleich gestoßen.

Was bedeutet „hydraulischer Abgleich“ eigentlich?

Ein hydraulischer Abgleich sorgt dafür, dass jeder Raum genau so viel warmes Heizungswasser bekommt, wie er wirklich benötigt – nicht mehr und nicht weniger.

Ohne diesen Abgleich fließt das Heizungswasser oft einfach den kürzesten Weg entlang. Das führt dazu, dass Räume, die näher an der Heizung liegen, zu warm, und entferntere Räume zu kalt werden.

Beim hydraulischen Abgleich werden daher alle Raumthermostate und Stellmotoren am Heizkreisverteiler deaktiviert oder entfernt.
Stattdessen stellt man direkt am Heizkreisverteiler für jeden Raum die Durchflussmenge manuell ein.

So bekommt jeder Heizkreis nur noch so viel warmes Wasser, wie nötig ist, um die gewünschte Raumtemperatur zu erreichen.

Das Ergebnis:

  • gleichmäßig warme Räume
  • eine leiser und effizienter arbeitende Wärmepumpe
  • keine hydraulischen Kurzschlüsse, bei denen das Wasser zu schnell zirkuliert

Kurz gesagt:
Ein sauber eingestellter hydraulischer Abgleich ist die Grundvoraussetzung für ein effizientes Heizsystem – und damit die perfekte Basis, um die Anlage anschließend digital zu überwachen und zu steuern.


🔌 Mein Ansatz: Die Tecalor-Wärmepumpe mit Home Assistant verbinden

Nachdem der Heizkreislauf sauber abgeglichen war, wollte ich auch die Daten der Wärmepumpe selbst im Blick haben.
Meine Tecalor THZ 404 ECO bietet zwar ein internes Menü mit allen wichtigen Werten, doch jedes Mal dafür in den Keller zu laufen, war auf Dauer einfach unpraktisch.

Das originale Tecalor ISP-Steuergerät wäre zwar die offizielle Lösung – kostet aber rund 600 €, was mir für reines Monitoring eindeutig zu viel war.

Also habe ich mir die Frage gestellt:

Kann man die Wärmepumpe nicht einfach direkt an ein eigenes System anbinden?

Die Antwort: Ja – über den CAN-Bus!

Die THZ-Serie von Tecalor (baugleich mit Stiebel Eltron LWZ) nutzt für die interne Kommunikation den Controller Area Network Bus (CAN-Bus).
Diesen Bus kann man mit einem ESP32-Mikrocontroller und einem passenden CAN-Transceiver-Modul relativ einfach „abhören“ und die Werte anschließend per MQTT oder direkt über die ESPHome API an Home Assistant übermitteln.

Damit lassen sich Live-Daten wie Temperaturen, Betriebsmodi oder Fehlermeldungen anzeigen – ganz ohne ISP-Modul.


🧰 Hardware-Aufbau: Tecalor ↔ ESP32 ↔ MCP2515 ↔ Home Assistant

Ziel

Die Tecalor-Wärmepumpe per CAN-Bus mit einem ESP32-PoE zu verbinden.
Der ESP32 liest die Werte am Bus (über den MCP2515) und liefert sie an Home Assistant.


Stückliste

🧩 Software & Einrichtung

Ich benutze das in Home Assistant integrierte ESPHome Builder.
Um auf die YAML-Dateien zuzugreifen, nutze ich den Studio Code Server.

  1. Ladet euch auf GitHub folgendes Projekt herunter:
    👉 https://github.com/kr0ner/OneESP32ToRuleThemAll
  2. Entpackt das ZIP und kopiert den Inhalt in euer Home Assistant ESPHome-Verzeichnis.
  3. Ihr erhaltet die Datei esp32-poe-technik.yaml – bei mir heißt sie thz404.yaml passt dort den Namen eures Geräts an, sowie die Plattform eures CANBUS (ihr könnt das untere übernehmen):
esphome:
  name: esp32-poe-technik
  friendly_name: ESP32-PoE Technik
#########################################
#                                       #
#   CAN configuration                   #
#                                       #
#########################################
canbus:
  - id: !extend wp_can
    platform: mcp2515
    spi_id: McpSpi
    cs_pin: GPIO16
    bit_rate: 20kbps
  1. Entfernt in den Packages-Sektionen unten das # vor eurem Gerät:
packages:
# energymeter: !include ./yaml/energymeter.yaml
# evu: !include ./yaml/evu.yaml
# watermeter: !include ./yaml/watermeter.yaml
# sensors: !include ./yaml/sensors.yaml
  thz404: !include ./yaml/thz404.yaml
# thz504: !include ./yaml/thz504.yaml
# thz55eco: !include ./yaml/thz5_5_eco.yaml
# ttf07: !include ./yaml/ttf07.yaml
# wpl13: !include ./yaml/wpl13.yaml
# kondensatpumpe: !include ./yaml/kondensatpumpe.yaml

secrets.yaml

Wie ihr seht, liest die YAML eine secrets.yaml ein.
Dort werden WLAN-Daten und Schlüssel hinterlegt:

#########################################
#                                       #
#   WLAN Passwords                      #
#                                       #
#########################################
wifi_ssid: "Test"
wifi_password: "Test8888"
#########################################
#                                       #
#   ESPHome Keys                        #
#                                       #
#########################################
api_encryption_key: "dniqawnhdiuqhdizuqhdzghqzudguzqwgawduztgw"
ota_password: "dawudiaihbdzhwgbazdghuzgabd"

🔐 Hinweis:
Das ota_password ist das ESPHome-eigene Passwort und erlaubt es, den ESP32 per WLAN zu flashen.


⚡ Flashen

Schließt den ESP32 per USB an euer Home Assistant-Gerät an und flasht die Config mit dem ESPHome Builder.
Unter „New Device“ sollte euer Board automatisch erkannt werden.

Im Log könnt ihr bereits sehen, ob CAN-Bus-Abfragen stattfinden.
Solange nichts angeschlossen ist, erscheinen hier natürlich noch Fehlermeldungen.

Kommen wir zum Anschluss der Hardware:

wir nehmen den MCP2515 und schließen die PINs per Jumper Kabel an den GPIO Pins des ESP32 wie folgt an:

MCP2515 – PinFunktionESP32 GPIO
VCCBetriebsspannung3.3V (nicht 5V!)
GNDMasseGND
SCKSPI ClockGPIO14 (clk-pin)
SI (MOSI)SPI InGPIO13 (mosi_pin)
SO (MISO)SPI OutGPIO4 (miso_pin)
CSSPI Chip SelectGPIO16 (cs_pin)
INTInterruptnicht notwendig
CANHCAN Highan THZ CANH
CANLCAN Lowan THZ CANL

Anschluss an der Tecalor-Heizung

⚠️ Wichtig:
Vorher unbedingt den Strom abschalten!

Seitlich an der Wärmepumpe befindet sich eine Abdeckung mit der Klemmbelegung.


Dort findet ihr die Anschlüsse CAN-H und CAN-L, an die ihr eure Steuerleitung anschließt.
Das andere Ende kommt an die Schraubklemmen des MCP2515.


🔧 Terminierung (Jumper J1)

Wichtig!!!

Wenn euer MCP2515 das letzte Gerät am CAN-Bus ist,
also wenn ihr nur die Heizung und danach den MCP2515 habt,
müsst ihr bei „J1“ am MCP2515 den Jumper setzen!

Warum?

Der CAN-Bus funktioniert nur zuverlässig, wenn beide Enden mit einem 120 Ω Abschlusswiderstand versehen sind.
Diese Widerstände verhindern Reflexionen und Störungen.

Beispiel:

[ Tecalor / Wärmepumpe ] ─── [ MCP2515 Modul (ESP32) ]

→ Der MCP2515 ist das zweite (und letzte) Gerät am Bus
→ Jumper „J1“ setzen

Wenn ihr jedoch mehrere Geräte habt (z. B. ein ISP-Modul oder Erweiterungen),
dann Jumper offen lassen!
Mehr als zwei Terminierungen dämpfen das Signal oder legen den Bus lahm.


✅ Abschluss

Überblick:

  1. Hardware gekauft
  2. ESP32-Config eingerichtet
  3. ESP32 geflasht
  4. Hardware verkabelt

Wenn alles richtig gemacht wurde, erscheint in Home Assistant unter
Einstellungen → Add-ons → ESPHome
ein neues Gerät – eure Tecalor-Heizung 🎉

Dort findet ihr alle Sensoren, die ihr anschließend auf dem Dashboard visualisieren könnt.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert