Chapter 11

Truma LevelControl

The easiest sensor last: the Truma LevelControl delivers the level ready-made in percent, plus the remaining amount in grams and even an estimated range. Nothing to calculate, nothing to calibrate.

5 minutes Last verified: 22.09.2026 DE EN

What it delivers

Unlike the Mopeka, the LevelControl does the maths itself. Finished values arrive at your end:

The LevelControl topics text
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/gas_percent      level in percent
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/gas_gram         remaining amount in grams
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/remaining_days   estimated days left
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/temperature      degrees Celsius
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/battery          sensor battery in percent
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/quality          measurement quality 0–3
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/bottle_type      bottle type as a number
campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/limit_flag       limit reached, 0 or 1
Mind the slot number
The LevelControl uses the same word bottle as the Mopeka — just under truma instead of mopeka. Do not mix the two up, and use the slot number you noted for the LevelControl in the chapter Finding your sensors.

Creating the sensors

Again under the existing mqtt: sensor:. The limit flag comes as a binary_sensor and therefore needs its own section — create that once, at the same level as sensor:.

/config/packages/campmatic.yaml yaml Download
    - name: "Gas Bottle 2 Level"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_percent
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/gas_percent"
      unit_of_measurement: "%"
      state_class: measurement
      icon: mdi:propane-tank
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"

    - name: "Gas Bottle 2 Remaining"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_gram
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/gas_gram"
      unit_of_measurement: "g"
      device_class: weight
      state_class: measurement
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"

    - name: "Gas Bottle 2 Days Left"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_days
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/remaining_days"
      unit_of_measurement: "d"
      state_class: measurement
      icon: mdi:calendar-clock
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"

    - name: "Gas Bottle 2 Sensor Battery"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_batt
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/battery"
      unit_of_measurement: "%"
      device_class: battery
      state_class: measurement
      entity_category: diagnostic
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"

  # Separate section — same level as "sensor:"
  binary_sensor:
    - name: "Gas Bottle 2 Limit Reached"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_limit
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/limit_flag"
      payload_on: "1"
      payload_off: "0"
      device_class: problem
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"
The range is an estimate
The sensor extrapolates it from recent consumption. After a bottle change or a longer period of standing still it takes a few days before the figure means anything again.

The bottle type

The topic bottle_type returns a number from Truma's own bottle database. There is no plain-text name for it over MQTT — the mapping does not live in the sensor. The CampMatic app shows you the name; in Home Assistant it stays a number.

If you want it displayed anyway, add it as a diagnostic value:

Optional yaml
    - name: "Gas Bottle 2 Bottle Type"
      unique_id: campmatic_<GERAETE_ID>_trumalc_<SLOT_TRUMALC>_type
      state_topic: "campmatic/<GERAETE_ID>/truma/bottle_<SLOT_TRUMALC>/bottle_type"
      entity_category: diagnostic
      icon: mdi:database
      expire_after: 2700
      availability_topic: "campmatic/<GERAETE_ID>/status"
      payload_available: "online"
      payload_not_available: "offline"
Before you move on
  • The level shows a percentage
  • Remaining amount and days left are populated
  • The limit sensor reads OK while there is enough gas