UPDATE 12.2025 und 09.2025:
Nachdem es mit der ESP Home Version von Fabian Schmidt wegen mangelnder Pflege Probleme gegeben hat nutzt bitte die Variante von Sönke Krebber:
https://github.com/skrebber/esphome-truma_inetbox
Ich versuche diese Anleitung an die neuesten Gegebenheiten anzupassen, aber das klappt nicht immer rechtzeitig. Es empfiehlt sich daher die Kommentare zu lesen und bei Problemen einen Kommentar dort zu hinterlassen, oder die Community unter https://t.me/c/2623211401/69 auf Telegram zu verfolgen.
Warum jetzt die ESPHome Fernsteuerung der Truma-Heizung?
Wie man die Truma-Heizung fernsteuern kann war einst mein Einstieg in die Welt des smarten Wohnmobils. Zuerst mit einer einfachen Relais-Lösung und dann über die in diesem Blogpost beschriebene Lösung per Home Assistant und MQTT. Den Blogpost habe ich am 17.02.2023 hier veröffentlicht. Was mich aber über die Jahre massiv an der Lösung gestört hat, waren die häufigen Ausfälle. Damit war eine zuverlässige Frostsicherung des Wohnmobils im Winter leider nicht möglich. Man musste immer nachsehen, ob die Heizung noch lief oder schon wieder wegen der Steuerung ausgefallen war.
Wintercamping mit dem smarten Wohnmobil im Schnee und Fernsteuerung der Heizung per Inetbox2MQTT
Ich habe viele Möglichkeiten getestet, um herauszufinden, woher diese Ausfälle kommen. Selbst Dr. Magnus Christ, der Ersteller der inetbox2mqtt-Lösung hat mehrfach mit mir gemeinsam versucht eine Lösung zu finden. Leider hat es auf keinem ESP32 funktioniert und das berichten auch andere User im Telegram-Chat.
Inetbox2MQTT-Lösung auf dem Raspberry Pi Pico W ohne Ausfälle!
Die Inetbox2MQTT-Lösung funktioniert laut Aussagen von Usern ohne Probleme. Dies aber nur, wenn sie statt auf einem ESP32 auf einem Rasperry Pi Pico W* eingerichtet wird! Auf dem Rasperry Pi Pico W hat Dr. Magnus Christ diese Lösung auch entwickelt.
Diese Lösung ist sehr nutzerfreundlich umsetzbar und es steckt auch sehr viel Arbeit vom Ersteller darin.
Inetbox2MQTT-Lösung auf einem Rasperry Pi Pico W von Dr. Magnus Christ
Einführung und Grundlagen der Truma-Steuerung
Wie genau alle diese Truma-Steuerungen funktionieren, hat Marcus Buck sehr schön in seinem YouTube-Video erklärt. Anschauen lohnt sich, da man dann besser verstehen kann, wie die Truma-Steuerung aufgebaut sein muss, egal ob mit Victron, oder Home Assistant. Danke an Uwe von Uwe und Iris Womowelt für den Tipp.
ESPHome-Truma-Inetbox die Alternative
Basierend auf der Arbeit von WomoLIN, Dr. Daniel Fett und Dr. Magnus Christ hat Fabian Schmidt die Steuerung der Truma Heizung als ESPHome-Variante entwickelt. ESPHome ist direkt in Home Assistant integriert. Mittlerweile habe ich auch auf diese Variante umgestellt. Dazu musste ich an der vorhandenen Hardware nichts verändern, sondern konnte einfach in Home Assistant in ESPHome die Platine neu beschreiben.
Heizungssteuerung im Home Assistant Dashboard mit der ESPHome Lösung von Fabian Schmidt
Schritt für Schritt Anleitung für die ESPHome-Truma-Inetbox
Wie gewohnt werde ich Euch Schritt für Schritt auf dem Weg zu Euerer ESPHome-Truma-Inetbox begleiten. Solltet Ihr einen Fehler entdecken, oder eine Verbesserung kennen, freue ich mich über einen Hinweis in den Kommentaren.
Disclaimer:
ACHTUNG! Diese Anleitung habe ich nach bestem Wissen und Gewissen erstellt. Jeder der das nachbaut, handelt auf eigene Gefahr. Jegliche Haftung meinerseits ist ausgeschlossen und Ihr seid allein für Euer Tun verantwortlich. Wer keine Ahnung von Elektrizität hat, der sollte das einem Fachmann überlassen.
Bitte beachtet, das auch eine eventuelle Garantie des Herstellers durch Eingriffe in die Steuerung erlöschen könnte.
Diese Seite hat keinerlei Beziehungen zu den genannten Herstellern und Firmen in dem Beitrag. Ich habe das selbst so in meinem Wohnmobil umgesetzt und es läuft.
Voraussetzungen für den Einbau und Betrieb
Dazu benötigt Ihr einen Computer und eine in Eurem Camper installierten Raspberry Pi. In meinem Fall habe ich inzwischen einen Home Assistant Green, auf dem Home Assistant und ESPHome eingerichtet sind. Wie Ihr Home Assistant auf einem Raspberry Pi einrichtet, das habe ich in diesen Blogposts erklärt:
Teil 1: https://schleeh.de/2022/10/09/smartes-wohnmobil-dieses-mal-mit-home-assistant/
Teil 2: https://schleeh.de/2022/10/12/smartes-wohnmobil-mit-home-assistant-teil-2/
Teil 3: https://schleeh.de/2022/11/01/smartes-wohnmobil-mit-home-assistant-teil-3/
Heute würde ich keinen Raspberry Pi mehr nehmen, sondern den Home Assistant Green. Die Vorteile sind vielfältig. Zum einen kann man den Home Assistant Green direkt an die 12-Volt Versorgung des Wohnmobils anschließen. Zum anderen ist Home Assistant auf dem Green schon komplett vorinstalliert und Ihr könnt sofort mit der Einrichtung loslegen. Allerdings braucht Ihr noch einen Bluetooth-Dongle. Der HA Green hat leider kein eingebautes BT. Aber man kann an einem der beiden USB-A-Anschlüssen einen Bluetooth-Dongle einstecken. Damit könnt Ihr auch einfache Bluetooth Geräte, wie die Ruuvi-Tags direkt in Home Assistant einbinden.
Mehr zum Home Assistant Green:
Home Assistant Green bei Botland.de
- Misst Temperatur, Luftfeuchtigkeit, Luftdruck und Bewegung
- Mehrere Sensoren in einem Gerät
- Mehrjährige Batterielebensdauer
- Kostenlose mobile App
- Schnellstart in 1 Minute
- Große Reichweite: Dieser Bluetooth-Adapter mit einer 2-dBi-Hochleistungsantenne ermöglicht eine extrem große Reichweite von bis zu 100 Metern. Die Antenne ist drehbar, um die Signalübertragung und den Empfang zu optimieren. (Hinweis: Die Reichweite kann durch Hindernisse und Funkstörungen beeinträchtigt werden.)
- Hohe Bandbreite für latenzfreies Gaming: Die Übertragungsbandbreite erreicht 2 Mbit/s und übertrifft damit die Standardbandbreite von Bluetooth 5.3 deutlich. Daher bietet der USB-Bluetooth-5.3-Adapter praktisch keine Latenz und sorgt so für ein optimales Spielerlebnis, insbesondere bei Kampfspielen
- Starker Störunterdrückung: Der Bluetooth-Dongle bietet hervorragende Leistung und eine stabile Übertragung. Die verbesserte Störunterdrückung reduziert die Wahrscheinlichkeit von Bluetooth-Verbindungsabbrüchen in komplexen Umgebungen erheblich
- Breite Kompatibilität: Der PC-Bluetooth-Adapter ermöglicht die gleichzeitige Verbindung von bis zu 5 verschiedenen Bluetooth-Geräten, z. B. Bluetooth-Maus, -Tastatur, -Smartphone, -Headset, PS4-Controller usw. Sind zwei Audiogeräte (z. B. Lautsprecher oder Kopfhörer) angeschlossen, kann jeweils nur ein Gerät Musik abspielen
- Plug und Play: Der Bluetooth Stick für PC ist für Windows 11, 10, 8.1 entwickelt. Einfach Plug und Play, keine Treiberinstallation erforderlich
WICHTIG: Euere CP Plus muß „iNet ready“ sein!
Bitte beachtet, dass ältere Versionen der CP-Plus Steuerung (z. B. mit der Nummer C3.xx.xx) ein anderes Protokoll für die Kommunikation mit der iNet Box verwenden. Herausfinden könnt ihr das im Schraubenschlüssel-Menü unter dem Punkt INDEX wie in dem Video unten.
Wenn Ihr die Heizungssteuerung via ESPHome dennoch verwenden möchtet, könnt Ihr die CP-Plus durch eine neuere Variante (z. B. C4.03.00) ersetzen. Das neue CP-Plus kann auch ältere TRUMA Heizgeräte (z. B. H5.xx.xx) ansteuern.
Bitte beachtet, dass diese Simulation nur auf einem CP-Plus funktioniert, an dem KEINE Inetbox angeschlossen ist. Insbesondere wird die Kommunikation mit einem TRUMA INet X nicht unterstützt. Die TRUMA INet X ist der Nachfolger von CP-Plus und enthält teilweise inetbox-Funktionalitäten.
Ob Ihr die richtige CP-Plus habt, könnt Ihr an der ersten Kennung unter Index erkennen. Bei mir hat es gepasst mit C4.01.02
Die Hardware für die Steuerung
- Es handelt sich um ein TTL_UART-zu-LIN-Busmodul. Das Modul verwendet den TJA1020-Chip. Es wird hauptsächlich zur Kommunikationsüberwachung und Wartung von LIN-Busgeräten verwendet.
- Die gemessene Baudrate des Moduls kann 57600 Bit / s erreichen, und die empfohlene maximale Betriebsfrequenz beträgt weniger als 20 KBit / s.
- Dieses Modul ist nur ein Level-Konvertierungsmodul und nimmt nicht an Konvertierungsanalysen wie Softwareprotokollen teil.
- Wenn das Modul an den COM-Port des Computers angeschlossen ist, kann der Computer Daten empfangen, jedoch nicht mit Ihrem Slave-Gerät als Host kommunizieren. Der COM-Port des Computers kann das 13-Bit-Startbit im LIN-Protokoll nicht generieren, kann es aber sein verbunden mit einer Entwicklungsplatine wie einem Mikrocontroller.
- MIT VERTRAUEN EINKAUFEN: Wenn Sie Fragen haben, zögern Sie nicht, uns zu kontaktieren, um Ihnen den bestmöglichen Service zu bieten. Wir bieten Kundendienst an, bis Sie zufrieden sind.
- Leistungsfähiger ESP32-Microcontroller verbaut! Absolute Neuheit am Markt! Das ESP32 ethernet ist ein absolutes Allroundtalent. Er zeichnet sich durch sein kompaktes Design aus. Für das Einsatzgebiet ist der Fantasie dabei keine Grenze gesetzt.
- Komfortables Prototyping durch einfache Programmierung per Lua-Script oder in der Arduino-IDE und Breadboard-kompatible Bauweise. Das ESP32 Board ist ein echtes Alleskönner. Das ESP32 azdelivery ist ein Muss zu jedem Projekt und gehört in jedes Zuhause.
- Dieses Board verfügt über 2,4 GHz Dual-Mode Wi-Fi und Bluetooth-Chips von TSMC sowie die 40nm Low-Power-Technologie. Das Nodemcu ESP32 ist für jeden Hobbybastler geeignet. Auch Profis wissen den ESP 32 zu schätzen. Unzählige Projekte lassen sich damit realisieren.
- Das Modul hat 38 Pins und bietet mehr Funktionen als ein 30-Pin-Modul. Und es ist kleiner und bequemer in der Anwendung. Das ESP32 Development Board ist der Vorgänger des ESP32 devkitc v4 und des ESP-32 dev kit c v4. Kunden bevorzugen jedoch meistens das Dev Kit V2.
- Dieses Produkt enthält ein E-Book, das nützliche Informationen über den Beginn Ihres Projekts enthält, es hilft bei einer schnellen Einrichtung und spart Zeit beim Konfigurationsprozess. Wir bieten eine Reihe von Anwendungsbeispielen, vollständige Installationsanleitungen und Bibliotheken.
- 【2 Längen】: 10 cm und 20 cm, die am häufigsten verwendeten Längen von Überbrückungsdrähten.
- 【3 Typen】: Männlich zu Weiblich, Männlich zu Männlich, Weiblich zu Weiblich. Erfüllen Sie perfekt alle Ihre Projektanforderungen.
- 【Einfach zu verwenden】: Schnelle Schaltungstests ohne Löten. Kommt mit 10 Farben, um Diagrammverbindungen leicht zu unterscheiden.
- 【Feste Verbindung】: 2,54 mm Abstand, alle gängigen Stiftleisten sind kompatibel. Jeder Draht kann separat verwendet werden und hält bei Verwendung sicher und fest in Ihrer Buchse oder Ihrem Stift.
- 【Breite Anwendung】: Weit verbreitet in elektronischen Projekten für Verbindungen wie Breadboard
- Farbe: schwarz
- Anzahl der Packungen : 1
- Verpackungsabmessungen (L × B × H) : 1.6 zm 8.8 zm 16.2 zm
- Einsatzgebiet | Die Module finden breite Anwendung in den Bereichen KFZ, Photovoltaik, Industrieanlagen, LKW, Boot, Landmachinen, Camping, mobile Einrichtungen, Hobby und Heimwerken sowie Haus und Garten.
- Wasserdicht IP68 | Der Wandler wird mit Epoxidharz wasserdicht vergossen und erlaubt individuellen Einsatz z.B. im Außenbereich als Stromversorgung für Beleuchtungen oder auf See, verbaut in Booten.
- Schutzschaltungen | Überspannungsschutz, Verpolungsschutz, Kurzschlussschutz, Überlastschutz sowie Überhitzungsschutz sorgen für Sicherheit. Beachten Sie dazu das Datenblatt des jeweiligen Gerätes.
- Fertigung | Durch die Produktion in einem ISO 9001 zertifizierten Betrieb mit Funktionsprüfungen und Qualitätschecks, können wir Defekte minimieren und Arbeitsabläufe sowie Kosten optimieren.
- Robust | Durch das Vergießen der elektronischen Teile im Gehäuse, wird eine enorme Stabilität und Resistenz gegenüber Vibrationen erreicht. Eine hohe Lebensdauer sowie Integrität wird gewährleistet.
Einrichten von ESPHome in Home Assistant
Wie man ESPHome nutzt, kann Euch Simon vom YouTube-Kanal Simon42 viel besser als ich erklären. Abbonniert auf alle Fälle seinen Kanal, das lohnt sich für alle Home Assistant Nutzer!
Flashen des ESP32
UPDATE 11.2025:
Nachdem Fabian Schmidt sein Repository auf Github nicht mehr weiter betreut, ist diese Variante nicht mehr mit den aktuellen Versionen von ESPHome ab 2025.10. kompatibel. Deshalb hat die Community auf Telegram dieses Repository auf Github geforked. Deshalb wurde der Blogpost dahingehend angepasst!
Wie im Video von Simon gezeigt, legt Ihr einen ESP32 unter ESPHome in Home Assistant an. Dann holt Ihr Euch die Truma.yaml Datei aus dem Fork von Sascha Krebber https://github.com/skrebber/esphome-truma_inetbox Truma.yaml Datei von Fabian Schmidt von Github. Fabian Sascha hat auch Beispiele für eine Truma Combi ohne E hier: https://github.com/skrebber/esphome-truma_inetbox/blob/main/truma.yaml https://github.com/Fabian-Schmidt/esphome-truma_inetbox/blob/main/examples/combi.yaml oder Ihr passt die unten stehende truma.yaml an Eure Bedürfnisse an und nehmt die.
ACHTUNG! Truma.yaml auf Heizungstyp anpassen!
Ihr müsst die Truma.yaml Datei an Euere Heizungsvariante und an Eure Gegebenheiten (WLAN; Ethernet, etc.) anpassen. Es gibt die Combi 4 oder 6. Die widerum können mit Gas oder Diesel betrieben werden. Die Combi-Varianten mit E am Ende haben noch die Möglichkeit mit 230 Volt-Strom betrieben zu werden.
Schaut Euch meine truma.yaml an, die ist speziell für eine Combi 6E, und die Inetbox von WomoLIN, welche per Ethernet an meinen Router angeschlossen ist.
Wer also keine Combi E hat, sollte die Zeilen mit den Elektrischen Steuerungsangaben entweder löschen oder besser mit einer Raute # vor jeder Zeile versehen. Damit werden die Zeilen als Text ausgewiesen.
Fabian hat auch Beispiele für die verschiedenen Varianten mit Gas- und 230V-Betrieb. Leider habe ich nichts zu den Truma Diesel Heizungen (Combi 4D / 6D mit oder ohne E) gefunden.
Truma Combi ohne E (4 oder 6):
https://github.com/skrebber/esphome-truma_inetbox/blob/main/examples/combi.yaml
https://github.com/Fabian-Schmidt/esphome-truma_inetbox/blob/main/examples/combi.yaml
Truma Combi E (4E oder 6E):
https://github.com/skrebber/esphome-truma_inetbox/blob/main/examples/combi_E.yaml
https://github.com/Fabian-Schmidt/esphome-truma_inetbox/blob/main/examples/combi_E.yaml
Geändert 2.12.2025:
Hier die komplett mögliche Lösung. Die durchgestrichenen Angaben müsst Ihr für Eure Installation selbst erstellen oder erstellen lassen. Ich habe eine Truma Combi 6E, die wie die 4E mit elektrischem Heizstab und 230 Volt Unterstützung ausgestattet ist. Wenn Ihr die Truma Heizung ohne E habt, müsst Ihr in der Datei von mir die Teile mit Electricity auskommentieren (Dazu stellt man eine Raute # an den Anfang des Textes) oder löschen.
esphome:
# https://womolin.de/products/womolin-lin-controller/
name: "truma"
friendly_name: "Truma"
external_components:
- source: github://skrebber/esphome-truma_inetbox
components: ["truma_inetbox"]
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable Home Assistant API
api:
encryption:
key: "EUER Encryption Key"
ota:
- platform: esphome
password: "EUER OTA Passwort"
logger:
baud_rate: 2000000
# level: VERY_VERBOSE
# level: VERBOSE
# level: DEBUG
# level: INFO
# level: WARN
level: NONE
# WLAN Einstellungen entweder wie unten in einer secret.yaml oder den Namen des WLAN unter SSID und
# das Passwort direkt dahinter eintragen
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Falls Ihr die WomoLIN Box über LAN-Kabel nutzt
# ethernet:
# type: KSZ8081RNA
# mdc_pin: 23
# mdio_pin: 18
# clk_mode: GPIO16_OUT
# manual_ip:
# static_ip: 192.168.xxx.xxx
# gateway: 192.168.xxx.xxx
# subnet: 255.255.255.0
uart:
- id: lin_uart_bus
tx_pin: 15
rx_pin: 14
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 2
truma_inetbox:
uart_id: lin_uart_bus
time_id: homeassistant_time
time:
- platform: homeassistant
id: homeassistant_time
climate:
- platform: truma_inetbox
name: "Room"
type: ROOM
- platform: truma_inetbox
name: "Water"
type: WATER
binary_sensor:
- platform: truma_inetbox
name: "CP Plus alive"
type: CP_PLUS_CONNECTED
- platform: template
name: "Supply Electricity"
lambda: |-
return ((int) id(operating_status).state & 0b00000010) != 0;
- platform: truma_inetbox
name: "Room Heater active"
type: HEATER_ROOM
id: HEATER_ROOM
- platform: truma_inetbox
name: "Water Heater active"
type: HEATER_WATER
id: HEATER_WATER
- platform: truma_inetbox
name: "Heater mode Gas"
type: HEATER_GAS
- platform: truma_inetbox
name: "Heater mode Mix 1"
type: HEATER_MIX_1
- platform: truma_inetbox
name: "Heater mode Mix 2"
type: HEATER_MIX_2
- platform: truma_inetbox
name: "Heater mode Elec"
type: HEATER_ELECTRICITY
- platform: truma_inetbox
name: "Heater has error"
type: HEATER_HAS_ERROR
- platform: truma_inetbox
name: "Timer active"
type: TIMER_ACTIVE
id: TIMER_ACTIVE
- platform: truma_inetbox
name: "Timer Room Heater active"
type: TIMER_ROOM
- platform: truma_inetbox
name: "Timer Water Heater active"
type: TIMER_WATER
number:
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Target Water Temperature"
type: TARGET_WATER_TEMPERATURE
- platform: truma_inetbox
name: "electric power level"
type: ELECTRIC_POWER_LEVEL
#- platform: template
# name: "LIN Cycle Num"
# id: lin_cycle_num
# optimistic: True
# min_value: 0
# max_value: 100000
# step: 1
#- platform: template
# name: "HA Time Cycle Num"
# id: ha_time_cycle_num
# optimistic: True
# min_value: 0
# max_value: 100000
# step: 1
sensor:
- platform: truma_inetbox
name: "Current Room Temperature"
type: CURRENT_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Current Water Temperature"
type: CURRENT_WATER_TEMPERATURE
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Target Water Temperature"
type: TARGET_WATER_TEMPERATURE
- platform: truma_inetbox
name: "Heating mode"
type: HEATING_MODE
- platform: truma_inetbox
name: "electric power level"
type: ELECTRIC_POWER_LEVEL
- platform: truma_inetbox
name: "Energy mix"
type: ENERGY_MIX
- platform: truma_inetbox
name: "Operating status"
id: operating_status
type: OPERATING_STATUS
- platform: truma_inetbox
name: "Heater error code"
type: HEATER_ERROR_CODE
switch:
- platform: restart
name: "Neustart ESP TRUMA"
- platform: template
name: "Activate Room Heater"
lambda: |-
return id(HEATER_ROOM).state;
turn_on_action:
- truma_inetbox.heater.set_target_room_temperature:
# You can use lambda functions
temperature: !lambda |-
return 16;
# Optional set heating mode: `"OFF"`, `ECO`, `HIGH`, `BOOST`
heating_mode: ECO
turn_off_action:
- truma_inetbox.heater.set_target_room_temperature:
# Disable heater by setting temperature to `0`.
temperature: 0
- platform: template
name: "Activate Water Heater"
lambda: |-
return id(HEATER_WATER).state;
turn_on_action:
- truma_inetbox.heater.set_target_water_temperature:
# Set water temp as number: `0`, `40`, `60`, `80`
temperature: 40
turn_off_action:
- truma_inetbox.heater.set_target_water_temperature:
# Disable heater by setting temperature to `0`.
temperature: 0
- platform: template
name: "Activate Water Heater (enum)"
lambda: |-
return id(HEATER_WATER).state;
turn_on_action:
- truma_inetbox.heater.set_target_water_temperature_enum:
# Set water temp as text: `"OFF"`, `ECO`, `HIGH`, `BOOST`
temperature: ECO
turn_off_action:
# You can also use the simplified syntax.
- truma_inetbox.heater.set_target_water_temperature_enum: "OFF"
- platform: template
name: "Active Timer"
lambda: |-
return id(TIMER_ACTIVE).state;
turn_on_action:
- truma_inetbox.timer.activate:
start: 7:00
stop: 9:30
# Required: Set room temp to a number between 5 and 30
room_temperature: 13
# Optional: Set heating mode: `"OFF"`, `ECO`, `HIGH`, `BOOST`
heating_mode: ECO
# Optional: Set water temp as number: `0`, `40`, `60`, `80`
water_temperature: 0
# Optional: Set energy mix to: `GAS`, `MIX`, `ELECTRICITY`
energy_mix: GAS
# Optional: Set electricity level to `0`, `900`, `1800`
watt: 0
turn_off_action:
# You can also use the simplified syntax.
- truma_inetbox.timer.disable
button:
- platform: template
name: "Energy mix GAS only"
on_press:
- truma_inetbox.heater.set_energy_mix:
# Set energy mix to: `GAS`, `MIX`, `ELECTRICITY`
energy_mix: GAS
- platform: template
name: "Energy mix MIX 1"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: MIX
# Set electricity level to `0`, `900`, `1800`
watt: 900
- platform: template
name: "Energy mix MIX 2"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: MIX
watt: 1800
- platform: template
name: "Energy mix ELECTRICITY only"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: ELECTRICITY
watt: 1800
- platform: template
name: "Set electric power level to 0 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 0
- platform: template
name: "Set electric power level to 900 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 900
- platform: template
name: "Set electric power level to 1800 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 1800
select:
- platform: truma_inetbox
name: "Fan Mode"
type: HEATER_FAN_MODE_COMBI
# Enable fallback hotspot (captive portal) in case wifi connection fails
# ap:
# ssid: "Truma-Esp32 Fallback Hotspot"
# password: "11557799"
web_server:
port: 80
local: true
version: 2
include_internal: true
# captive_portal:
Wenn der ESP32 nun geflasht ist, können wir an den Zusammenbau der Komponenten gehen.
Beispiel einer Truma Combi 6E Diesel von Manuel
In den kommentaren haben sich User mit der Diesel-Variante der Truma gemeldet. Leider konnte ich nicht dabei helfen die Diesel-Truma mit ESPHome zum Laufen zu bringen. Aber die User haben es selbst geschafft. Netterweise hat mir Manuel seine funktionierende YAML-Datei für die Combi 6DE zur Verfügung gestellt:
esphome:
name: truma
friendly_name: Truma Combi 6DE
external_components:
- source: github://Fabian-Schmidt/esphome-truma_inetbox
esp32:
board: esp32dev
framework:
type: arduino
logger:
level: INFO
api:
encryption:
key: "/RSTuebEZg2VJtD1yDmLUogTPGXWScEd3WUyIj9mjFY="
ota:
- platform: esphome
password: "e78bcf6a4c09d033bdd705d0040d6011"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Fallback Hotspot"
password: "Sw9g4XJtoyrn"
uart:
- id: lin_uart_bus
tx_pin: 17
rx_pin: 16
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 2
# No DS1307 RTC used (unlike Fabian Schmidt's version).
# Time is provided by Home Assistant.
time:
- platform: homeassistant
id: esptime
truma_inetbox:
uart_id: lin_uart_bus
time_id: esptime
climate:
- platform: truma_inetbox
name: "Room"
type: ROOM
- platform: truma_inetbox
name: "Water"
type: WATER
binary_sensor:
- platform: truma_inetbox
name: "CP Plus alive"
type: CP_PLUS_CONNECTED
- platform: truma_inetbox
name: "Room Heater active"
type: HEATER_ROOM
id: HEATER_ROOM
- platform: truma_inetbox
name: "Water Heater active"
type: HEATER_WATER
id: HEATER_WATER
- platform: truma_inetbox
name: "Heater mode Diesel"
type: HEATER_DIESEL
- platform: truma_inetbox
name: "Heater mode Mix 1"
type: HEATER_MIX_1
- platform: truma_inetbox
name: "Heater mode Mix 2"
type: HEATER_MIX_2
- platform: truma_inetbox
name: "Heater mode Elec"
type: HEATER_ELECTRICITY
- platform: truma_inetbox
name: "Heater has error"
type: HEATER_HAS_ERROR
- platform: truma_inetbox
name: "Timer active"
type: TIMER_ACTIVE
id: TIMER_ACTIVE
- platform: truma_inetbox
name: "Timer Room Heater active"
type: TIMER_ROOM
- platform: truma_inetbox
name: "Timer Water Heater active"
type: TIMER_WATER
number:
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Target Water Temperature"
type: TARGET_WATER_TEMPERATURE
- platform: truma_inetbox
name: "electric power level"
type: ELECTRIC_POWER_LEVEL
sensor:
- platform: truma_inetbox
name: "Current Room Temperature"
type: CURRENT_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Current Water Temperature"
type: CURRENT_WATER_TEMPERATURE
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Target Water Temperature"
type: TARGET_WATER_TEMPERATURE
- platform: truma_inetbox
name: "Heating mode"
type: HEATING_MODE
- platform: truma_inetbox
name: "electric power level"
type: ELECTRIC_POWER_LEVEL
- platform: truma_inetbox
name: "Energy mix"
type: ENERGY_MIX
- platform: truma_inetbox
name: "Operating status"
type: OPERATING_STATUS
- platform: truma_inetbox
name: "Heater error code"
type: HEATER_ERROR_CODE
select:
- platform: truma_inetbox
name: "Fan Mode"
type: HEATER_FAN_MODE_COMBI
# Combi 4DE / 6DE:
- platform: truma_inetbox
name: "Energy Mix"
type: HEATER_ENERGY_MIX_DIESEL
switch:
- platform: template
name: "Activate Room Heater"
lambda: |-
return id(HEATER_ROOM).state;
turn_on_action:
- truma_inetbox.heater.set_target_room_temperature:
# You can use lambda functions
temperature: !lambda |-
return 16;
# Optional set heating mode: `"OFF"`, `ECO`, `HIGH`, `BOOST`
heating_mode: ECO
turn_off_action:
- truma_inetbox.heater.set_target_room_temperature:
# Disable heater by setting temperature to `0`.
temperature: 0
- platform: template
name: "Activate Water Heater"
lambda: |-
return id(HEATER_WATER).state;
turn_on_action:
# Setting 80°C triggers Boost mode (Combi 6DE can't reach 80°C).
# Heater is disabled for 40 mins to focus all energy on water heating.
- truma_inetbox.heater.set_target_water_temperature:
# Set water temp as number: `0`, `40`, `60`, `80`
temperature: 40
turn_off_action:
- truma_inetbox.heater.set_target_water_temperature:
# Disable heater by setting temperature to `0`.
temperature: 0
- platform: template
name: "Activate Water Heater (enum)"
lambda: |-
return id(HEATER_WATER).state;
turn_on_action:
- truma_inetbox.heater.set_target_water_temperature_enum:
# Set water temp as text: `"OFF"`, `ECO`, `HIGH`, `BOOST`
temperature: ECO
turn_off_action:
# You can also use the simplified syntax.
- truma_inetbox.heater.set_target_water_temperature_enum: "OFF"
- platform: template
name: "Active Timer"
lambda: |-
return id(TIMER_ACTIVE).state;
turn_on_action:
- truma_inetbox.timer.activate:
start: 7:00
stop: 9:30
# Required: Set room temp to a number between 5 and 30
room_temperature: 13
# Optional: Set heating mode: `"OFF"`, `ECO`, `HIGH`, `BOOST`
heating_mode: ECO
# Optional: Set water temp as number: `0`, `40`, `60`, `80`
water_temperature: 0
# Optional: Set energy mix to: `DIESEL`, `MIX`, `ELECTRICITY`
energy_mix: DIESEL
# Optional: Set electricity level to `0`, `900`, `1800`
watt: 0
turn_off_action:
# You can also use the simplified syntax.
- truma_inetbox.timer.disable
button:
- platform: template
name: "Energy mix Diesel only"
on_press:
- truma_inetbox.heater.set_energy_mix:
# Set energy mix to: `DIESEL`, `MIX`, `ELECTRICITY`
energy_mix: DIESEL
- platform: template
name: "Energy mix MIX 1"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: MIX
# Set electricity level to `0`, `900`, `1800`
watt: 900W
- platform: template
name: "Energy mix MIX 2"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: MIX
watt: 1800
- platform: template
name: "Energy mix ELECTRICITY only"
on_press:
- truma_inetbox.heater.set_energy_mix:
energy_mix: ELECTRICITY
watt: 1800W
- platform: template
name: "Set electric power level to 0 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 0
- platform: template
name: "Set electric power level to 900 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 900
- platform: template
name: "Set electric power level to 1800 Watt"
on_press:
- truma_inetbox.heater.set_electric_power_level: 1800
web_server:
port: 80
local: true
version: 2
include_internal: true
Zusammenbau der Komponenten
Wir verbinden den ESP32 mit dem UART zu LIN Modul und dem 6-adrigen RJ12 Kabel. Wie, das könnt Ihr auf diesem Bild sehen.
iNetbox für wenig Geld im smarten Wohnmobil
Jetzt braucht Ihr noch einen 12 Volt Anschluss an den grünen UART zu LIN Chip. Ich habe ihn mir von der Heizung geholt, dann hat er immer Strom, wenn auch die Heizung Strom hat. Andere Stromanschlüsse können anders abgesichert sein und eventuell über einen Schalter vom Strom getrennt werden. Das könnte dann zu Ausfällen der Steuerung führen.
Einbau im Wohnmobil
Das Ende des 6-adrigen RJ12 Kabel stecken wir in den zweiten Anschluss an der Truma Heizung.
Anschluss des 6-adrigen RJ12 Kabel an der zweiten Buchse der Truma-Heizung
Anmelden der ESPHome Truma iNetbox an der Heizung
Wenn alle Kabel angeschlossen sind, dann fehlt jetzt nur noch der Anschluß des RJ12 Stecker an die Truma Heizung und danach die Initialisierung der Heizung, um die „iNet Box“ zu erkennen. Dazu habe ich drei kleine Videos gemacht. Im ersten Video sehen wir unter dem Schraubenschlüssel-Symbol -> Index, das nur zwei Geräte eingetragen sind. Die Heizung selbst und das CP Plus.
Truma Combi noch ohne angeschlossene iNet Box
Im nächsten Video seht Ihr wie ich die iNet Box durch einen Reset der Heizung in das System aufnehme. Dazu muss der ESP32 über USB sowie der UART zu LIN Adapter mit Strom versorgt sein und der RJ12 Stecker am zweiten Anschluss der Heizung stecken.
Ob Ihr erfolgreich gewesen seid, könnt Ihr feststellen, indem Ihr wieder den Punkt Index aufruft. Der sollte nun ein drittes Gerät anzeigen, das mit T beginnt.
Truma Heizung in Homeassistant steuern
Wenn alles geklappt hat, dann sollte unter ESPHome nach einem Neustart von Home Assistant unter: -> Settings -> devices & services -> ein neues device mit dem Namen Truma auftauchen.
Anlegen der Dashboard-Card
Damit das Ganze schön aussieht legen wir eine Dashboard-Card an. Meinen Yaml-Code dazu könnt Ihr Euch hier kopieren und an Euere Truma Heizung anpassen.
type: vertical-stack
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: thermostat
entity: climate.truma_room
name: Truma
features:
- type: climate-hvac-modes
- type: climate-fan-modes
style: dropdown
- type: thermostat
entity: climate.truma_water
features:
- type: climate-hvac-modes
title: "Truma Combi 6E "
- type: entities
entities:
- select.truma_fan_mode
title: Lüfter
- type: entities
entities:
- entity: sensor.truma_heizung_betriebsart
show_header_toggle: false
state_color: false
- type: vertical-stack
cards:
- type: horizontal-stack
cards: []
title: Aktuelle Temperaturen
- type: horizontal-stack
cards:
- type: entity
entity: sensor.truma_current_room_temperature
name: Raumtemperatur
icon: ""
state_color: false
- type: entity
entity: sensor.truma_current_water_temperature
name: Wassertemperatur
icon: mdi:thermometer-water
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: toggle
name: Gas
icon: mdi:gas-burner
entity: button.truma_energy_mix_gas_only
show_state: false
- show_name: true
show_icon: true
type: button
name: Mix 1kW
tap_action:
action: toggle
icon: mdi:home-lightning-bolt-outline
entity: button.truma_energy_mix_mix_1
- show_name: true
show_icon: true
type: button
name: Mix 2kW
tap_action:
action: toggle
entity: button.truma_energy_mix_mix_2
icon: mdi:home-lightning-bolt
- show_name: true
show_icon: true
type: button
name: El 1kW
tap_action:
action: toggle
icon: mdi:home-lightning-bolt
entity: button.truma_set_electric_power_level_to_900_watt
- show_name: true
show_icon: true
type: button
name: El 2kW
tap_action:
action: toggle
icon: mdi:home-lightning-bolt
title: Energie
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
show_state: true
type: glance
entities:
- entity: binary_sensor.truma_heater_has_error
name: Fehler
- entity: binary_sensor.truma_room_heater_active
- entity: binary_sensor.truma_water_heater_active
- entity: binary_sensor.truma_supply_electricity
name: Landstrom
- entity: sensor.truma_electric_power_level
name: Strombetrieb
- entity: binary_sensor.truma_heater_mode_gas
name: Gasbetrieb
columns: 3
title: Status
state_color: true
Auf dem Dashboard sieht das dann bei mir so aus:
Fazit und Ausblick auf weitere Lösungen mit der Truma iNet-Fernsteuerung
Mir ist aufgefallen, das mit der ESPHome-Lösung die Truma viel schneller steuert. Liegt sicher daran, das die MQTT-Befehle erst ausgelesen und dann per Code angewendet werden müssen. Zudem ist der Aufwand bei der Installation wesentlich geringer und man kann selbst noch nachträglich Sensoren anlegen und weitere Änderungen über ESPHome vornehmen. Das ging mit der iNetbox2MQTT-Lösung leider nicht.
Falls genügend Interesse besteht, werde ich in einem weiteren Blogpost meine Skripte und Automationen beschreiben und erklären. Damit kann man dann die Truma-Heizung mit der Apple Watch aus der Ferne steuern, oder die Truma-Heizung Fehlercodes und Änderungsbenachrichtigungen senden lassen.
Wenn Euch das interessiert, schreibt es mir gerne in die Kommentare. Hinter einem Bericht wie diesem steckt sehr viel Arbeit. Wenn es Euch einen Nutzen gebracht hat, freue ich mich immer über eine kleine Spende per Paypal, damit ich wenigstens die Kosten für den Betrieb der Internetseite aufbringen kann. Werbung und Popups hasse ich wie die Pest, auch wenn die ein paar Euro einbringen, deshalb wird diese Seite keinen solchen Müll verbreiten.
Ich denke das ist in Euerem Sinne!
Kaffespende
Ein guten Becher Kaffee für gute Recherche an den schleeh.de und smartwomo.de Blogger Hannes Schleeh
5,00 €

