-
Open Truma cover
Locate the cover over the Truma heater (marked with arrow and "open" label) and remove it.
-
Connect RJ11 plug
Insert the CampMatic RJ11 plug into the right free socket on the Truma heater.
-
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. -
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.
-
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.
-
CampMatic Box
This is the CampMatic box — compact, pre-wired and ready to install.
-
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.
-
Remove seat cushion
The seat cushion is attached with hook-and-loop tape. Simply lift it off — no tools needed.
-
Unscrew wooden panel
After removing the cushion, the screws of the wooden panel become visible. Remove all screws and lift the panel.
-
Open Truma cover
Locate the cover over the Truma heater (marked with arrow and "open" label) and remove it.
-
Connect RJ11 plug
Insert the CampMatic RJ11 plug into the right free socket on the Truma heater.
-
Unscrew control panel (CP Plus)
The Truma CP Plus control panel is secured with 3 screws. Remove all screws and carefully flip the panel.
-
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.
-
Reattach control panel
Reattach the control panel with the 3 screws. Then wait 3 minutes for the CampMatic box to start up.
-
Perform reset
In the Truma control panel menu, navigate to Reset → PR SET and start the reset.
-
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.
-
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.
-
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.
-
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. -
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.
-
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.
-
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? -
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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. -
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 -
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 -
Configure the bridge
Create
config/mosquitto.confnext to the password file. Replace every<placeholder>with the matching value from the Status page. Thebridge_capath /etc/ssl/certsoption uses the container's system CA store — no CA file to manage, hostname verification stays on. Thetopicline mirrors every topic under your prefix in both directions. Thendocker 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>/ -
Verify the bridge
The logs should show "Connecting bridge" with no TLS errors. On
Connection refused: re-copy username/password from the Status page. Oncertificate verify failed: the container's system CA store is missing — update the image, or mount/etc/ssl/certs/ca-certificates.crtfrom the host.docker logs --tail 20 mqtt5 | grep -iE 'bridge|tls|connect' -
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. -
Multiple devices through one bridge
Add one more
connectionblock per device inmosquitto.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/
-
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. -
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. -
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.
-
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: -
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 -
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 -
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 -
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.