Kapitel 7

Heizung bedienen

Jetzt die Heizung selbst — Temperatur einstellen, ein- und ausschalten. Das ist einfacher als das Warmwasser, weil die Heizung einen ganz normalen Temperaturbereich hat. Eine Regel musst du dabei einhalten, sonst kommt etwas anderes heraus als gedacht.

10 Minuten Zuletzt geprüft: 22.09.2026 DE EN

Vorher prüfen

Steht deine Bridge auf „beidseitig"?
In Kapitel 4 gab es die Möglichkeit, in der Bridge-Datei both durch in zu ersetzen — dann fließen Werte nur zu dir hin und Home Assistant kann nichts schalten. Wer das gemacht hat, muss es jetzt zurückändern:

topic # both 0 campmatic/<GERAETE_ID>/ campmatic/<GERAETE_ID>/

Danach das Mosquitto-Programm neu starten. Ohne das bleibt in diesem Kapitel alles wirkungslos — ohne jede Fehlermeldung.

Die wichtigste Regel

Deine Box kann nicht jederzeit mit der Truma sprechen. Sie sammelt Befehle und gibt sie weiter, sobald das Bedienteil danach fragt. Das dauert einen Moment — und in dieser Zeit landen alle Befehle im selben Paket.

Ein Befehl, dann warten
Schick nie zwei Befehle direkt hintereinander. Der zweite überschreibt den ersten, und je nach Kombination kommt etwas völlig anderes heraus als beabsichtigt.

Warte nach jedem Befehl, bis sich der Zustand in Home Assistant ändert — meist eine halbe Minute. Erst dann der nächste.

Praktisch heißt das: Zum Einschalten genügt die Temperatur. Deine Heizung geht dabei von selbst an, ein zusätzlicher Einschaltbefehl ist nicht nötig — und würde die eben gesetzte Temperatur wieder überschreiben.

Die Entitäten anlegen

Häng den ersten Block unter dein bestehendes mqtt: sensor:, die beiden anderen unter template:. Ersetze <GERAETE_ID> durch deine Gerätenummer.

/config/packages/campmatic.yaml — unter mqtt: sensor: yaml Herunterladen
    - name: "Heizung Betriebsart"
      unique_id: campmatic_<GERAETE_ID>_heiz_mode
      state_topic: "campmatic/<GERAETE_ID>/climate/truma_heizung/mode/state"
      entity_category: diagnostic
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"

Und unter template: — falls du den Abschnitt aus Kapitel 6 schon hast, kommen die beiden Einträge einfach dazu:

/config/packages/campmatic.yaml — unter template: yaml Herunterladen
template:
  - number:
      - name: "Heizung Zieltemperatur"
        unique_id: campmatic_<GERAETE_ID>_heiz_ziel
        unit_of_measurement: "°C"
        device_class: temperature
        icon: mdi:thermometer
        min: 5
        max: 30
        step: 1
        # Ist die Heizung aus, gibt es keinen Sollwert. Dann zeigt der Regler 5 —
        # das ist die niedrigste Stufe, die die Truma kennt.
        state: >-
          {% set s = states('sensor.heizung_sollwert') %}
          {{ 5 if s in ['unknown', 'unavailable'] else s }}
        set_value:
          # EIN Befehl. Die Temperatur schaltet die Heizung selbst ein.
          - action: mqtt.publish
            data:
              topic: "campmatic/<GERAETE_ID>/climate/truma_heizung/target_temperature/command"
              payload: "{{ value | int }}"

  - switch:
      - name: "Heizung"
        unique_id: campmatic_<GERAETE_ID>_heiz_schalter
        icon: mdi:radiator
        state: "{{ states('sensor.heizung_betriebsart') == 'heat' }}"
        availability: >-
          {{ states('sensor.heizung_betriebsart') not in ['unavailable', 'unknown'] }}
        turn_on:
          # Schaltet mit der Temperatur ein, die am Regler steht.
          - action: mqtt.publish
            data:
              topic: "campmatic/<GERAETE_ID>/climate/truma_heizung/target_temperature/command"
              payload: "{{ states('number.heizung_zieltemperatur') | int(20) }}"
        turn_off:
          - action: mqtt.publish
            data:
              topic: "campmatic/<GERAETE_ID>/climate/truma_heizung/mode/command"
              payload: "off"
Bild 7.1So sieht es danach im Dashboard aus: der Schalter für ein und aus, darunter der Regler für die Zieltemperatur. Die Heizstufe und der Energiemix kommen von allein dazu.
Warum der Regler bei 5 °C anfängt
Die Truma kennt für den Wohnraum 5 bis 30 °C. Alles darunter bedeutet „aus" — es gibt also kein 3 °C. Würdest du trotzdem eine 3 senden, schaltet die Heizung ab, die Karte zeigt aber für einen Moment noch „heizt auf 3 °C". Deshalb beginnt der Regler bei 5, und zum Ausschalten gibt es den Schalter daneben.

Danach Konfiguration prüfen und Home Assistant neu starten.

Heizstufe

Neben der Temperatur gibt es die Heizstufe. Sie bestimmt, wie kräftig die Truma arbeitet, um die eingestellte Temperatur zu erreichen. Dafür musst du nichts anlegen — die Auswahl kommt von allein und heißt select.<ENTITY>_truma_luftermodus.

Sie heißt „Lüftermodus", ist aber keiner
Der Name führt in die Irre: Es geht nicht um ein Gebläse, sondern um die Heizstufe. Bei den meisten Geräten stehen dort Off, Eco, High und Boost zur Wahl.
Achtung: Die Auswahl schaltet die Heizung
Wählst du eine Stufe, während die Heizung aus ist, geht sie an — mit 5 °C, der niedrigsten Stufe. Umgekehrt schaltet Off die Heizung komplett aus, nicht nur das Gebläse.

Auch hier gilt die Regel von oben: nicht Temperatur und Heizstufe direkt hintereinander senden. Sonst überschreibt die Stufenwahl deine Temperatur mit 5 °C.

Hat es geklappt?

Ein Befehl kann folgenlos verpuffen — etwa wenn das Truma-Bedienteil gerade nicht antwortet. Home Assistant merkt davon nichts und zeigt den neuen Wert trotzdem an. Verlass dich deshalb nicht auf die Anzeige des Reglers.

Diese Entitäten zeigen den echten Zustand text
sensor.<ENTITY>_truma_betriebsstatus    was die Heizung gerade tut
sensor.<ENTITY>_truma_fehlercode        0 = alles in Ordnung
binary_sensor.<ENTITY>_truma_heizung_aktiv   läuft gerade
binary_sensor.<ENTITY>_truma_cp_plus_alive   Bedienteil antwortet
Wichtig für Automationen
Wenn du eine Frostschutz-Automation baust, prüfe den Betriebsstatus und nicht nur, ob der Schalter auf „ein" steht. Sonst hältst du ein Fahrzeug für beheizt, während der Befehl in Wirklichkeit nie angekommen ist.
Die CampMatic-App schaltet weiter mit
App und Home Assistant sprechen beide mit derselben Heizung. Es gibt keine Rangfolge — der letzte Befehl gewinnt. Wenn du in Home Assistant automatisierst, denk an zweierlei: Zeitpläne in der App und der eingebaute Timer am Bedienteil schalten unabhängig weiter. Und die CampMatic-App benachrichtigt dich bei jedem Zustandswechsel — also auch dann, wenn deine eigene Automation geschaltet hat.
Bevor du weitergehst
  • Die Bridge steht auf both und das Programm wurde neu gestartet
  • number.heizung_zieltemperatur und switch.heizung sind da
  • Du weißt, dass zwischen zwei Befehlen eine Pause gehört