Eurom E-convect WiFi

Thx a lot! Works like a charm!!

@bobkersten when you add: active_state_datapoint: 1
at the climate part like this:

climate:
  - platform: tuya
    name: "Eurom Alutherm Baseboard Heater"
    id: raw_climate
    switch_datapoint: 1
    target_temperature_datapoint: 2
    current_temperature_datapoint: 3
    visual:
      min_temperature: 18
      max_temperature: 30
      temperature_step: 1
    active_state_datapoint: 1

it returns de hvac_action status heating to HA.

Hi Leond,

Do you think the eurom alutherm will also work with your esphome code? I have 2 of these units, and the tuya integration is not working properly. And since I prefer esphome over tasmota, I hope your code for the sani-wall-heat wil also work for the alutherm.

@Bartjebart the esphome code works likes a charm at my alutherm

Hi Leond,
I’m pretty interested in your code for the Sani Wall Heat. Flashed mine a long time ago and didn’t get it to work properly since then.
If you like to share your code, that’d be awesome! :smiley:

I have made a first version that I am currently testing.

I made a dedicated post

I own a Eurom Alutherm too, I’d like to flash this with ESPHome as well but I’m afraid my firmware is too new for tuya-convert. Is there a way to figure that out without setting up a linux host for tuya convert?

1 Like

For what’s it worth for others, my original firmware was too new for Tuya convert. Today I wired the esp chip and flashed it via Tasmota to Esphome. With the code of @bobkersten it works so far, finetuning to be done.

@rsonke dont forget to add this to your config.

Yes I did, read this whole topic multiple times :slight_smile:

Just successfully flashed my Eurom 2000 wall heater.
First flashed to tasmota and then ESPHOME. (Using the config from @bobkersten )

I can confirm all functions are working as expected. Also local keypad on heater is showing correct info and all buttons and functions are still working.

Hi! I use the above configuration, the parameters displayed on the HA need to be divided by 5 to be true to the reality on the LCD screen of the display device, so how can I get those parameters divided by 5 ?

[image]

1 Like

Hey Djes, dit you ever continue on this?
i followed Klarstein Bornholm Smart 2000W Heater (10034390) Configuration for Tasmota and have 3 buttons (only on/off works) and my temperature is divided by 10.
Would be nice if we can set temperature as well.

i didn’t have great experience with esphome (only use one device… and it doens’t work well. so it is to early to blame esphome for this) but i prefer to stay at tasmota.

Hi koos147,

My Alutherms are fully functional with tasmota and home assistant:

Tasmota configuration:


Backlog TuyaMCU 11,1; TuyaMCU 72,2; TuyaMCU 71,3; TuyaMCU 62,4; TuyaMCU 61,101; TuyaMCU 2,102; TuyaMCU 63,103;

Home assistant card:

image

Mqtt Climate config:

climate:
    - name: "HeaterBathroom1"
      modes: 
        - "off"
        - "heat"
        - "auto"
      mode_command_topic: "cmnd/Heater_1/TuyaEnum3"
      mode_command_template: "{{'0' if value == 'off' else '1' if value == 'heat' else '2' if value == 'auto'}}"
      mode_state_topic: "stat/Heater_1/mode"
      mode_state_template: "{{'off' if value == 'off' else 'heat' if value == 'heat1' else 'auto' if value == 'auto1'}}"
      current_temperature_topic: "tele/Heater_1/SENSOR"
      current_temperature_template: "{{value_json['TuyaSNS']['Temperature']}}"
      temperature_state_topic: "tele/Heater_1/SENSOR"
      temperature_state_template: "{{value_json['TuyaSNS']['TempSet']}}"
      min_temp: 16
      max_temp: 35
      precision: 1.0
      temperature_command_topic: "cmnd/Heater_1/TUYASEND2"
      temperature_command_template: "2,{{value|int}}"
      fan_modes:
          - "low"
          - "medium"
          - "high"
          - "off"
      fan_mode_state_topic: "stat/Heater_1/RESULT"
      fan_mode_state_template: "{{'off' if value_json.TuyaEnum1 == 3 else 'high' if value_json.TuyaEnum1 == 2 else 'medium' if value_json.TuyaEnum1 == 1 else 'low' if value_json.TuyaEnum1 == 0}}"
      fan_mode_command_topic: "cmnd/Heater_1/TuyaEnum1"
      fan_mode_command_template: "{{'3' if value == 'off' else '2' if value == 'high' else '1' if value == 'medium' else 0}}"
      availability_topic: tele/Heater_1/LWT
      payload_available: Online
      payload_not_available: Offline

And I made these rule in Tasmota:

Rule1 
on tuyaenum3#data==0 do TuyaSend1 1,0 endon
on tuyaenum3#data==1 do TuyaSend4 4,0 endon
on tuyaenum3#data==2 do TuyaSend4 4,1 endon
on tuyareceived#DpType1Id1==0 do publish stat/Heater_2/mode off endon
on tuyareceived#DpType1Id1==0 do VAR1 0 endon
on tuyareceived#DpType1Id1==1 do VAR1 1 endon
on tuyareceived#DpType4Id4==0 do publish stat/Heater_2/mode heat%VAR1% ENDON
on tuyareceived#DpType4Id4==1 do publish stat/Heater_2/mode auto%VAR1%  ENDON

tried this… but only got emty temperature values.
also i din’t have any fan in the device.
also tried

Backlog TuyaMCU 11,1; TuyaMCU 72,2; TuyaMCU 71,3; TuyaMCU 2,102; TuyaMCU 63,103;
but still no response. also the webinterface went instable.
after a lot of try an error i was able to restore the backup of my old config.

how did you find the correct numbers for your device?

As noted in my previous post, I used Tasmota-Tuya-Helper:

After you activate this tool, just control the heater with the HW buttons and you will see the values changes.

You have to use the lastest Tasmota firmware, there are new ids available for heaters.

Finaly found some time to continue.
got the result bellow. and after some changing the backlog:

Backlog TuyaMCU 11,1; TuyaMCU 72,2; TuyaMCU 71,3; TuyaMCU 62,4; TuyaMCU 61,101; TuyaMCU 2,102;
1 power on / off
2 temperature set
3 temperature sensor
4 mode (automatic or fixed power level) (0 automatic / 1 fixed)
12 unknown?
101 power leven (for fixed power level)
102 Eco mode (automatic & 16 degrees celcius)
everything works fine.

now got the result bellow. Button 1 and 2 are working. (need to check how to change the button name… but that shouldn’t be an issue)
button 3 isn’t working
temperature is divided by 10
temperature set is read only.

also noticed that keeping the tuya helper open for to long will crash the module. but that isn’t a problem since i already have the settings.

Tried all kind of things. but simpy don’t understand this.
Copy/past most of your settings without fully understanding what they do.
i ended up with:

Rule1 
on tuyaenum3#data==0 do TuyaSend1 1,0 endon
on tuyaenum3#data==1 do TuyaSend4 4,0 endon
on tuyaenum3#data==2 do TuyaSend4 4,1 endon
on tuyareceived#DpType1Id1==0 do publish /ZB/ZB-Kachel01/mode off endon
on tuyareceived#DpType1Id1==0 do VAR1 0 endon
on tuyareceived#DpType1Id1==1 do VAR1 1 endon
on tuyareceived#DpType4Id4==0 do publish /ZB/ZB-Kachel01/mode heat%VAR1% ENDON
on tuyareceived#DpType4Id4==1 do publish /ZB/ZB-Kachel01/mode auto%VAR1%  ENDON

and

    - name: "Kachel"
      modes: 
        - "off"
        - "heat"
        - "auto"
      mode_command_topic: "/ZB/ZB-Kachel01/cmnd/TuyaEnum3"
      mode_command_template: "{{'0' if value == 'off' else '1' if value == 'heat' else '2' if value == 'auto'}}"
      mode_state_topic: "/ZB/ZB-Kachel01/mode"
      mode_state_template: "{{'off' if value == 'off' else 'heat' if value == 'heat1' else 'auto' if value == 'auto1'}}"
      current_temperature_topic: "/ZB/ZB-Kachel01/SENSOR"
      current_temperature_template: "{{value_json['TuyaSNS']['Temperature']}}"
      temperature_state_topic: "/ZB/ZB-Kachel01/SENSOR"
      temperature_state_template: "{{value_json['TuyaSNS']['TempSet']}}"
      min_temp: 16
      max_temp: 35
      precision: 1.0
      temperature_command_topic: "/ZB/ZB-Kachel01/cmnd/TUYASEND2"
      temperature_command_template: "2,{{value|int}}"
      fan_modes:
          - "low"
          - "medium"
          - "high"
          - "off"
      fan_mode_state_topic: "/ZB/ZB-Kachel01/RESULT"
      fan_mode_state_template: "{{'off' if value_json.TuyaEnum1 == 3 else 'high' if value_json.TuyaEnum1 == 2 else 'medium' if value_json.TuyaEnum1 == 1 else 'low' if value_json.TuyaEnum1 == 0}}"
      fan_mode_command_topic: "/ZB/ZB-Kachel01/cmnd/TuyaEnum1"
      fan_mode_command_template: "{{'3' if value == 'off' else '2' if value == 'high' else '1' if value == 'medium' else 0}}"
      availability_topic: /ZB/ZB-Kachel01/LWT
      payload_available: Online
      payload_not_available: Offline

I don’t have a fan in my heater. but 3 heating modes. (so low medium high is fine)
on the dashboard it shows the state however i am not able to change anything.
has-kachel1
has-kachel2

Also the current mesured temperature is 15, Tasmota makes it 1.5 and has round it up to 2.
this is not important since i have a better working temperature sensor in the room. however it could be part of the problem.

The only thing i really miss is the “fan mode”
on/off is already working by the Tasmota POWER1 command wich is fine. however i need to walk over to change it from 600 to 1200 watt. (or the max 2000)

I spoke to somebody at Eurom and they told me that when there are more people who asks for integrations by API/Tuya they possibly will make this in the future. From now they are not getting that much questions about it. I just suggest fill in their form on the website to ask them to create it. Hopefully they will in the (near) future :slight_smile:

1 Like

I have a Eurom Mon Soleil 600 WiFi and got this working in ESPHome. For anyone that might be interested:

  • I was unable to use TuyaConvert, so I had to connect a USB to serial converter to the Tuya TYJW2 module. Soldered a 6-pin header on the PCB.
  • I made a backup with esptool first using:

esptool.py -b 115200 --port /dev/ttyUSB0 read_flash 0x000000 0x200000 eurom_original_2M.bin

My ESPHome YAML looks like this:

substitutions:
  devicename: eurom-heater-1
  device_description: "Eurom Heater Mon Soleil 600"

esphome:
  name: ${devicename}
  platform: ESP8266
  board: esp01_1m
 
network:
    enable_ipv6: true
    min_ipv6_addr_count: 2

logger:

api:
ota:
  platform: esphome

wifi:
  ssid: your_ssid
  password: your_wifi_pass

captive_portal:

time:
  - platform: homeassistant
    id: homeassistant_time

tuya:
  time_id: homeassistant_time

uart:
  rx_pin: GPIO13
  tx_pin: GPIO15
  baud_rate: 9600

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
      disabled_by_default: true
    ssid:
      name: "Wi-Fi SSID"
      disabled_by_default: true
  - platform: version
    name: "ESPHome Version"
    disabled_by_default: true
    hide_timestamp: true

climate:
  - platform: tuya
    name: "Mon Soleil 600"
    switch_datapoint: 1
    target_temperature_datapoint: 2
    current_temperature_datapoint: 3
    supports_heat: true
    visual:
      temperature_step: 1
      min_temperature: 0
      max_temperature: 37

switch:
  - platform: "tuya"
    name: "Power"
    switch_datapoint: 1

That’s all!