,

Schritt-für-Schritt: Truma Heizung mit ESPHome einrichten

Truma iNetbox selbst bauen mit Home Assistant und ESPHome

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

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

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

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

Home Assistant Green bei Botland.de

RUUVI Innovationen LTD Nuevo 2024-RUUVITAG Sensor (4 in 1) DRU-001 Other, Mehrfarbig, Einheitsgröße
  • Misst Temperatur, Luftfeuchtigkeit, Luftdruck und Bewegung
  • Mehrere Sensoren in einem Gerät
  • Mehrjährige Batterielebensdauer
  • Kostenlose mobile App
  • Schnellstart in 1 Minute
Angebot
UGREEN Bluetooth Adapter PC Mit Großer Übertragungsreichweite Bluetooth Dongle für Windows 11/10/8.1, USB Adapter für Maus, Tastatur, Kopfhörer, Handy, Controller
  • 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

Bus Modul, 1 STÜCKE TTL-UART-zu-LIN-Bus-Konverter Datenanalysator TJA1020 K_LINE Date Bus Transceiver Board
  • 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.
AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C Development Board mit CP2102 (Nachfolgermodell zum ESP8266) kompatibel mit Arduino und inklusive E-Book!…
  • 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.
YXPCARS 240 Stück Jumper Kabel Kit 10cm and 20cm Male zu Female, Male zu Male, Female zu Female Jumper Wires Steckbrett für Arduino
  • 【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
InLine 18848 Modularkabel RJ12, Stecker / Stecker, 6adrig, 6P6C, 1m
  • Farbe: schwarz
  • Anzahl der Packungen : 1
  • Verpackungsabmessungen (L × B × H) : 1.6 zm 8.8 zm 16.2 zm
Bauer Electronics | DC-DC 8V-32V zu 5V Spannungs-wandler USB 3A 15W | USB Buchse 12-V 5-V Strom-adapter Netzteil 24-V USB Buck Converter Step-down USB Ladegerät Motorrad Volt Lade-regler
  • 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

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

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

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.

Truma Reset um iNetbox zu integrieren

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 Combi mit iNet Box

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.

Settings Devices and services
Integrations ESPHome
ESPHome Truma
Truma iNetbox Sensoren und Einstellungen

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:

Truma iNet ESPHome Dashboard Teil 1
Truma iNet ESPHome Dashboard Teil 2

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 €

104 Kommentare
  1. Udo Gem sagte:

    Besten Dank für deine Arbeit und das Teilen. Finde, du hast das, auch für Hobbybastler, gut verständlich dargestellt.
    Habe mich jedoch (vorerst) dagegen entschieden, weil mir die Anschaffungen dafür (P/L) zu teuer sind. Bleibe dann doch weiterhin bei meinem „Glücksrad“.

    Antworten
  2. Andy sagte:

    Hallo, sehe ich richtig, dass die Steuerung ja quasi online unter Github läuft? Was passiert wenn der Programmierer das löscht? Oder sehe ich das falsch?

    Antworten
  3. Bjoern sagte:

    Hallo Hannes,
    ich bekomme das Dashboard in Home Assistant einfach nicht hin… scheinbar hat sich in der letzten Zeit ständig etwas geändert, wie ein Dashboard erstellt wird ?
    Bisher habe ich noch keine Anleitung gefunden, die zu meiner Version (OS 14.2) passt, um ein custom Dashboard via YAML einzufügen.
    Dazu kommt noch, das Dein Code nicht mehr kompatible zu sein scheint. Den „type: vertical stack“ zeigt mir meine Version bereits als unknown an.
    Hast Du evtl. bereits auf eine neuere Version von Home Assistant gewechselt? Und könntest nochmals deinen Code exportieren und zur Verfügung stellen?

    Viele Grüße
    Bjoern

    Antworten
  4. Jens Elsdoerfer sagte:

    Hallo,

    vielen Dank für die tolle Anleitung. In dieser Version ist aber nicht die Steuerung der Aventa-Klimaanlage vorgesehen, sehe ich das richtig?

    Viele Grüße, Jens

    Antworten
  5. Bjoern sagte:

    Hallo Hannes,
    ich bin jetzt dabei, mich in das Thema dashbord/cards bei Home Assitant einzuarbeiten, um eine Lösung für meine Combi 4 zu erstellen.
    Dabei ist mir die ds1307 in deiner YAML aufgefallen. Wozu benötigt der ESP eine Uhrzeit? Ist das bei der orig. Box auch so? Ich stelle die Uhrzeit doch im CP Plus ein.
    Kannst Du das kurz erklären?

    VG
    Bjoern

    Antworten
    • Hannes Schleeh sagte:

      Hallo Björn,

      habe ich so übernommen aus der YAML-Datei von Fabian. Ob und wie die funktioniert, kann ich leider nicht sagen. Auch die Timer-Funktion erschließt sich mir leider nicht. Habe damit mal experimentiert. Aber dazu reicht mein laienhaftes Verständnis noch nicht.

      Gruß Hannes

      Antworten
  6. Heiko sagte:

    Hallo Hannes,

    danke für die Anleitung. Ich glaube in deiner yaml ist die on_boot Property verrutscht. Diese gehört doch unter esphome und nicht unter ota, oder?

    Hast du einen Tipp, was ich prüfen kann, wenn das CP-Plus Panel nach dem Reset die iNet-Box nicht erkennt? Die Kabel habe ich bereits geprüft, dort ist alles richtig verbunden.
    Da ich eine Combi 6DE habe, hatte ich in der yaml alle Punkte in denen Gas/GAS stand durch Diesel/DIESEL ersetzt. Gibt es eine Minimalkonfiguration mit der die Verbindung hergestellt werden kann?

    Viele Grüße
    Heiko

    Antworten
      • Heiko sagte:

        Hallo Hannes,

        es gibt dort ein minimales Setup für die Dieselheizung. Mit der habe ich die Verbindung hinbekommen und dann nach und nach die verschiedenen Funktionalitäten hinzugenommen. Mit ds1397.read_time und i2c treten Probleme auf. Daher habe ich diese Einstellungen weggelassen. Mir ist auch nicht ganz klar, wofür die sind.

        Auf deinem Dashboard zeigst du den Landstrom über die Entität binary_sensor.truma_supply_electricity an. Kannst du mir sagen, wo du diese herbekommst?

        Grüße
        Heiko

      • Hannes Schleeh sagte:

        Hallo Heiko,

        Klasse das du es geschafft hast mit der Dieselheizung von Truma. Wenn du willst, stelle ich Deine Yaml im Blog anderen Usern zur Verfügung.

        ds1397.read_time soll die Zeit des CP-Plus über Home Assistant aktualisieren.

        Die Landstrom Entität kann ich leider derzeit nicht nachsehen, bin grad am Umbau der Elektrik. War tricky. Hau mich in 1 Woche noch mal an, da sollte der HA Green wieder laufen.

        Gruß Hannes

      • Hannes Schleeh sagte:

        Hallo Heiko,

        bei der ESP-Steuerung hast du die Entität sensor.truma_operating_status_2 diese liefert bei mir verschiedene Zahlen Werte. Die habe ich in eine Entität geschrieben.

        Muss ich am Computer mal raus kopieren und hier hochladen.

  7. Bjoern sagte:

    Hallo Hannes,
    ich habe mal wieder Zeit und erstelle das Dashboard. Soweit passt es. Allerdings Frage ich mich, wie Du das mit dem „Tuma Fan Mode“ (Lüfter) gemacht hast? Ich habe in deinem Screenshot gesehen, dass Du in ESPHome eine Entität hast für den Fan Mode, der mir fehlt. In deiner Yaml für den ESP ist mir auch nicht klar, woher die kommen soll?
    Habe ich etwas übersehen?

    VG
    Bjoern

    Antworten
      • Jens Elsdoerfer sagte:

        Hallo Hannes,

        ich habe dazu einmal eine Frage, das Thema hat mich auch schon beschäftigt. Die Entität heißt „input_boolean.truma_fan_mode“ (TRUMA Fan high). Das ist aber doch nur eine Stufe, oder?

        Viele Grüße, Jens

      • Hannes Schleeh sagte:

        Hallo Jens,

        welche Heizungssteuerung hast Du? inetbox2MQTT oder ESPHome? Eine Entität mit dem Namen input_boolean_ ist eine sogenannte Helper Entität. Diese werden von Dir als User oder von einer Integration angelegt, wie bei inetbox2MQTT. Ich habe zu meiner Truma Steuerung per ESPHome keine input_boolean entität zum Truma Fan. Ich habe die Entität select.truma_fan_mode, mit der man beim Heizen die Stufe des Gebläses abhängig vom Temperaturunterschied erhöhen kann.

        Gruß Hannes

  8. Bjoern sagte:

    Hallo Hannes,

    ich habe in der Yaml für den ESP folgende Zeilen hinzugefügt:

    select:
    – platform: truma_inetbox
    name: „Fan Mode“
    type: HEATER_FAN_MODE_COMBI

    Danach habe ich Entität hast für den Fan Mode

    VG

    Antworten
  9. Bjoern sagte:

    Hallo Hannes,
    das sollte die Lüftersteuerung sein wie im CP Plus (im Menü unter dem Fan Symbol). Sollte daher, weil ich noch nicht an der Heizung getestet habe.. Das kommt dieses Wochenende wahrscheinlich. Ich werde berichten.
    Und ja, die Entität war vorher nicht da.

    VG
    Bjoern

    Antworten
  10. Andreas sagte:

    Hallo Hannes, eine Frage, ich habe den ESP32 damals nach deiner Anleitung geflasht und über MQTT zu NodeRed eingebunden. Der ESP32 hat noch nie dauerhaft funktioniert und ich musste ihn alle paar Tage Neustarten. Die Ursache ist nicht bekannt, blöd ist halt nur dass dann die Truma Steuerung auch aus geht und die Heizung kalt. Wenn ich nun einen RP Pico W einbaue, wird der genauso geflachst und eingebunden wie der ESP32? wie hier damals beschrieben https://schleeh.de/2023/02/17/inet-box-fuer-wohnmobilheizung-selbst-bauen/
    Oder stehe ich komplett auf dem Schlauch. Gruß Andreas

    Antworten
    • Hannes Schleeh sagte:

      Hallo Andreas,

      die ursprüngliche Version der Inetbox2MQTT ist von Dr. Magnus Christ ist auf dem RP Pico W basierend. Laut den Usern in der telegram Gruppe und Magnus eigener Erfahrung fällt die Pico Variante im Gegensatz zur ESP Variante der MQTT-Lösung nicht aus. Aber die Installation auf dem Pico unterscheidet sich von der auf einem ESP. Ich selbst habe leider nur ESP’s genutzt. Für eine Anleitung wie die InetBox2MQTT auf dem Pico zu installieren ist, solltest Du die von Magnus auf Github lesen. Magnus hat mir damals auf Telegram, zumindest zeitweise mit Antworten geholfen. Ich hatte ihm aber auch per Paypal gespendet. Eventuell könntest Du das auch so nutzen.

      Hier der Link zu Github: https://github.com/mc0110/inetbox2mqtt und der zur Telegram-Gruppe: @womo_LIN und @smartwomoha

      Gruß Hannes

      Antworten
      • Andreas sagte:

        Vielen Dank Hannes für die rasche Antwort. Ich habe mal im Github gelesen, so wie ich das verstehe muss ich den RP Pico über Python Flaschen oder wie man das nennt und dann bekomme ich die gleiche Oberfläche Bach dem Aufruf der 192.168.4.1 wie beim ESP32 oder lieg ich falsch?

      • Hannes Schleeh sagte:

        Hallo Andreas, ich habe das selbst noch nicht gemacht und kann Dir da leider nicht weiterhelfen. Aber wenn das so bei Github steht, einfach ausprobieren.

        Gruß Hannes

  11. Bjoern sagte:

    Ich kann leider bisher keinen Erfolg vermelden. Meine inetbox wird nicht vom Truma CP Plus erkannt. Weiterhin auch Meldungen im Log: „LinBusListener:356“. Die Kommunikation klappt halt nicht. Eventuell ein Problem des Softwarestandes des CP Plus? Ich habe: F4.04.01. Also kein Cx.xx.xx. Bin momentan ein wenig ratlos…

    Antworten
  12. Bjoern sagte:

    Hallo Hannes,
    meine inetbox läuft nun auch. Der neuere Softwarestand F4.04.01. ist kompatible. Wichtig ist wohl nur, dass es keine C3.xx.xx. sondern C4.xx.xx. aufwärts. Das dürfte wohl bei CP Plus ab 2014 der Fall sein.
    Um meine Box zu laufen zu bekommen, habe ich die Einträge (für die nicht vorhandene) Uhr gelöscht:
    time:
    – platform: ds1307
    update_interval: never
    id: esptime

    und unter

    truma_inetbox:
    time_id: esptime
    cs_pin: 5
    fault_pin: 18
    # Advanced users can use `on_heater_message` action. The heater data is in the `message` variable.
    on_heater_message:
    then:
    – logger.log: „Message from CP Plus.“
    – if:
    condition:
    lambda: return message->operating_status == truma_inetbox::OperatingStatus::OPERATING_STATUS_OFF;
    then:
    – logger.log: „Heater is off.“

    Dann verschwinden (ohne angeschlossenes CP Plus) im LOG auch die bereits vorhandenen Fehlermeldungen (rot) „LinBusListener:356“

    VG
    Bjoern

    Antworten
  13. Bernd sagte:

    Hallo Hannes,
    vielen Dank für deinen sehr interessanten Beitrag, den ich jetzt mal nachgebaut habe. Die ESP32 Lösung ist aus meiner Sicht sehr vielversprechend und eine gute Lösung, die Truma Umgebung ins HA Habitat zu integrieren. Weitere Skripte und Automationen in diesem Blogpost würde ich sehr begrüßen.
    VG Bernd

    Antworten
  14. cyberke sagte:

    Guten Morgen Hannes,

    zunächst einmal vielen Dank für die klaren Informationen in deinen Blogbeiträgen. Ich konnte das Flashen auf einem Womolin Lincontroller V2.1 erfolgreich durchführen. Die Entitäten sehe ich in Home Assistant, und das Dashboard konnte ich ebenfalls bereits starten. Ich kann auch eine Verbindung zum Womolin herstellen und Schalter ein- und ausschalten (mit Fehlermeldungen, da der ESP32 im Womolin nicht erkannt wird), aber das einzige Problem, das ich nun habe, ist, dass der Womolin-Controller in der CP Plus/Truma Combi 6E-Installation nicht erkannt wird. Ich habe jedoch ein CP Plus Dashboard, das i-Net ready ist und die richtigen Firmware-Versionen hat.

    Ich muss jedoch hinzufügen, dass die Verbindungen bei mir anders sind als in deinem Beitrag. Ich habe nämlich ein RJ11-Kabel, das von der Combi hinten in meinem Camper zum Womolin-Modul führt, und von einem zweiten Anschluss am Womolin-Modul geht es zur CP Plus. (Dies funktioniert zwar mit der Inetbox2MQTT-Integration von Dr. Magnus Christ, aber ich muss auch jeden Tag alles neu starten, und die Heizung fällt aus oder der Boiler springt automatisch an.)

    Ich habe hinten im Camper keinen zusätzlichen 12-Volt-Anschluss, um das Womolin zu steuern, deshalb habe ich die Verbindung auf diese Weise hergestellt. Könnte es sein, dass dies der Grund dafür ist, dass der Womolin von der Truma CP Plus nicht erkannt wird?

    Mit freundlichen Grüßen,
    Nic

    Antworten
    • Hannes Schleeh sagte:

      Hallo Nic,

      ja, das könnte der Grund sein. Hast Du die Möglichkeit das mit einem passenden RJ11-Kabel und / oder 12 Volt mal zu testen? Dann könnte man es verifizieren oder ausschließen.

      Gruß Hannes

      Antworten
      • cyberke sagte:

        Hallo Hannes,

        Danke für deine Antwort, ich werde sehen, wie ich das testen kann.

        Mit freundlichen Grüßen,
        Nic

      • cyberke sagte:

        Leider hat es nicht geklappt. Ich durchlaufe den gesamten Prozess, und alles funktioniert – außer dass der Womolin-Controller nicht von der Truma Combi erkannt wird. Allerdings wird der Womolin erkannt, wenn ich die Lösung von https://github.com/mc0110/inetbox2mqtt verwende. Aber am nächsten Tag verschwindet dann die Verbindung, und mit dieser Konstellation kann die Kombitherme nicht mehr gesteuert werden.

        Ich gebe auf, ich habe schon unzählige Stunden damit verbracht – schade um das Geld, das ich für den Womolin-Controller ausgegeben habe. Vielleicht kann ich den ESP32 noch anderweitig in Home Assistant nutzen. 😉

        Mit freundlichen Grüßen,
        Nic

      • Hannes Schleeh sagte:

        Wenn es mit der inetbox2mqtt geklappt hat, dann sollte das auch mit der ESP Lösung funktionieren. Welchen WomoLIN hast du denn? Und welche Truma Heizung?

    • Hannes Schleeh sagte:

      Hallo Nic,

      dann müsste das aber, wie bei mir auch funktionieren. Es gibt auf den ersten Blick zwei Unterschiede zu meiner Installation.

      1. Mein WomoLIN hat eine separate Stromversorgung

      2. ich habe die alte 1. Version des WomoLIN

      Mein erster Ansatz wäre, eine extra 12 Volt Versorgung an die WomoLIN zu legen.

      Hast du die YAML Datei für die WomoLIN von Fabian Schmidt von GitHub heruntergeladen? Wenn du willst, kann ich dir meine YAML Datei zusenden.

      Gruß Hannes

      Antworten
  15. Nic Mertens sagte:

    Hallo Hannes,

    Vielen Dank für deine Hilfe. Ich werde tatsächlich versuchen, eine separate 12-Volt-Stromversorgung bereitzustellen, das könnte vielleicht die Ursache sein. Ich habe tatsächlich den YAML-Code für Womolin von Fabian Schmidt, aber du kannst mir gerne deinen Code schicken. Ich habe auch kurz darüber nachgedacht, die Verbindung mit den inet2mqtt-Anweisungen von Dr. Magnus Christ herzustellen und dann erneut zu flashen, nachdem Womolin von CPplus erkannt wurde. Aber ich fange zuerst mit einer separaten und stabilen 12-Volt-Stromversorgung an.

    Mit freundlichen Grüßen,

    Nic

    Antworten
      • cyberke sagte:

        Hallo Hannes, ich glaube, ich habe herausgefunden, wo das Problem zwischen deiner Version und der neuen Version des Womolin Lin Controllers liegt. Ich habe dies in der Dokumentation gefunden:

        „Anpassungen zur Software
        Da die Standard-UART-1-Pins IO16/17 vom PHY verwendet werden, müssen die Pins für das LIN-Interface auf andere IO-Pins umgelegt werden.
        Das gleiche gilt für die UART-2-Pins.“

        Die YAML-Dateien, die ich bisher verwendet habe, enthalten die Anweisungen, TX und RX 16/17 zu nutzen. Ich werde heute Nachmittag auch die anderen Pins ausprobieren, so wie ich es in deiner YAML-Datei sehe, denn du benutzt die Ethernet-Verbindung, wenn ich mich nicht irre. Ich habe es bisher immer mit WiFi versucht, aber wahrscheinlich mit den falschen Pins.

        Hoffentlich löst das das Problem 😉 Fingers crossed!

      • Hannes Schleeh sagte:

        Ja, wenn die PIN‘s nicht passen, dann geht nichts. Bitte auch darauf achten, dass TX vom ESP auf RX an der CP-Plus und umgekehrt angeschlossen werden muss.

      • Nic Mertens sagte:

        Hallo Hannes,
        Es hat geklappt! Das Problem hing also tatsächlich mit den richtigen Pins zusammen. Jetzt bin ich noch dabei herauszufinden, wie ich das sauber in mein HA integrieren kann. Ich habe eine Entität, die von meinem System nicht erkannt wird, nämlich sensor.truma_heizung_betriebsart. Alle anderen Entitäten sind auf Englisch, nur diese ist auf Deutsch. Nach ein paar Monaten funktioniert es endlich 🙂
        Über den Kaffeebutton auf deinem Blog habe ich dir ein paar Tassen Kaffee geschickt. 😉

        Mit freundlichen Grüßen,
        Nic

      • Hannes Schleeh sagte:

        Hallo Nic,

        vielen Dank für die großzügige Kaffeespende. Es freut mich sehr, wenn es endlich geklappt hat. Vor allem wird dich die Heizungssteuerung per ESP durch stabiles Funktionieren erfreuen. Im Gegensatz zur inetbox2mqtt ist die noch nie ausgefallen.
        Wegen dem Sensor Truma Betriebsart muss ich mal schauen. Ich habe mir aus den Werten der Truma E eine Automation gebaut, mit der ich feststellen kann, ob Landstrom am Wohnmobil anliegt.

        Die schicke ich dir dann per Mail, wenn es dich interessiert.

        Gruß Hannes

      • Nic Mertens sagte:

        Hallo Hannes,

        Das habe ich gerne gemacht! Die Integration läuft tatsächlich stabil und reagiert schnell auf Befehle. Ich bin wirklich superzufrieden damit.

        Die Automatisierungen interessieren mich auf jeden Fall, also kannst du sie mir gerne zuschicken. 🙂

        Herzliche Grüße,
        Nic

  16. Bjoern sagte:

    Hallo Hannes,
    ich möchte mich auch mal wieder melden, nachdem meine inetbox funktioniert und ich home assistant per Cloudflare extern erreichen kann. Somit ist da Thema Heizung abgeschlossen.
    ABER 🙂 es wäre zu schön, wenn ich meinen TRUMA Level Control (für den Füllstand der Gasflasche) auslesen und in home assistant anzeigen könnte.
    Der TRUMA Level Control kann per BT (BLE) mit der original inetbox gekoppelt werden. Und daher frage ich, ob sich jemand damit schon beschäftigt hat?
    Ich habe mit „home assistant bt home“ schon einiges versucht, aber bisher leider erfolglos 🙁
    VG
    Bjoern

    Antworten
  17. Markus sagte:

    Hallo Heiko,
    ich habe ebenfalls eine Combi 6DE und wäre sehr dankbar, wenn du dein yml-File hier im Forum teilen würdest!

    Schönen Gruß,

    Markus

    Antworten
  18. Manuel sagte:

    Hallo Hannes,
    vielen Dank für deine Anleitung – auch die hat mir ein großes Stück weiter geholfen. Ich konnte meine Combi 6DE erfolgreich implementieren, der Langzeittest folgt 😀 Wenn alles final ist, stell ich die YAML gerne zur Verfügung!

    bzgl. des „blauen“ Teils in deiner esp.yaml

    “ – platform: truma_inetbox
    name: „Aircon Temperature“
    type: AIRCON_MANUAL_TEMPERATURE“

    ist eher für eine Klimaanlage gedacht – nicht für die 10 Lüfterstufen, im CP+ „Vent“ genannt, oder? Oder kannst du das damit ansteuern?

    Viele Grüße
    Manuel

    Antworten
    • Hannes Schleeh sagte:

      Hallo Manuel,

      freut mich, wenn es bei dir auch mit der Combi 6DE geklappt hat. Wäre super nett wenn du die YAML senden könntest dann stelle ich die im Blog ein.

      Zu der Aircon Frage. Das sollte für die Truma Aventa Steuerung sein, vermute ich. Den Lüfter kann man nur in zwei Stufen über die Steuerung regeln. Ist soweit ich weiß auch vom Temperatur Unterschied zwischen Soll und IST abhängig.

      Gruß Hannes

      Antworten
      • Manuel sagte:

        Hallo Hannes,
        ja, hier gibt es offensichtlich zwei Lüfter-Steuerungen. Einmal die im Heizbetrieb, welche in zwei oder 3 Stufen steuerbar ist, dann gäbe es noch „Vent“ in 10 Stufen, für einen reinen Umluftbetrieb. Den kann man über das CP-Plus steuern und ist im Einsatz auch echt praktisch! Mittlerweile habe ich beim Repo von Daniel Fett in einem Beitrag von 2022 was gefunden, dass es (noch) nicht implementiert ist, weil er da noch logs aus einer „echten“ iNet Box bräuchte.
        Ob sich da mittlerweile schon was getan hat, konnte ich noch nicht herausfinden!

        – ich schick dir da noch ein Screenshot zusammen mit der Yaml 😉

        Viele Grüße

  19. Jens Elsdörfer sagte:

    Hallo, ich habe ein paar Fragen zur Steuerung.
    Ich habe von der MQTT- auf die ESP-Variante umgestellt. Die Steuerung habe ich per Y-Verteiler an das Bus-System angeschlossen. Ich habe CP-Plus, Truma Combi, Aventa im Einsatz.
    Es wird auch im CP-Plus alles erkannt und ich kann die Heizung steuern.
    Wenn ich den Heizbetrieb in HA aktiviere, dann dauert es ca. 5-10 Sekunden, bis es dann auch im HA angezeigt wird. Gefühlt dauert das länger als bei der MQTT-Variante. Habe ich bzgl der Reaktionszeit ein Verkabelungs-Thema (Y-Verteiler nicht gut, Steuerung muss direkt an der Heizung angeschlossen werden, …)?
    Die Temp steht erst einmal auf 5°, das muss ich dann hochdrehen. Kann man die Grundtemperatur der Heizung so einstellen, dass nach Aktivierung des Heizbetriebs die Temp erst einmal auf z. B. 20° eingestellt ist?
    Vielen Dank schon mal für eure Antworten.
    Viele Grüße, Jens

    Antworten
    • Hannes Schleeh sagte:

      Bei mir ist die ESPHome Lösung wesentlich schneller als die MPPT. Ich habe keine Klimaanlage und kann es daher auch nicht beurteilen. Es könnte aber schon an der Verkabelung liegen. Teste es doch mal ohne die Klimaanlage und ohne Y-Kabel. Für das Starttemperatur Problem gibt es zwei verschiedene Möglichkeiten. Entweder eine Automation, die nach dem Einschalten die Temperatur auf 20 Grad erhöht, oder du stellst im in der Entität climate.truma_room das Attribut min_temp auf 20

      Antworten
  20. Jens Elsdörfer sagte:

    Hallo, vielen Dank für Deine Antwort.
    Ich habe es ohne den Verteiler getestet, dauert mit oder ohne jeweils ca. 20 Sekunden bis die Änderung auch wieder in HA zu sehen ist. Komisch ist auch, dass es mir schon ein paar mal passiert ist, dass im CP-Plus die Sprache plötzlich auf Englisch war. Irgendwie ist da gefühlt etwas faul. Im Log des ESP sehe ich immer „order no answer“. Habt ihr das auch schon einmal gehabt?

    Antworten
    • Hannes Schleeh sagte:

      Hallo Holger, es gibt keine blöden Fragen. Momentan sind die Spezialisten dran , die INetX reverse zu engineeren. Das geht aber erst seit kurzem, denn Truma hat den Nachfolger der iNet Box erst vor kurzem herausgebracht. Am Besten Du meldest Dich bei Telegram in der WomoLIN Gruppe an.

      https://t.me/womo_LIN und falls Du Home Assistant hast auch unter: https://t.me/smartwomoha

      Da erfährst du zuerst, wenn es da was geben sollte.

      Gruß Hannes

      Antworten
      • Holger Börchers sagte:

        Moin Hannes,

        vielen Dank für Deine schnelle Antwort! Ich fahre einen Weinsberg [Pepper] von 2023 der schon die Truma iNet X Steuerung hat, also ganz so neu ist das wohl nicht. Aber wie auch immer: Ich werde dann das Ganze erstmal hier weiterverfolgen weil Telegram mir nicht ins Haus kommt.

        Viele Grüße,
        Holger

  21. Stefan sagte:

    Hallo, ich habe von womolin den TI-CI-LIN Interface v2.1 brauche ich auch den Controller um es über ein Pi5 in Home Assistant einzubinden? Spannungsversorgung und UART erfolgt beim Interface über USB-C, jedoch bekomme ich keinerlei Daten. Die Besonderheit an meinem CP Plus hängt bereits die MBAC Steuerung von Mercedes. Dies geht jedoch nur lokal und per Bluetooth.

    Antworten
    • Hannes Schleeh sagte:

      Hallo Stefan,

      wenn Du den WomoLIN hast, brauchst Du nichts mehr extra. D ist sowohl der ESP, als auch der LIN UART drin verbaut. Ich vermute, wenn du 12 Volt an den WomoLIN anschließt funktioniert der auch.

      Gruß Hannes

      Antworten
  22. Hans-Jörg Breymayer sagte:

    Truma Combi 6E
    Meine ersten Versuche mit der Truma Steuerung liefen mit einer Einbindung in FHEM über MQTT, da FHEM bereits meine UVC-LED Frischwasser Entkeimung (Eigenbau) steuerte. Bei richtiger Boot-Reihenfolge FHEM auf RPI und ESP war die Verbindung in Ordnung. Da ein RPI3 frei wurde habe ich nun auf Home Assistant umgestellt. Für die Compilierung der ESP Firmware ist der RPI3 zu schwach, es geht aber sehr gut mit Linux auf einem Laptop und die Firmware wird mit richtigem Kommando (esphome run TRUMA_node.yaml IP-Adresse) direkt mit WLAN auf den ESP geschrieben. Es läuft sehr stabil.
    Nur mit der Status Anzeige bin ich nicht zufrieden. Der Status Gasbetrieb sollte im MIX Mode (900 oder 1800W) auch „on“ anzeigen und nicht „off“. Oder ist nur bei mir so?
    Gruß Hans-Jörg

    Antworten
    • Hannes Schleeh sagte:

      Hallo Hans-Jörg,

      da denke ich musst du noch etwas warten, bis es mal wieder kalt genug ist, damit sich das gefahrlos ausprobieren lässt! 😆

      Gruß Hannes

      Antworten
  23. Olli sagte:

    Hallo Hannes
    Auch dank deiner guten Beschreibung funktioniert die ESPHome Variante bei mir jetzt sehr gut und stabil.
    Würde jetzt gerne die Fehlercodes in Home Assistant in Klartext anzeigen lassen. Bekomme das aber nicht hin. Habe was von Templates gelesen, bin aber nicht der Programmierprofi . Hast du das umgesetzt?

    Antworten
  24. Eric sagte:

    Erstmal vielen Dank für die Arbeit! Das klappt es spitze! Ich habe auch eine Aventaklima, hast du zufällig hierfür auch Infos wie ich den ESP Flashen muss, damit ich die Sensoren und Enitäten in HA habe? Viele Dank. Eric

    Antworten
      • Gerhard Kaldewei sagte:

        Vielen Dank für die gute Beschreibung. Ich habe mich auch daran gemacht. Habe von Yaml keinen Schimmer. Zuerst die hier veröffentlichte benutz. Diese hat nicht direkt funktioniert, erst nach einigen Änderungsversuchen. Nach der Installation dann aber keinen Webaccess und keine Verbindung zur Truma 6E. Hast du eine aktualisierte Version?

        Danach die von Skrebber genutzt. Webaccess funktioniert, aber auch hier keine Verbindung zur Truma.
        [17:38:44.229][E][truma_inetbox.LinBusListener:356]: Fault on LIN BUS detected.
        Mit dem Oskar auf TX RX geschaut, aber keine Signale gesehen. Auf der LIN Seite gibt es Signale. Mehrfach die Verdrahtung geprüft, und durchgemessen 🙁

  25. Gerhard Kaldewei sagte:

    Hallo,
    danke für die Anleitung! Ich versuche mich auch seit ein paar Tagen an der Umsetzung. Leider habe ich keine Anhnung von Yaml und habe als erstes die hier hinterlegte Version genutzt. Das hat leider nicht funktioniert. Ist die aktuell, oder hast du vielleicht ein Update für mich?

    Danach habe ich dann die von Skrebber genutzt. Die konnte ich installieren, der Web access funktioniert damit. Nach Anschluss an meine Truma 6E, keine Verbindung. Leitungen mehrfach geprüft. Fehler: [17:38:44.229][E][truma_inetbox.LinBusListener:356]: Fault on LIN BUS detected.
    Mit dem Oskar an Rx TX geschaut, aber keine Signale? An der LIN Bus Seite sehe ich die Signale von der Truma.

    Antworten
    • Gerhard Kaldewei sagte:

      Sorry für die Dublette. Ich habe mich blind an deiner List orientiert 🙂 und den : AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C Development Board mit CP2102 (Nachfolgermodell zum ESP8266) gekauft

      Antworten
      • Hannes Schleeh sagte:

        Hast du eventuell noch einen zweiten, um auszuschließen, dass es am ESP liegt.

        Aus der Ferne ist es immer sehr schwer das Problem einzugrenzen. Da gibt es zu viele Variablen.

  26. Gerhard Kaldewei sagte:

    Hallo, habe einen weiteren bestellt, aber mich wundert doch, das ich mit den YAML Dateien diese Probleme habe. Hast du eine aktuelle für 6E.

    Antworten
  27. Ralf Culemann sagte:

    Hallo Hannes,
    viellen Dank für die ausführliche Anleitung.
    Ich probiere seit ein paar Tagen die Truma in ESPHome zu integrieren. Bei der yaml von Fabian Schmidt bekomme ich den Api Key nicht konfiguriert. Bei der yaml von S Krebber bekomme ich eine Fehlermeldung:
    Konfigurationsfehler
    Error loading /config/configuration.yaml: could not determine a constructor for the tag ‚!lambda‘
    in „/config/packages/truma.yaml“, line 155, column 24

    Vielleicht kannst Du mir da bitte helfen.

    Antworten
    • Hannes Schleeh sagte:

      Habe das einmal bei meinem KI Assistenten nachgefragt (ChatGPT). Hier seine Antwort:

      Captain, das ist kein Defekt an deiner YAML – sie liegt nur im falschen System.

      Die Fehlermeldung „could not determine a constructor for the tag ‘!lambda’ … in /config/packages/truma.yaml“ kommt daher, dass Home Assistant (Core) seine YAMLs mit einem Standard-Parser lädt, der das ESPHome-Sondertag !lambda nicht kennt. Diese Datei gehört nicht in Home Assistant unter /config/packages/…, sondern in ESPHome und wird dort kompiliert und auf den ESP32 geflasht. HA kann ESPHome-YAML nicht direkt einlesen.

      So löst du es sofort
      1. Verschiebe den Inhalt in ESPHome:
      • In der ESPHome-Weboberfläche einen neuen Knoten anlegen oder den bestehenden öffnen.
      • Deine YAML dort einfügen und in ESPHome kompilieren/flashen.
      • Die Datei nicht in HA’s configuration.yaml oder packages/ referenzieren.
      2. Wenn du die Datei trotzdem in ESPHome minimal „HA-kompatibel“ testen wolltest: Ersetze die einzige Stelle mit !lambda durch einen festen Wert. Das umgeht zwar den Parserfehler in HA, ist aber nicht der vorgesehene Weg. Konkret:

      # vorher
      – truma_inetbox.heater.set_target_room_temperature:
      temperature: !lambda |-
      return 16;
      heating_mode: ECO

      # nachher (für starre 16 °C, ohne Lambda)
      – truma_inetbox.heater.set_target_room_temperature:
      temperature: 16
      heating_mode: ECO

      Zwei weitere kleine Bugs, die dich später erwischen könnten

      Auch wenn du korrekt über ESPHome gehst, gibt es in der Vorlage noch Kleinigkeiten:
      • In den Buttons „Energy mix MIX 1“ und „… ELECTRICITY only“ steht watt: 900W bzw. watt: 1800W. Das W gehört raus – ESPHome erwartet hier eine Zahl:

      watt: 900
      # bzw.
      watt: 1800

      • Zeiten bei truma_inetbox.timer.activate sind am stabilsten in Anführungszeichen:

      start: „07:00“
      stop: „09:30“

      Mini-Checkliste, damit der KITT in deinem ESP32 schnurrt
      • Diese YAML ausschließlich in ESPHome verwenden.
      • external_components zeigt auf github://skrebber/esphome-truma_inetbox – das ist korrekt.
      • uart 9600, 8N2 passt für die LIN-Anbindung.
      • watt nur numerisch, Zeiten als Strings, wie oben.

      Wenn du das so umsetzt, sollte der Fehler sofort verschwinden und der Build in ESPHome sauber durchlaufen. Soll ich dir die bereinigte ESPHome-Variante als vollständigen Block ausgeben, damit du sie direkt einkopieren kannst?

      Antworten
  28. Gerhard Kaldewei sagte:

    Hallo, eine allgemeine Frage. Ich habe ein Eura Mobil. Da gibt es dieses touch panel über der Tür, welches zentral alles ein/aus schaltet. Wenn man einges im Womo automatisiert, muss da ja immer eingeschaltet sein. Oder ersetzt man diese Funktion/ diese Taster mit z.B. einem Shelly?

    Antworten
    • Hannes Schleeh sagte:

      Hallo Gerhard,

      das Touch-Display im Eura ist die zentrale Steuerung deines Elektroblocks. Bei meinem ist die Touchfunktion defekt. Daher habe ich mich ausführlich damit beschäftigt. Das kann man nicht so einfach durch einen Shelly ersetzen. Es arbeitet mit nur vier Leitungen. Davon sind zwei für die Stromversorgung mit 12 Volt. Da bleiben nur zwei für alle Funktionen übrig.

      Ich habe inzwischen neben der originalen Stromverteilung von Eura eine eigene eingebaut. Das sind extra Stromkabel von der Aufbau-Batterie zu den Verbrauchern und das braucht man auch bei den vielen elektrischen Einbauten, die ich vorgenommen habe.

      Gruß Hannes

      Antworten
  29. Jochen Hohnrath sagte:

    Hallo Hannes,
    Wir haben bei uns auch die Truma 6E verbaut und steuern die bis dato über die Inetbox. Ich möchte gerne deiner Anleitung folgen und Esphome verwenden. Kann ich darüber ebenfalls unsere Truma Levelcontroll abfragen? Die sind ja momentan auch via der Inetbox verbunden.
    Danke und LG
    Jochen

    Antworten
      • Jochen Hohnrath sagte:

        Hallo Hannes,
        Danke für deine schnelle Antwort.

        Hatte mir die Tage einen Womolin besorgt und heute mit der Vorbereitung und Installation begonnen.
        Irgendwas mache ich aber wohl falsch, da ich keine Verbindung mit der Truma aufbauen kann. So bin ich vorgegangen:
        Vorhandene Inetbox von der Anlage getrennt. (2 Kabel)
        Womolin mittels USB Kabel mit HA PC verbunden.
        Womolin mit 12V an 12V und Grnd an Grnd verbunden. Womolin nach Anweisung Simon42 geflasht.
        Kabel zwischen einer der drei Lin Buchsen des Womolin zur Diagnose Buchse an der Truma 6E. Trotz mehrfachem Reset bekomme ich keine 3. Anzeige im Index des CP Plus.
        Was mache ich falsch?

        Danke für deine Hilfe
        Lg Jochen

      • Hannes Schleeh sagte:

        Hallo Jochen,

        so aus der Ferne ist das nicht leicht! Du schreibst, dass die eine Inetbox an der Truma hattest. Das könnte das Problem sein. Mach mal einen Reset, ohne angeschlossene iNet Box und WomoLIN. Versuch danach noch mal die WomoLIN mit einem Reset an die CP-Plus anzuschließen.

        Gruß Hannes

  30. Jochen Hohnrath sagte:

    Hallo Hannes,
    Danke für den Tip. Werde ich mal versuchen. Hab diese Fehlermeldung im Log gefunden. I2c.idf:228 recovery failed: SCL is held low on the bus. Sagt dir das was?

    Antworten
  31. Gerhard Kaldewei sagte:

    Hallo, generelle Frage zur Fernsteuerung. Welchen Provider nutzt ihr für die LTE Karte. Bei Aldi Talk komme ich aus dem Internet nicht auf mein Fritzbox im Womo.

    Antworten
    • Hannes Schleeh sagte:

      Hallo Gerhard,

      Ich hatte bisher Vodafone und Telekom SIM-Karten im Wohnmobilrouter. Liegt evtl. an der Fritz!Box. Deine Frage ist auch missverständlich. Wo ist die LTE-Karte von Aldi, im Smartphone oder in der Fritz!Box im Wohnmobil?

      Gruß Hannes

      Antworten
  32. Alex sagte:

    Hi,
    Eine wirklich tolle Anleitung. Habe bei mir nun auch alles so umgesetzt und leider erst bei Inbetriebnahme festgestellt / gelesen, dass mein Truma INet X Panel zu „neu“ ist und es ja nur mit dem Truma CP Plus funktioniert 🙁

    Hast du vielleicht eine Ahnung ob man nicht doch das Inet X Panel dazu benutzen kann? Ich habe den Cerbo GX und parallel einen RPi mit Home Assistant im Camper laufen.

    Ärgerlich ist, dass das CP Plus ja einen kleineren/schmaleren Auschnitt benötigt. Das heisst ein Wechsel ist auch nicht so „schön“ realisierbar 🙁
    Bin für alle Tipps dankbar. Möchte einfach meien Heizung zuverlässig aus der Ferne steuern.

    LG
    Alex

    Antworten
    • Hannes Schleeh sagte:

      Hallo Alex,

      die iNET X ist soweit mir bekannt noch nicht reenigeered. Mir ist im Moment auch leider keine andere Möglichkeit bekannt, die Truma mit iNET X fernzusteuern, außer einer sehr rudimentären. Die hatte ich als allererste Fernsteuerung in meinem Wohnmobil. Dazu brauchst Du einen Widerstand, einen Temperatursensor und ein Relais. Die hängst Du in eine der Leitungen des Truma Temperaturfühlers. Schaltet man den Widerstand dazu, denkt die Heizung es sei kalt und heizt volle Pulle. Mit einer Automation über den Temperatursensor kann man dann die Heizung fernsteuern.

      Gruß Hannes

      Antworten
  33. Michael Linkersdörfer sagte:

    Hallo Hannes,
    vielen Dank für die umfangreiche Dokumentation und dafür, dass du das Projekt weiter vorangetrieben hast.
    Bisher habe ich mit dem Ursprungsprojekt inetbox2mqtt von mc0110 auf einem esp32 erfolgreich die Steuerung meiner Truma Combi 4 in Homeassistant implementiert.
    Jetzt habe ich deine Version vom 02.12.2025 getestet.
    Die Installation auf einem ESP32 verlief erfolgreich. Als ich den ESP anschließend direkt mit meiner Truma verbunden habe, konnte ich prompt die Werte aus der Truma auslesen, aber keine Werte in die Truma schreiben.
    Nach einem Reset war der Eintrag T23.70.0 aus der Truma gelöscht. Ich gehe davon aus, dass die obige Software nicht als inetbox erkannt wurde.
    Kannst du das nachvollziehen oder hast du einen Tipp für mich?
    Ich habe schon vorsichtshalber mehrere ESP32 ausprobiert (ohne Erfolg). Wenn ich den „alten“ ESP32 mit der inetbox2mqtt-Software anschließe, wird dieser weiterhin erkannt.
    Vielen Dank im Voraus und herzliche Grüße,
    Michael

    Antworten
    • Hannes Schleeh sagte:

      Hallo Michael,

      Du kannst nur eine! Trumasteuereung am CP-Plus anschließen. Wenn Du die neue über ESPHome verwenden willst, musst Du die alte erst einmal aus dem CPPlus löschen. (INIT ohne angeschlossene Steuerung) Dann die neue Steuerung anschließen und per INIT einbinden.

      Gruß Hannes

      Antworten
  34. Axel sagte:

    Hallo,
    vielen Dank für den super Artikel.
    da ich ESPHome schon kenne und einige Sensoren zuhause verwende wollte ich die Truma Steuerung mal ausprobieren.
    Allerdings kann bekomme ich Fehler beim Erstellen der ESP firmware.
    Ich verwende das oben dargestellte Yaml „Geändert 2.12.2025“.
    Es gibt Fehler beim kompilieren des „LinBusListener“ …..
    src/esphome/components/truma_inetbox/LinBusListener_esp32_arduino.cpp: In member function ‚void esphome::truma_inetbox::LinBusListener::setup_framework()‘:
    src/esphome/components/truma_inetbox/LinBusListener_esp32_arduino.cpp:8:28: error: ‚IDFUARTComponent‘ in namespace ‚esphome::uart‘ does not name a type
    #define ESPHOME_UART uart::IDFUARTComponent ……
    Habe schon einige ESP versionen aus 2024 und 2025 ausprobiert. Leider gibt es immer diesen Fehler!
    Mit welcher Version ESPHome Version sollte die Komponente „skrebber/esphome-truma_inetbox“ funktionieren?

    Vielen Dank und beste Grüße,
    Axel

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe eine Antwort zu AlexAntwort abbrechen