ESPHome component to remote control Truma CP Plus Heater by simulating a Truma iNet box.
See 1 and 2 for great documentation about how to connect an CP Plus to an ESP32 or RP2040.
This project is based on the work of the WomoLIN project and mc0110 inetbox.py, especially the initial protocol decoding and the inet box log files.
This example is just for connecting ESPHome to the CP Plus. See truma.yaml for an example config with all possible things configured.
esphome:
name: "esphome-truma"
external_components:
- source: github://Fabian-Schmidt/esphome-truma_inetbox
components: ["truma_inetbox"]
esp32:
board: mhetesp32devkit
uart:
- id: lin_uart_bus
baud_rate: 9600
stop_bits: 2
truma_inetbox:
uart_id: lin_uart_bus
binary_sensor:
- platform: truma_inetbox
name: "CP Plus alive"
type: CP_PLUS_CONNECTED
sensor:
- platform: truma_inetbox
name: "Current Room Temperature"
type: CURRENT_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Current Water Temperature"
type: CURRENT_WATER_TEMPERATURE
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
- platform: truma_inetbox
name: "Target Water Temperature"
type: TARGET_WATER_TEMPERATURE
This project contains the following ESPHome components:
truma_inetbox
has the following settings:
cs_pin
(optional) if you connect the pin of your lin driver chip.fault_pin
(optional) if you connect the pin of your lin driver chip.on_heater_message
(optional) ESPHome Trigger when a message from CP Plus is recieved.Requires ESP Home 2023.4 or higher.
Binary sensors are read-only.
binary_sensor:
- platform: truma_inetbox
name: "CP Plus alive"
type: CP_PLUS_CONNECTED
The following type
values are available:
CP_PLUS_CONNECTED
HEATER_ROOM
HEATER_WATER
HEATER_GAS
HEATER_DIESEL
HEATER_MIX_1
HEATER_MIX_2
HEATER_ELECTRICITY
HEATER_HAS_ERROR
TIMER_ACTIVE
TIMER_ROOM
TIMER_WATER
Climate components support read and write.
climate:
- platform: truma_inetbox
name: "Truma Room"
type: ROOM
- platform: truma_inetbox
name: "Truma Water"
type: WATER
The following type
values are available:
ROOM
WATER
Number components support read and write.
number:
- platform: truma_inetbox
name: "Target Room Temperature"
type: TARGET_ROOM_TEMPERATURE
The following type
values are available:
TARGET_ROOM_TEMPERATURE
TARGET_WATER_TEMPERATURE
ELECTRIC_POWER_LEVEL
AIRCON_MANUAL_TEMPERATURE
Select components support read and write.
select:
- platform: truma_inetbox
name: "Fan Mode"
type: HEATER_FAN_MODE_COMBI
The following type
values are available:
HEATER_FAN_MODE_COMBI
HEATER_FAN_MODE_VARIO_HEAT
HEATER_ENERGY_MIX_GAS
HEATER_ENERGY_MIX_DIESEL
Sensors are read-only.
sensor:
- platform: truma_inetbox
name: "Current Room Temperature"
type: CURRENT_ROOM_TEMPERATURE
The following type
values are available:
CURRENT_ROOM_TEMPERATURE
CURRENT_WATER_TEMPERATURE
TARGET_ROOM_TEMPERATURE
TARGET_WATER_TEMPERATURE
HEATING_MODE
ELECTRIC_POWER_LEVEL
ENERGY_MIX
OPERATING_STATUS
HEATER_ERROR_CODE
The following ESP Home actions are available:
truma_inetbox.heater.set_target_room_temperature
temperature
- Temperature between 5C and 30C. Below 5C will disable the Heater.heating_mode
- Optional set heating mode: "OFF"
, ECO
, HIGH
, BOOST
.truma_inetbox.heater.set_target_water_temperature
temperature
- Set water temp as number: 0
, 40
, 60
, 80
.truma_inetbox.heater.set_target_water_temperature_enum
temperature
- Set water temp as text: "OFF"
, ECO
, HIGH
, BOOST
.truma_inetbox.heater.set_electric_power_level
watt
- Set electricity level to 0
, 900
, 1800
.truma_inetbox.heater.set_energy_mix
energy_mix
- Set energy mix to: GAS
, MIX
, ELECTRICITY
.watt
- Optional: Set electricity level to 0
, 900
, 1800
truma_inetbox.aircon.manual.set_target_temperature
temperature
- Temperature between 16C and 31C. Below 16C will disable the Aircon.truma_inetbox.timer.disable
- Disable the timer configuration.truma_inetbox.timer.activate
- Set a new timer configuration.
start
- Start time.stop
- Stop time.room_temperature
- Temperature between 5C and 30C.heating_mode
- Optional: Set heating mode: "OFF"
, ECO
, HIGH
, BOOST
.water_temperature
- Optional: Set water temp as number: 0
, 40
, 60
, 80
.energy_mix
- Optional: Set energy mix to: GAS
, MIX
, ELECTRICITY
.watt
- Optional: Set electricity level to 0
, 900
, 1800
.truma_inetbox.clock.set
- Update CP Plus from ESP Home. You must have another clock source configured like Home Assistant Time, GPS or DS1307 RTC.