Back to home

Help & Guides

Everything you need to install, set up and get started with CampMatic.

  1. Open Truma cover

    Locate the cover over the Truma heater (marked with arrow and "open" label) and remove it.

  2. Connect RJ11 plug

    Insert the CampMatic RJ11 plug into the right free socket on the Truma heater.

  3. Connect 12V power supply

    The CampMatic box only needs a 12V power supply. There are two options:

    Option A — Via CP Plus (JST-PH plug):
    On the back of the Truma CP Plus control panel, disconnect the red 12V power plug. Insert it into the female JST-PH connector of the CampMatic box, then plug the male JST-PH connector into the control panel. This only uses the 12V supply voltage — no data connection.

    Option B — Via 12V cable (red/black):
    Connect the included red/black cable to any 12V power source in your camper. This option is ideal when there is no access to the CP Plus.

  4. Perform reset

    Wait 3 minutes for the CampMatic box to start up. Then in the Truma control panel menu, navigate to Reset → PR SET and start the reset.

  5. Verify CampMatic detection

    After the reset, check the Index menu for a new (third) entry. It must show T23.000 — then the CampMatic box is detected and ready. If not, perform the reset again.

  1. CampMatic Box

    This is the CampMatic box — compact, pre-wired and ready to install.

  2. Locate the bench seat

    The bench seat in the VW Grand California, under which the service compartment is located. This is where the CampMatic box will be installed.

  3. Remove seat cushion

    The seat cushion is attached with hook-and-loop tape. Simply lift it off — no tools needed.

  4. Unscrew wooden panel

    After removing the cushion, the screws of the wooden panel become visible. Remove all screws and lift the panel.

  5. Open Truma cover

    Locate the cover over the Truma heater (marked with arrow and "open" label) and remove it.

  6. Connect RJ11 plug

    Insert the CampMatic RJ11 plug into the right free socket on the Truma heater.

  7. Unscrew control panel (CP Plus)

    The Truma CP Plus control panel is secured with 3 screws. Remove all screws and carefully flip the panel.

  8. Connect CampMatic box

    On the back of the control panel, disconnect the red 12V power plug. Insert it into the female JST-PH connector of the CampMatic box. Then plug the male JST-PH connector of the box into the Truma control panel. The CampMatic box is essentially connected in-line with the existing power supply.

  9. Reattach control panel

    Reattach the control panel with the 3 screws. Then wait 3 minutes for the CampMatic box to start up.

  10. Perform reset

    In the Truma control panel menu, navigate to Reset → PR SET and start the reset.

  11. Verify CampMatic detection

    After the reset, check the Index menu for a new (third) entry. It must show T23.000 — then the CampMatic box is detected and ready. If not, perform the reset again.

  1. Power on CampMatic Box & wait

    Connect the CampMatic box to power and wait approx. 3 minutes until the device has fully booted and the access point is ready.

  2. Connect to CampMatic Access Point

    Connect your smartphone or laptop to the CampMatic WiFi network. The password is on the sticker on the CampMatic box or in the CampMatic app on the status page.

  3. Open configuration page

    Once your device is connected to the CampMatic network, open http://192.168.4.1/ in your browser. You will be asked to log in — username: admin, password: found on the sticker on the box or in the CampMatic app on the status page.

    Important: If after login you see the normal control panel instead of the WiFi selection, open http://192.168.4.1/captiveportal directly — this will show the WiFi selection.

  4. Connect to WiFi network

    Select your WiFi network and enter the password. The CampMatic box will connect and display the local Truma control panel once connected successfully.

  5. Change WiFi later

    If you want to change the WiFi network later: The CampMatic box automatically opens its own access point when the configured network is unavailable. Reconnect to the CampMatic network and open http://192.168.4.1/captiveportal to configure a new WiFi network.

  1. Prepare SIM card

    Before the 4G CampMatic box can be used, a SIM card must be inserted.

    Important: The SIM card must not have a PIN lock. Otherwise the box cannot register on the mobile network. How do I disable the PIN lock?

  2. Open the box while powered off

    Disconnect the CampMatic box from power before opening. Open the case carefully: the GSM antenna is mounted on the lid and connected to the board by a cable. Lift the lid slowly and without pulling on the antenna cable.

  3. Open the SIM slot

    The SIM card holder is located on the board. Slide the metal lock in the direction of the arrow (see image) to unlock the holder, then carefully flip it up.

  4. Insert SIM & close the box

    Insert the SIM card with the contacts facing down (watch the beveled corner). Close the holder and slide the lock against the arrow direction until it clicks. Carefully reattach the lid — do not pinch the antenna cable — and screw the case shut.

  5. Power on CampMatic Box & wait

    Reconnect the box to power and wait approx. 3 minutes until the device has booted up and registered on the mobile network.

  6. Connect to CampMatic Access Point

    On 4G devices the access point is always active — no WiFi configuration is required. Connect your smartphone or laptop to the CampMatic WiFi network. The password is on the sticker on the CampMatic box or in the CampMatic app on the status page.

  7. Open local control panel

    Open http://192.168.4.1/ in your browser. Log in with username admin and the password from the sticker or CampMatic app. The Truma control panel is shown locally — the 4G box talks to the CampMatic cloud directly over cellular, independent of any local WiFi.

  1. Open registration page

    Go to campmatic.de/app/register.php and fill out the registration form. The PIN for registration is on the sticker on your CampMatic box.

  2. Verify email address

    After registration, a confirmation email will be sent to the email address you provided. Click the link in the email to activate your account. Check your spam folder if needed.

  3. Log in and start heating

    After verification, log in at campmatic.de/app and start controlling your heater.

Your CampMatic device publishes its sensors and controls over MQTT. So Home Assistant can find all entities via auto-discovery, you need an MQTT connection to the CampMatic broker — either through a local Mosquitto bridge (recommended, resilient to WAN drops and works for multiple devices) or directly from Home Assistant.

  1. Get credentials from the Status page

    Log in at campmatic.de/app and open the Status page. The "MQTT Bridge (Home Assistant)" card shows: host (always campmatic.de), port (8883, TLS), username (e.g. campmatic_003), password (eye icon reveals), and topic prefix (e.g. campmatic/003). These values replace every <placeholder> below.

  2. Start Mosquitto

    Home Assistant OS / Supervised: Settings → Add-ons → Add-on Store → install Mosquitto broker (official), start it, and set a HA-side user/password in the add-on config. Docker / Compose (e.g. Synology, Pi, NUC):

    # docker-compose.yml
    services:
      mqtt:
        image: eclipse-mosquitto:latest
        container_name: mqtt5
        restart: unless-stopped
        ports:
          - "1883:1883"
        volumes:
          - ./config:/mosquitto/config
          - ./data:/mosquitto/data
          - ./log:/mosquitto/log
  3. Create local password

    Create a HA-side user in the local broker. This password has nothing to do with the CampMatic password — it only protects the local link between HA and Mosquitto.

    docker exec -it mqtt5 mosquitto_passwd -c /mosquitto/config/pwfile homeassistant
    # enter a HA-side password
  4. Configure the bridge

    Create config/mosquitto.conf next to the password file. Replace every <placeholder> with the matching value from the Status page. The bridge_capath /etc/ssl/certs option uses the container's system CA store — no CA file to manage, hostname verification stays on. The topic line mirrors every topic under your prefix in both directions. Then docker restart mqtt5.

    # Local listener — only HA talks to this
    allow_anonymous false
    listener 1883
    password_file /mosquitto/config/pwfile
    
    persistence true
    persistence_file mosquitto.db
    persistence_location /mosquitto/data/
    
    # --- Bridge to CampMatic ---
    connection campmatic-<NNN>
    address campmatic.de:8883
    bridge_capath /etc/ssl/certs
    remote_username <mqtt_user>
    remote_password <mqtt_pass>
    topic # both 0 <prefix>/ <prefix>/
  5. Verify the bridge

    The logs should show "Connecting bridge" with no TLS errors. On Connection refused: re-copy username/password from the Status page. On certificate verify failed: the container's system CA store is missing — update the image, or mount /etc/ssl/certs/ca-certificates.crt from the host.

    docker logs --tail 20 mqtt5 | grep -iE 'bridge|tls|connect'
  6. Connect Home Assistant to the local broker

    In HA: Settings → Devices & Services → Add Integration → MQTT. Broker: hostname/IP of the Mosquitto container (e.g. mqtt5). Port: 1883. Username/password: the local HA user from step 3. SSL off. After saving, CampMatic entities appear automatically via MQTT discovery.

  7. Multiple devices through one bridge

    Add one more connection block per device in mosquitto.conf — all run through the same local broker, HA stays connected with a single MQTT integration.

    connection campmatic-003
    address campmatic.de:8883
    bridge_capath /etc/ssl/certs
    remote_username campmatic_003
    remote_password <pw_003>
    topic # both 0 campmatic/003/ campmatic/003/
    
    connection campmatic-004
    address campmatic.de:8883
    bridge_capath /etc/ssl/certs
    remote_username campmatic_004
    remote_password <pw_004>
    topic # both 0 campmatic/004/ campmatic/004/
  1. Get credentials from the Status page

    Log in at campmatic.de/app and open the Status page. The "MQTT Bridge (Home Assistant)" card shows: host (always campmatic.de), port (8883, TLS), username (e.g. campmatic_003), password (eye icon reveals), and topic prefix (e.g. campmatic/003). These values replace every <placeholder> below.

  2. Set up the MQTT integration in Home Assistant

    Settings → Devices & Services → Add Integration → MQTT. Broker: campmatic.de, port: 8883, username/password from the Status page, SSL/TLS on, certificate validation "Auto" (system trust store). No CA file upload — the broker uses a public TLS certificate that HA trusts out of the box.

  3. When to prefer the bridge over direct?

    Direct is fine for one single device on a HA instance with stable internet. For multiple CampMatic devices or frequent WAN dropouts, the local bridge (see the "Bridge" tab) is the only practical option — HA entities stay available even when the cloud link is briefly down.

  1. Check auto-discovery

    After successful MQTT setup, entities appear automatically under names like climate.grand_california_<NNN>_truma_heizung. A finished Lovelace dashboard can look like this — climate card on top, stats chips in the middle, 24-hour graph below, plus water control, energy mix and a status board:

  2. Room heater — climate card with chips and 24 h graph

    The polished variant: control card on top, chip row of live status values, 24-hour temperature trend at the bottom. Requires the HACS cards Mushroom, stack-in-card and mini-graph-card. Replace <NNN> with your device number.

    type: custom:stack-in-card
    mode: vertical
    keep:
      background: false
      border_radius: true
    cards:
      - type: custom:mushroom-climate-card
        entity: climate.grand_california_<NNN>_truma_heizung_2
        name: Raumheizung
        show_temperature_control: true
        hvac_modes:
          - "off"
          - heat
        collapsible_controls: false
        fill_container: true
    
      - type: custom:mushroom-chips-card
        alignment: center
        chips:
          - type: template
            icon: mdi:fire
            content: "{{ states('sensor.grand_california_<NNN>_truma_heizmodus_2') }}"
            icon_color: >-
              {% if is_state('binary_sensor.grand_california_<NNN>_truma_heizung_aktiv_2','on') %}
              orange{% else %}disabled{% endif %}
          - type: template
            icon: mdi:thermometer-check
            content: "{{ states('sensor.grand_california_<NNN>_truma_soll_raumtemperatur_2') | round(0) }} °C"
            icon_color: amber
          - type: template
            icon: mdi:lightning-bolt
            content: "{{ states('sensor.grand_california_<NNN>_truma_elektrische_leistung_2') }} W"
            icon_color: >-
              {% if is_state('binary_sensor.grand_california_<NNN>_truma_elektro_aktiv_2','on') %}
              yellow{% else %}disabled{% endif %}
          - type: template
            icon: mdi:fuel
            content: "{{ states('sensor.grand_california_<NNN>_truma_energiemix_status_2') }}"
            icon_color: >-
              {% if is_state('binary_sensor.grand_california_<NNN>_truma_diesel_aktiv_2','on') %}
              deep-orange{% else %}disabled{% endif %}
          - type: template
            icon: mdi:check-network
            content: ""
            content_info: none
            icon_color: >-
              {% if is_state('binary_sensor.grand_california_<NNN>_truma_cp_plus_alive_2','on') %}
              green{% else %}red{% endif %}
    
      - type: custom:mini-graph-card
        name: Temperaturverlauf (24 h)
        icon: mdi:thermometer-lines
        hours_to_show: 24
        points_per_hour: 4
        line_width: 3
        smoothing: true
        show:
          icon: true
          name: true
          labels: true
          extrema: true
          average: true
          fill: fade
          legend: true
          points: false
        entities:
          - entity: sensor.grand_california_<NNN>_truma_raumtemperatur_2
            name: Raum
            color: "#FF7A00"
          - entity: sensor.grand_california_<NNN>_truma_soll_raumtemperatur_2
            name: Soll
            color: "#FFC107"
            show_state: true
            y_axis: secondary
  3. Water heater — 3-button selector (Off / 40 °C / 60 °C)

    The Truma water heater only supports off / 40 / 60. Three chips replace the slider and highlight the active value:

    type: custom:mushroom-chips-card
    alignment: center
    chips:
      - type: template
        icon: mdi:water-off
        content: Aus
        icon_color: >-
          {% if state_attr('climate.grand_california_<NNN>_truma_wasser',
            'temperature') | float(99) == 0 %}red{% else %}disabled{% endif %}
        tap_action:
          action: call-service
          service: climate.set_temperature
          target:
            entity_id: climate.grand_california_<NNN>_truma_wasser
          data:
            temperature: 0
      - type: template
        icon: mdi:thermometer-low
        content: 40 °C
        icon_color: >-
          {% if state_attr('climate.grand_california_<NNN>_truma_wasser',
            'temperature') | float(0) == 40 %}orange{% else %}disabled{% endif %}
        tap_action:
          action: call-service
          service: climate.set_temperature
          target:
            entity_id: climate.grand_california_<NNN>_truma_wasser
          data:
            temperature: 40
      - type: template
        icon: mdi:thermometer-high
        content: 60 °C
        icon_color: >-
          {% if state_attr('climate.grand_california_<NNN>_truma_wasser',
            'temperature') | float(0) == 60 %}red{% else %}disabled{% endif %}
        tap_action:
          action: call-service
          service: climate.set_temperature
          target:
            entity_id: climate.grand_california_<NNN>_truma_wasser
          data:
            temperature: 60
  4. Energy mix selector

    A compact card for the Gas / Electric / Mix selector:

    type: custom:mushroom-entity-card
    entity: select.grand_california_<NNN>_truma_energiemix
    name: Energiemix
    icon: mdi:fuel
    icon_color: deep-orange
    fill_container: true
  5. Hiding entities

    Hide just in one dashboard: omit the card. Hide everywhere in HA: Settings → Devices & Services → MQTT → device → entity → gear icon → "Disable entity". The entity is not deleted on the device side, only hidden in HA.

Have questions or need help? We're happy to help.