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.
What it delivers
Unlike the Mopeka, the LevelControl does the maths itself. Finished values arrive at your end:
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
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:.
- 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 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:
- 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"
- The level shows a percentage
- Remaining amount and days left are populated
- The limit sensor reads OK while there is enough gas